From 6fd53367c0b10fdc6808c340a0d3f009565dd425 Mon Sep 17 00:00:00 2001 From: Joseph Manley Date: Sun, 17 May 2020 20:48:11 -0400 Subject: [PATCH] Animations & Movement tweaks --- ...a.png-d56c2c3c604fb12791bf7613004ed5a9.md5 | 4 +- ....png-d56c2c3c604fb12791bf7613004ed5a9.stex | Bin 515 -> 479 bytes ...s.png-c925ddf2663ae6921355b7554750d020.md5 | 3 + ....png-c925ddf2663ae6921355b7554750d020.stex | Bin 0 -> 588 bytes ...e.png-a30ccd4c80c467b85ddbf01116cb0b6a.md5 | 3 + ....png-a30ccd4c80c467b85ddbf01116cb0b6a.stex | Bin 0 -> 588 bytes client/Assets/Art/Characters/aura.aseprite | Bin 619 -> 621 bytes client/Assets/Art/Characters/aura.png | Bin 362 -> 326 bytes client/Assets/Art/Tiles/glass_tile.png | Bin 0 -> 1089 bytes client/Assets/Art/Tiles/glass_tile.png.import | 34 + client/Assets/Themes/default.tres | 12 +- client/Nodes/NPCs/Aura.tscn | 166 +- client/Nodes/NPCs/CEO.tscn | 100 +- client/Nodes/NPCs/Soldier.tscn | 105 + client/Nodes/NPCs/Thadd.tscn | 100 +- client/Nodes/NPCs/Worker.tscn | 114 + client/Nodes/Player.tscn | 2417 ++++++++++++----- client/Nodes/Tiles/tileset_science_lab.tres | 34 +- client/Nodes/Tiles/tileset_whole_tiles.tres | 686 ----- client/Scenes/Dev.tscn | 16 +- client/Scenes/World.scn | Bin 11226 -> 11228 bytes .../Scripts/Component/InteractableDialog.gd | 17 + client/Scripts/Entities/NPCs/Aura.gd | 5 +- client/Scripts/Entities/NPCs/CEO.gd | 3 + .../Scripts/Entities/NPCs/IntroScientist.gd | 3 + client/Scripts/Entities/Player.gd | 35 +- client/project.godot | 1 + 27 files changed, 2480 insertions(+), 1378 deletions(-) create mode 100644 client/.import/glass.png-c925ddf2663ae6921355b7554750d020.md5 create mode 100644 client/.import/glass.png-c925ddf2663ae6921355b7554750d020.stex create mode 100644 client/.import/glass_tile.png-a30ccd4c80c467b85ddbf01116cb0b6a.md5 create mode 100644 client/.import/glass_tile.png-a30ccd4c80c467b85ddbf01116cb0b6a.stex create mode 100644 client/Assets/Art/Tiles/glass_tile.png create mode 100644 client/Assets/Art/Tiles/glass_tile.png.import create mode 100644 client/Nodes/NPCs/Soldier.tscn create mode 100644 client/Nodes/NPCs/Worker.tscn delete mode 100644 client/Nodes/Tiles/tileset_whole_tiles.tres diff --git a/client/.import/aura.png-d56c2c3c604fb12791bf7613004ed5a9.md5 b/client/.import/aura.png-d56c2c3c604fb12791bf7613004ed5a9.md5 index 4e115c4..3f794e0 100644 --- a/client/.import/aura.png-d56c2c3c604fb12791bf7613004ed5a9.md5 +++ b/client/.import/aura.png-d56c2c3c604fb12791bf7613004ed5a9.md5 @@ -1,3 +1,3 @@ -source_md5="29f28fa741ffa711826400e7fea90a27" -dest_md5="2fe6ef3f4c5624748dc861a0b95a251b" +source_md5="3bfdad86a3348e10ad92dce7a0c7edfb" +dest_md5="b2215c68eec5e82ae3b199c3ebef6ca3" diff --git a/client/.import/aura.png-d56c2c3c604fb12791bf7613004ed5a9.stex b/client/.import/aura.png-d56c2c3c604fb12791bf7613004ed5a9.stex index b6817adf06c17acf884b0c1c8d339328baa000a8..86fe42de723cab488cd937442fd5bf27a373ae7a 100644 GIT binary patch delta 413 zcmV;O0b>4x1m6RY7y-kP890A=NklU0_deg>_xC%V zz!#Omh5v~Dpg(t};{N$^DL!t@{Dk!FMFb`?9|tJ!Wu^z^gH?^jCTD-uu2$X4{)QJi zk$SV^-OADHE$N*@3cIH>9jwP*w4#gfS_1%;>hV-SE!-|dQ1M0im`T7nzfw!#`9>K>f(PaRUDpF@TAcV`AkN;RN%~OGVgp zX84&2L^0uxH8f0GeqMi+Y}hYtW@4coGK^TgfJzH(0SqzL9tB_Ld0TEjL$ zywt5>BnAE=~;t(0$am?FnVT)iCl#11g_PrDUSlQX>@rPCgse06-vbdIiEQ z9wxqYUT45q_%A~D3jnxoG}Ka-_cEg1?1VnAl5KmrNc=YoDWMT5T1a7C00000NkvXX Hu0mjflmNr^ delta 449 zcmV;y0Y3iU1A_#R7y;*z890BPNkl(G%>gGtt3U!O<12r2+h%KGSOey;`ur;tmYls8iPZArZfw)*&yF()M90qY6$r3M zq(sSuwlEO!iKc1G&2}^j07y)St3Fh3bkI6G0RW<3>Re^9bPls#(;J%_)&Pm=5Pp1a z4w#jSP`%#h{47R~LHmL*@qT>OvMgz&$hZ&I8~l_MgEh2KEK)T;zOV;mft}#8F*~R>oWc~GgGCsy+_2~00000NkvXXu0mjf^>*D% diff --git a/client/.import/glass.png-c925ddf2663ae6921355b7554750d020.md5 b/client/.import/glass.png-c925ddf2663ae6921355b7554750d020.md5 new file mode 100644 index 0000000..61f64f5 --- /dev/null +++ b/client/.import/glass.png-c925ddf2663ae6921355b7554750d020.md5 @@ -0,0 +1,3 @@ +source_md5="130412d800df4b7c2fc9747a6a5805ef" +dest_md5="94ec308054667a107722b55e2203ebfc" + diff --git a/client/.import/glass.png-c925ddf2663ae6921355b7554750d020.stex b/client/.import/glass.png-c925ddf2663ae6921355b7554750d020.stex new file mode 100644 index 0000000000000000000000000000000000000000..af4022393d91c40ee1f37cd78d19921199662c8d GIT binary patch literal 588 zcmZ>F2@cu7z`zgy#1J6B&In`}FagE<+!Z>31TU8q7f^`T)59eQNQ0GgumM>+KmWf2 zq!^2X+?^QKos)S9WIywCaSW-L^Y*S|)?){Owu|o`BtK)i`BUT8S=ORGJDt;ooyC}s zt&$6``+QGL;7XBp4Tm6C<+`nQ>~qR>*VrDDcyC{C_`K!?%XHq^FG_0u+wA`T>Q~9} z7kj^bO5gwX25X6+!9^Ay6Gma*11`eYnFVJH|4-Qcx_r*!?7w|~r*rIBX2n-=x1?{~ z*SEZB~k4wyJT)BGRqOY4b{1Yhf{cce8 zU2fO<|E~m_GMLn6HFT;aEaIF2XD(&?v%J!Fzf0BugJS{)4};PaZHzwnYckfGtbaaz z7wes0eb;#}eV@PPv-ErZ^9M}XZp}WsH7s?(j@xhfE2 zJe)Uc`p$n>8WMXH6Amry39d?6QF-&VKj#gbg0rXN{^v^ZYVBIa*#GlIxzL^kmwsn* zXXn2@-d4PY)#O-({mwFO#_LRe+mq#fyzlFs^K`!eC>-^Q&%Lv?nd-jm|LdE!JDKr? gZtwNgX1|%%?eTS9RsQ8BF!~uhUHx3vIVCg!06UTUmjD0& literal 0 HcmV?d00001 diff --git a/client/.import/glass_tile.png-a30ccd4c80c467b85ddbf01116cb0b6a.md5 b/client/.import/glass_tile.png-a30ccd4c80c467b85ddbf01116cb0b6a.md5 new file mode 100644 index 0000000..61f64f5 --- /dev/null +++ b/client/.import/glass_tile.png-a30ccd4c80c467b85ddbf01116cb0b6a.md5 @@ -0,0 +1,3 @@ +source_md5="130412d800df4b7c2fc9747a6a5805ef" +dest_md5="94ec308054667a107722b55e2203ebfc" + diff --git a/client/.import/glass_tile.png-a30ccd4c80c467b85ddbf01116cb0b6a.stex b/client/.import/glass_tile.png-a30ccd4c80c467b85ddbf01116cb0b6a.stex new file mode 100644 index 0000000000000000000000000000000000000000..af4022393d91c40ee1f37cd78d19921199662c8d GIT binary patch literal 588 zcmZ>F2@cu7z`zgy#1J6B&In`}FagE<+!Z>31TU8q7f^`T)59eQNQ0GgumM>+KmWf2 zq!^2X+?^QKos)S9WIywCaSW-L^Y*S|)?){Owu|o`BtK)i`BUT8S=ORGJDt;ooyC}s zt&$6``+QGL;7XBp4Tm6C<+`nQ>~qR>*VrDDcyC{C_`K!?%XHq^FG_0u+wA`T>Q~9} z7kj^bO5gwX25X6+!9^Ay6Gma*11`eYnFVJH|4-Qcx_r*!?7w|~r*rIBX2n-=x1?{~ z*SEZB~k4wyJT)BGRqOY4b{1Yhf{cce8 zU2fO<|E~m_GMLn6HFT;aEaIF2XD(&?v%J!Fzf0BugJS{)4};PaZHzwnYckfGtbaaz z7wes0eb;#}eV@PPv-ErZ^9M}XZp}WsH7s?(j@xhfE2 zJe)Uc`p$n>8WMXH6Amry39d?6QF-&VKj#gbg0rXN{^v^ZYVBIa*#GlIxzL^kmwsn* zXXn2@-d4PY)#O-({mwFO#_LRe+mq#fyzlFs^K`!eC>-^Q&%Lv?nd-jm|LdE!JDKr? gZtwNgX1|%%?eTS9RsQ8BF!~uhUHx3vIVCg!06UTUmjD0& literal 0 HcmV?d00001 diff --git a/client/Assets/Art/Characters/aura.aseprite b/client/Assets/Art/Characters/aura.aseprite index c59ad5e6da79d295ceecbde2ce7b1953632967ca..d0f71ed329c6c72f21a310ca557c6327d5af73ea 100644 GIT binary patch delta 317 zcmaFO@|J}$cOqjwW5~qD1ND;`7#LU;7#LU>7#aRE0Xbm6&A`u4F()~}f%R&k?f=Jf zK0Tbl$X`)jajjlJ%}rOJ;c8Px(%IITz6WC1R_u&$+}JG_v(EmERE}K7F*SeRttYZN zLTAsM%KFW?qitpF_jj^wQ8Q+pIN`Cw!b6s4aXX`ru8(a8|7QN#QS~KudRuRN5n3(A z@o(|P0tN=Q!b!O^fo}Nqk&z({!W8}of1NAc)7#LU;fCK|0!+$0a4FbFj{0tRyk`oT_uXdygYDzQuLs_^nDbAUt6_-b@9^)jEBd;p`a9n`_UMWQ%oD04>eb!|b1<}WpRnEW zC{f`n!@+u!S&R(ZWhUiL0y^W@M@EJeAk7HGO+XBCC>x4H*`W??Xn3__-v2_sp9N}OYE1sm-REQ;%61v{o?O?{>^Nw*)J;CDOyVO>agnwA6IAJ tWN)m^t@G{OUF#h(XJQpBCs^<--Yu%aZ^Z5r?9C_Amtn%pFlSopYyi;)aC-m% diff --git a/client/Assets/Art/Characters/aura.png b/client/Assets/Art/Characters/aura.png index b369b9861e63a2b5e18f240d2a75bfe7198bad7f..6543ee7eaaf18ebadb8812e99eeba19b9ddd07b9 100644 GIT binary patch delta 286 zcmV+(0pb4Y0>%Q6F@FF_L_t(YiOrO)4#F@Lh0h2If#4x9B)q`D5T0R4%^W1FK}>?d zLtq9HKVR=@Z(HEUvQ!hM?t+e|W7ZDiK*{Lv zHPr(CsEPHwqZ3n$R~l&b#{hsZ4vY+_c%=cE>mx)-C(DEN9A%ormfgf*Sb&^YXIZufNKW4qZ{0O%e6(tr>`>%Xs} kr%QNq{a2!g`WK`81%5N0o?PR*t^fc407*qoM6N<$f)uTb9{>OV delta 322 zcmV-I0logl0_p;gF@GdUL_t(YiDO_GV8BR7L3Lcu|Hn@r!}*K$O(dv?6#Yzu3@A?J zW0=sWO^Tf)=_lv_A=@+t1_lO(Mf)a_}j&|HuNv=v5<=7lOfbtC7_bLFGU(lNiLuy4 zk0=KfyXgH#_boR41QX$agZ?n<|L@+t`wxqXcZX*Y6$0-L&-$O4mGz%o{Ro5Jz55Tt zq&hw`E9*ZY{W~n!1d%~?O$`Irts@NI)NDw#AC{*6N zIQE0>S8fc$G_@n~Tid-GZ~hBi|9AP<<3H0kM_>9a@i>-C^g(geMb%SGfzb_y4pU#t zhJ3wM9~IwlSUP|qR9Psj_En;wgY`_1&7s-k`PSy&$-9X>v7>XsF?!U@%XDHOUJ)Qe_yHIANRF}cgZ>C&rJH$Kji%HXDBfFU$=KvEW;l`A-x6S2|NC-jW5{y zfKMV`$t0jbagXRF(enkL1a~C0rSvk*@%jIWNtxjls{lp8eSxno@Afy@e_RWHUAS>N zm;1vf5Bu-{#*n|ych&s4uXSLdtY*V1{@%TJwlV1Uf4R@vf8g)m;?v44uil$HyPM1P z;jZ%k%K`C+LO_uo&z9i#=p^@v!ei-jwX6rUv(BVd?2ubNNB4u)uE>VcN^LvFCG20r z_kQ}!_~8xHR>rH@4XdvIyIj?1fA{yv{p`2SXIEU~j!@J(FiYXpSH4wMIre(`2Of%Q z03FbO{u}EI-=i&f(-VmSw3GEZk&GepWXl9|Ga-9|0_BJy=XMasg dx;dZ3O-wS*GoS051}qvFJYD@<);T3K0RS-2_}c&g literal 0 HcmV?d00001 diff --git a/client/Assets/Art/Tiles/glass_tile.png.import b/client/Assets/Art/Tiles/glass_tile.png.import new file mode 100644 index 0000000..9953f96 --- /dev/null +++ b/client/Assets/Art/Tiles/glass_tile.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/glass_tile.png-a30ccd4c80c467b85ddbf01116cb0b6a.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Art/Tiles/glass_tile.png" +dest_files=[ "res://.import/glass_tile.png-a30ccd4c80c467b85ddbf01116cb0b6a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/client/Assets/Themes/default.tres b/client/Assets/Themes/default.tres index 26f144e..63e06ed 100644 --- a/client/Assets/Themes/default.tres +++ b/client/Assets/Themes/default.tres @@ -14,19 +14,19 @@ [sub_resource type="StyleBoxEmpty" id=6] -[sub_resource type="StyleBoxLine" id=9] +[sub_resource type="StyleBoxLine" id=7] color = Color( 0.203922, 0.760784, 0.819608, 0.54902 ) -[sub_resource type="StyleBoxEmpty" id=7] +[sub_resource type="StyleBoxEmpty" id=8] -[sub_resource type="DynamicFont" id=8] +[sub_resource type="DynamicFont" id=9] size = 32 outline_size = 1 outline_color = Color( 0.243137, 0.858824, 0.815686, 0.498039 ) font_data = ExtResource( 1 ) [resource] -default_font = SubResource( 8 ) +default_font = SubResource( 9 ) Button/colors/font_color = Color( 0.203922, 0.760784, 0.819608, 0.54902 ) Button/colors/font_color_disabled = Color( 0.901961, 0.901961, 0.901961, 0.2 ) Button/colors/font_color_hover = Color( 0.203922, 0.760784, 0.819608, 0.784314 ) @@ -41,7 +41,7 @@ Button/styles/normal = SubResource( 5 ) Button/styles/pressed = SubResource( 6 ) HBoxContainer/constants/separation = 64 HSeparator/constants/separation = 4 -HSeparator/styles/separator = SubResource( 9 ) +HSeparator/styles/separator = SubResource( 7 ) Label/colors/font_color = Color( 0.203922, 0.760784, 0.819608, 0.54902 ) Label/colors/font_color_shadow = Color( 0, 0, 0, 0 ) Label/colors/font_outline_modulate = Color( 0.243137, 0.858824, 0.815686, 0.498039 ) @@ -52,4 +52,4 @@ Label/constants/shadow_offset_y = 1 Label/fonts/font = null Label/icons/ = null Label/styles/normal = null -Panel/styles/panel = SubResource( 7 ) +Panel/styles/panel = SubResource( 8 ) diff --git a/client/Nodes/NPCs/Aura.tscn b/client/Nodes/NPCs/Aura.tscn index 0f3d5c3..5ee87f6 100644 --- a/client/Nodes/NPCs/Aura.tscn +++ b/client/Nodes/NPCs/Aura.tscn @@ -1,31 +1,173 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=12 format=2] [ext_resource path="res://Assets/Sfx/intro/processed.wav" type="AudioStream" id=1] [ext_resource path="res://Scripts/Component/StorySpeaker.gd" type="Script" id=2] [ext_resource path="res://Scripts/Entities/NPCs/Aura.gd" type="Script" id=3] [ext_resource path="res://Assets/Art/Characters/aura.png" type="Texture" id=4] -[sub_resource type="AtlasTexture" id=14] +[sub_resource type="AtlasTexture" id=1] atlas = ExtResource( 4 ) -region = Rect2( 0, 0, 32, 16 ) +region = Rect2( 23, 0, 5, 16 ) -[sub_resource type="RectangleShape2D" id=15] +[sub_resource type="StreamTexture" id=3] +load_path = "res://.import/aura.png-d56c2c3c604fb12791bf7613004ed5a9.stex" + +[sub_resource type="AtlasTexture" id=4] +atlas = SubResource( 3 ) +region = Rect2( 19, 0, 3, 16 ) + +[sub_resource type="AtlasTexture" id=5] +atlas = SubResource( 3 ) +region = Rect2( 29, 0, 3, 16 ) + +[sub_resource type="RectangleShape2D" id=2] extents = Vector2( 62.9439, 20.084 ) +[sub_resource type="Animation" id=6] +resource_name = "Idle" +length = 2.0 +loop = true +tracks/0/type = "bezier" +tracks/0/path = NodePath("Torso/RightArm:position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( -3, -0.25, 0, 0.25, 0, -3, -0.25, 0, 0.25, 0, -3, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("Torso/RightArm:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0.5, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("Torso/RightArm:rotation_degrees") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 4, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/3/type = "bezier" +tracks/3/path = NodePath("Torso/LeftArm:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"points": PoolRealArray( 3, -0.25, 0, 0.25, 0, 3, -0.25, 0, 0.25, 0, 3, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/4/type = "bezier" +tracks/4/path = NodePath("Torso/LeftArm:position:y") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0.5, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/5/type = "bezier" +tracks/5/path = NodePath("Torso/LeftArm:rotation_degrees") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -4, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} + +[sub_resource type="Animation" id=7] +resource_name = "Shoot" +length = 0.5 +tracks/0/type = "bezier" +tracks/0/path = NodePath("Torso/RightArm:position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( -3, -0.25, 0, 0.25, 0, -3.28281, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("Torso/RightArm:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.791864, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("Torso/RightArm:rotation_degrees") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 85.9568, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.3 ) +} +tracks/3/type = "value" +tracks/3/path = NodePath("Torso/RightArm:texture:region") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0, 0.1 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 1, +"values": [ Rect2( 19, 0, 3, 16 ), Rect2( 4, 0, 3, 16 ) ] +} +tracks/4/type = "value" +tracks/4/path = NodePath("Torso:texture:region") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"times": PoolRealArray( 0, 0.1 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 1, +"values": [ Rect2( 23, 0, 5, 16 ), Rect2( 7, 0, 5, 16 ) ] +} + [node name="Aura" type="Area2D"] -position = Vector2( 830.805, 1176.02 ) script = ExtResource( 3 ) __meta__ = { "_edit_group_": true } -[node name="Sprite" type="Sprite" parent="."] -texture = SubResource( 14 ) -hframes = 2 -frame = 1 +[node name="Torso" type="Sprite" parent="."] +texture = SubResource( 1 ) + +[node name="RightArm" type="Sprite" parent="Torso"] +position = Vector2( -3, 0 ) +z_index = -1 +texture = SubResource( 4 ) + +[node name="LeftArm" type="Sprite" parent="Torso"] +position = Vector2( 3, 0 ) +z_index = -1 +texture = SubResource( 5 ) [node name="CollisionShape2D" type="CollisionShape2D" parent="."] -shape = SubResource( 15 ) +visible = false +shape = SubResource( 2 ) [node name="Speaker" type="Node" parent="."] script = ExtResource( 2 ) @@ -45,3 +187,7 @@ color = Color( 0.54902, 0.105882, 0.105882, 1 ) __meta__ = { "_edit_use_anchors_": false } + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +anims/Idle = SubResource( 6 ) +anims/Shoot = SubResource( 7 ) diff --git a/client/Nodes/NPCs/CEO.tscn b/client/Nodes/NPCs/CEO.tscn index c7c5c2a..15ee99b 100644 --- a/client/Nodes/NPCs/CEO.tscn +++ b/client/Nodes/NPCs/CEO.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=9 format=2] [ext_resource path="res://Scripts/Entities/NPCs/CEO.gd" type="Script" id=1] [ext_resource path="res://Scripts/Component/StorySpeaker.gd" type="Script" id=2] @@ -7,14 +7,104 @@ [sub_resource type="RectangleShape2D" id=1] extents = Vector2( 16.0863, 8 ) -[node name="Scientist" type="Area2D"] -script = ExtResource( 1 ) +[sub_resource type="AtlasTexture" id=7] +atlas = ExtResource( 3 ) +region = Rect2( 4, 0, 8, 16 ) -[node name="Sprite" type="Sprite" parent="."] -texture = ExtResource( 3 ) +[sub_resource type="AtlasTexture" id=8] +atlas = ExtResource( 3 ) +region = Rect2( 2, 0, 2, 16 ) + +[sub_resource type="AtlasTexture" id=9] +atlas = ExtResource( 3 ) +region = Rect2( 12, 0, 2, 16 ) + +[sub_resource type="Animation" id=6] +resource_name = "Idle" +length = 2.0 +loop = true +tracks/0/type = "bezier" +tracks/0/path = NodePath("Torso/RightArm:position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( -5, -0.25, 0, 0.25, 0, -5, -0.25, 0, 0.25, 0, -5, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("Torso/RightArm:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("Torso/RightArm:rotation_degrees") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 6, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/3/type = "bezier" +tracks/3/path = NodePath("Torso/LeftArm:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"points": PoolRealArray( 5, -0.25, 0, 0.25, 0, 5, -0.25, 0, 0.25, 0, 5, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/4/type = "bezier" +tracks/4/path = NodePath("Torso/LeftArm:position:y") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/5/type = "bezier" +tracks/5/path = NodePath("Torso/LeftArm:rotation_degrees") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -6, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} + +[node name="CEO" type="Area2D"] +script = ExtResource( 1 ) [node name="CollisionShape2D" type="CollisionShape2D" parent="."] shape = SubResource( 1 ) [node name="Speaker" type="Node" parent="."] script = ExtResource( 2 ) + +[node name="Torso" type="Sprite" parent="."] +texture = SubResource( 7 ) + +[node name="RightArm" type="Sprite" parent="Torso"] +position = Vector2( -5, -0.25 ) +rotation = 0.10472 +texture = SubResource( 8 ) + +[node name="LeftArm" type="Sprite" parent="Torso"] +position = Vector2( 5, -0.25 ) +rotation = -0.10472 +texture = SubResource( 9 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +anims/Idle = SubResource( 6 ) diff --git a/client/Nodes/NPCs/Soldier.tscn b/client/Nodes/NPCs/Soldier.tscn new file mode 100644 index 0000000..01f3e58 --- /dev/null +++ b/client/Nodes/NPCs/Soldier.tscn @@ -0,0 +1,105 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://Assets/Art/Characters/soldier.png" type="Texture" id=1] + +[sub_resource type="GDScript" id=10] +script/source = "extends Node2D + +func _ready(): + $AnimationPlayer.play(\"Idle\") + $AnimationPlayer.seek(rand_range(0.0, 2.0), true) +" + +[sub_resource type="AtlasTexture" id=7] +atlas = ExtResource( 1 ) +region = Rect2( 4, 0, 8, 16 ) + +[sub_resource type="AtlasTexture" id=8] +atlas = ExtResource( 1 ) +region = Rect2( 2, 0, 2, 16 ) + +[sub_resource type="AtlasTexture" id=9] +atlas = ExtResource( 1 ) +region = Rect2( 12, 0, 2, 16 ) + +[sub_resource type="Animation" id=6] +resource_name = "Idle" +length = 2.0 +loop = true +tracks/0/type = "bezier" +tracks/0/path = NodePath("Torso/RightArm:position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( -5, -0.25, 0, 0.25, 0, -5, -0.25, 0, 0.25, 0, -5, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("Torso/RightArm:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("Torso/RightArm:rotation_degrees") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 6, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/3/type = "bezier" +tracks/3/path = NodePath("Torso/LeftArm:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"points": PoolRealArray( 5, -0.25, 0, 0.25, 0, 5, -0.25, 0, 0.25, 0, 5, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/4/type = "bezier" +tracks/4/path = NodePath("Torso/LeftArm:position:y") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/5/type = "bezier" +tracks/5/path = NodePath("Torso/LeftArm:rotation_degrees") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -6, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} + +[node name="Soldier" type="Node2D"] +script = SubResource( 10 ) + +[node name="Torso" type="Sprite" parent="."] +texture = SubResource( 7 ) + +[node name="RightArm" type="Sprite" parent="Torso"] +position = Vector2( -5, 0 ) +texture = SubResource( 8 ) + +[node name="LeftArm" type="Sprite" parent="Torso"] +position = Vector2( 5, 0 ) +texture = SubResource( 9 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +anims/Idle = SubResource( 6 ) diff --git a/client/Nodes/NPCs/Thadd.tscn b/client/Nodes/NPCs/Thadd.tscn index 1e3e5d7..30d0d1e 100644 --- a/client/Nodes/NPCs/Thadd.tscn +++ b/client/Nodes/NPCs/Thadd.tscn @@ -1,21 +1,113 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=10 format=2] [ext_resource path="res://Scripts/Entities/NPCs/IntroScientist.gd" type="Script" id=1] [ext_resource path="res://Scripts/Component/StorySpeaker.gd" type="Script" id=2] [ext_resource path="res://Assets/Art/Characters/scientist.png" type="Texture" id=3] +[sub_resource type="AtlasTexture" id=2] +atlas = ExtResource( 3 ) +region = Rect2( 4, 0, 8, 16 ) + +[sub_resource type="StreamTexture" id=3] +load_path = "res://.import/scientist.png-ed3195bf022f65d4a0546af474992ee0.stex" + +[sub_resource type="AtlasTexture" id=4] +atlas = SubResource( 3 ) +region = Rect2( 2, 0, 2, 16 ) + +[sub_resource type="AtlasTexture" id=5] +atlas = SubResource( 3 ) +region = Rect2( 12, 0, 2, 16 ) + [sub_resource type="RectangleShape2D" id=1] extents = Vector2( 14.1446, 9.58948 ) +[sub_resource type="Animation" id=6] +resource_name = "Idle" +length = 2.0 +loop = true +tracks/0/type = "bezier" +tracks/0/path = NodePath("Torso/RightArm:position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( -5, -0.25, 0, 0.25, 0, -5, -0.25, 0, 0.25, 0, -5, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("Torso/RightArm:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("Torso/RightArm:rotation_degrees") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 6, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/3/type = "bezier" +tracks/3/path = NodePath("Torso/LeftArm:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"points": PoolRealArray( 5, -0.25, 0, 0.25, 0, 5, -0.25, 0, 0.25, 0, 5, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/4/type = "bezier" +tracks/4/path = NodePath("Torso/LeftArm:position:y") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/5/type = "bezier" +tracks/5/path = NodePath("Torso/LeftArm:rotation_degrees") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -6, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} + [node name="Scientist" type="Area2D"] -position = Vector2( 167.084, 231.933 ) script = ExtResource( 1 ) -[node name="Sprite" type="Sprite" parent="."] -texture = ExtResource( 3 ) +[node name="Torso" type="Sprite" parent="."] +texture = SubResource( 2 ) + +[node name="RightArm" type="Sprite" parent="Torso"] +position = Vector2( -5, -0.25 ) +rotation = 0.10472 +texture = SubResource( 4 ) + +[node name="LeftArm" type="Sprite" parent="Torso"] +position = Vector2( 5, -0.25 ) +rotation = -0.10472 +texture = SubResource( 5 ) [node name="CollisionShape2D" type="CollisionShape2D" parent="."] shape = SubResource( 1 ) [node name="Speaker" type="Node" parent="."] script = ExtResource( 2 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +anims/Idle = SubResource( 6 ) diff --git a/client/Nodes/NPCs/Worker.tscn b/client/Nodes/NPCs/Worker.tscn new file mode 100644 index 0000000..dfb0684 --- /dev/null +++ b/client/Nodes/NPCs/Worker.tscn @@ -0,0 +1,114 @@ +[gd_scene load_steps=9 format=2] + +[ext_resource path="res://Scripts/Component/StorySpeaker.gd" type="Script" id=1] +[ext_resource path="res://Assets/Art/Characters/worker.png" type="Texture" id=2] +[ext_resource path="res://Scripts/Component/InteractableDialog.gd" type="Script" id=3] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 13.908, 10 ) + +[sub_resource type="AtlasTexture" id=7] +atlas = ExtResource( 2 ) +region = Rect2( 4, 0, 8, 16 ) + +[sub_resource type="AtlasTexture" id=8] +atlas = ExtResource( 2 ) +region = Rect2( 2, 0, 2, 16 ) + +[sub_resource type="AtlasTexture" id=9] +atlas = ExtResource( 2 ) +region = Rect2( 12, 0, 2, 16 ) + +[sub_resource type="Animation" id=6] +resource_name = "Idle" +length = 2.0 +loop = true +tracks/0/type = "bezier" +tracks/0/path = NodePath("Torso/RightArm:position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( -5, -0.25, 0, 0.25, 0, -5, -0.25, 0, 0.25, 0, -5, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("Torso/RightArm:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("Torso/RightArm:rotation_degrees") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 6, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/3/type = "bezier" +tracks/3/path = NodePath("Torso/LeftArm:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"points": PoolRealArray( 5, -0.25, 0, 0.25, 0, 5, -0.25, 0, 0.25, 0, 5, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/4/type = "bezier" +tracks/4/path = NodePath("Torso/LeftArm:position:y") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/5/type = "bezier" +tracks/5/path = NodePath("Torso/LeftArm:rotation_degrees") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -6, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} + +[node name="Worker" type="Area2D"] +script = ExtResource( 3 ) +__meta__ = { +"_edit_group_": true +} + +[node name="Speaker" type="Node" parent="."] +script = ExtResource( 1 ) +speaker_name = "Worker" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource( 1 ) + +[node name="Torso" type="Sprite" parent="."] +texture = SubResource( 7 ) + +[node name="RightArm" type="Sprite" parent="Torso"] +position = Vector2( -5, -0.25 ) +rotation = 0.10472 +texture = SubResource( 8 ) + +[node name="LeftArm" type="Sprite" parent="Torso"] +position = Vector2( 5, -0.25 ) +rotation = -0.10472 +texture = SubResource( 9 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +anims/Idle = SubResource( 6 ) diff --git a/client/Nodes/Player.tscn b/client/Nodes/Player.tscn index f387948..dd8859c 100644 --- a/client/Nodes/Player.tscn +++ b/client/Nodes/Player.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=28 format=2] +[gd_scene load_steps=30 format=2] [ext_resource path="res://Assets/Materials/SmoothScaling.tres" type="Material" id=1] [ext_resource path="res://Assets/Art/Characters/player_parts.png" type="Texture" id=2] @@ -8,6 +8,1719 @@ [ext_resource path="res://Assets/Art/Objects/flashlight.png" type="Texture" id=6] [ext_resource path="res://Scripts/Entities/Flashlight.gd" type="Script" id=7] +[sub_resource type="Animation" id=17] +resource_name = "Idle" +length = 2.0 +loop = true +tracks/0/type = "bezier" +tracks/0/path = NodePath("Sprite/Torso/RightArm:position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( 2, -0.25, 0, 0.25, 0, 2, -0.25, 0, 0.25, 0, 2, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("Sprite/Torso/RightArm:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("Sprite/Torso/RightArm:rotation_degrees") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/3/type = "bezier" +tracks/3/path = NodePath("Sprite/Torso/LeftArm:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"points": PoolRealArray( -2, -0.25, 0, 0.25, 0, -2, -0.25, 0, 0.25, 0, -2, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/4/type = "bezier" +tracks/4/path = NodePath("Sprite/Torso/LeftArm:position:y") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/5/type = "bezier" +tracks/5/path = NodePath("Sprite/Torso/LeftArm:rotation_degrees") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/6/type = "bezier" +tracks/6/path = NodePath("Sprite/Torso/LeftArm/LeftForearm:position:x") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"points": PoolRealArray( -0.5, -0.25, 0, 0.25, 0, -0.68338, -0.25, 0, 0.25, 0, -0.5, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/7/type = "bezier" +tracks/7/path = NodePath("Sprite/Torso/LeftArm/LeftForearm:position:y") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"points": PoolRealArray( 1.75, -0.25, 0, 0.25, 0, 1.44437, -0.25, 0, 0.25, 0, 1.75, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/8/type = "bezier" +tracks/8/path = NodePath("Sprite/Torso/LeftArm/LeftForearm:rotation_degrees") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 11.166, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/9/type = "bezier" +tracks/9/path = NodePath("Sprite/Torso/RightArm/RightForearm:position:x") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/keys = { +"points": PoolRealArray( 0.5, -0.25, 0, 0.25, 0, 0.683, -0.25, 0, 0.25, 0, 0.5, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/10/type = "bezier" +tracks/10/path = NodePath("Sprite/Torso/RightArm/RightForearm:position:y") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/keys = { +"points": PoolRealArray( 1.75, -0.25, 0, 0.25, 0, 1.444, -0.25, 0, 0.25, 0, 1.75, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/11/type = "bezier" +tracks/11/path = NodePath("Sprite/Torso/RightArm/RightForearm:rotation_degrees") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/imported = false +tracks/11/enabled = true +tracks/11/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -11.2, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1, 2 ) +} +tracks/12/type = "bezier" +tracks/12/path = NodePath("Sprite/Torso/Hips:position:x") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/imported = false +tracks/12/enabled = true +tracks/12/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1 ) +} +tracks/13/type = "bezier" +tracks/13/path = NodePath("Sprite/Torso/Hips:position:y") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/keys = { +"points": PoolRealArray( 2.75, -0.25, 0, 0.25, 0, 2.75, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1 ) +} +tracks/14/type = "bezier" +tracks/14/path = NodePath("Sprite/Torso/Hips:rotation_degrees") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/imported = false +tracks/14/enabled = true +tracks/14/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1 ) +} +tracks/15/type = "bezier" +tracks/15/path = NodePath("Sprite/Torso/Hips/LeftLeg:position:x") +tracks/15/interp = 1 +tracks/15/loop_wrap = true +tracks/15/imported = false +tracks/15/enabled = true +tracks/15/keys = { +"points": PoolRealArray( -1, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 1 ) +} +tracks/16/type = "bezier" +tracks/16/path = NodePath("Sprite/Torso/Hips/LeftLeg:position:y") +tracks/16/interp = 1 +tracks/16/loop_wrap = true +tracks/16/imported = false +tracks/16/enabled = true +tracks/16/keys = { +"points": PoolRealArray( 1.75, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 1 ) +} +tracks/17/type = "bezier" +tracks/17/path = NodePath("Sprite/Torso/Hips/LeftLeg:rotation_degrees") +tracks/17/interp = 1 +tracks/17/loop_wrap = true +tracks/17/imported = false +tracks/17/enabled = true +tracks/17/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 1 ) +} +tracks/18/type = "bezier" +tracks/18/path = NodePath("Sprite/Torso/Hips/LeftLeg/LeftLeg2:position:x") +tracks/18/interp = 1 +tracks/18/loop_wrap = true +tracks/18/imported = false +tracks/18/enabled = true +tracks/18/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 1 ) +} +tracks/19/type = "bezier" +tracks/19/path = NodePath("Sprite/Torso/Hips/LeftLeg/LeftLeg2:position:y") +tracks/19/interp = 1 +tracks/19/loop_wrap = true +tracks/19/imported = false +tracks/19/enabled = true +tracks/19/keys = { +"points": PoolRealArray( 1.75, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 1 ) +} +tracks/20/type = "bezier" +tracks/20/path = NodePath("Sprite/Torso/Hips/LeftLeg/LeftLeg2:rotation_degrees") +tracks/20/interp = 1 +tracks/20/loop_wrap = true +tracks/20/imported = false +tracks/20/enabled = true +tracks/20/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 1 ) +} +tracks/21/type = "bezier" +tracks/21/path = NodePath("Sprite/Torso/Hips/LeftLeg/LeftLeg2/Node2D:position:x") +tracks/21/interp = 1 +tracks/21/loop_wrap = true +tracks/21/imported = false +tracks/21/enabled = true +tracks/21/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 1 ) +} +tracks/22/type = "bezier" +tracks/22/path = NodePath("Sprite/Torso/Hips/LeftLeg/LeftLeg2/Node2D:position:y") +tracks/22/interp = 1 +tracks/22/loop_wrap = true +tracks/22/imported = false +tracks/22/enabled = true +tracks/22/keys = { +"points": PoolRealArray( 0.91716, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 1 ) +} +tracks/23/type = "bezier" +tracks/23/path = NodePath("Sprite/Torso/Hips/LeftLeg/LeftLeg2/Node2D:rotation_degrees") +tracks/23/interp = 1 +tracks/23/loop_wrap = true +tracks/23/imported = false +tracks/23/enabled = true +tracks/23/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 1 ) +} +tracks/24/type = "bezier" +tracks/24/path = NodePath("Sprite/Torso/Hips/RightLeg:position:x") +tracks/24/interp = 1 +tracks/24/loop_wrap = true +tracks/24/imported = false +tracks/24/enabled = true +tracks/24/keys = { +"points": PoolRealArray( 1, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 1 ) +} +tracks/25/type = "bezier" +tracks/25/path = NodePath("Sprite/Torso/Hips/RightLeg:position:y") +tracks/25/interp = 1 +tracks/25/loop_wrap = true +tracks/25/imported = false +tracks/25/enabled = true +tracks/25/keys = { +"points": PoolRealArray( 1.75, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 1 ) +} +tracks/26/type = "bezier" +tracks/26/path = NodePath("Sprite/Torso/Hips/RightLeg:rotation_degrees") +tracks/26/interp = 1 +tracks/26/loop_wrap = true +tracks/26/imported = false +tracks/26/enabled = true +tracks/26/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 1 ) +} +tracks/27/type = "bezier" +tracks/27/path = NodePath("Sprite/Torso/Hips/RightLeg/RightLeg2:position:x") +tracks/27/interp = 1 +tracks/27/loop_wrap = true +tracks/27/imported = false +tracks/27/enabled = true +tracks/27/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 1 ) +} +tracks/28/type = "bezier" +tracks/28/path = NodePath("Sprite/Torso/Hips/RightLeg/RightLeg2:position:y") +tracks/28/interp = 1 +tracks/28/loop_wrap = true +tracks/28/imported = false +tracks/28/enabled = true +tracks/28/keys = { +"points": PoolRealArray( 1.75, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 1 ) +} +tracks/29/type = "bezier" +tracks/29/path = NodePath("Sprite/Torso/Hips/RightLeg/RightLeg2:rotation_degrees") +tracks/29/interp = 1 +tracks/29/loop_wrap = true +tracks/29/imported = false +tracks/29/enabled = true +tracks/29/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 1 ) +} +tracks/30/type = "bezier" +tracks/30/path = NodePath("Sprite/Torso/Hips/RightLeg/RightLeg2/Node2D:position:x") +tracks/30/interp = 1 +tracks/30/loop_wrap = true +tracks/30/imported = false +tracks/30/enabled = true +tracks/30/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 1 ) +} +tracks/31/type = "bezier" +tracks/31/path = NodePath("Sprite/Torso/Hips/RightLeg/RightLeg2/Node2D:position:y") +tracks/31/interp = 1 +tracks/31/loop_wrap = true +tracks/31/imported = false +tracks/31/enabled = true +tracks/31/keys = { +"points": PoolRealArray( 0.91716, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 1 ) +} +tracks/32/type = "bezier" +tracks/32/path = NodePath("Sprite/Torso/Hips/RightLeg/RightLeg2/Node2D:rotation_degrees") +tracks/32/interp = 1 +tracks/32/loop_wrap = true +tracks/32/imported = false +tracks/32/enabled = true +tracks/32/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 1 ) +} +tracks/33/type = "bezier" +tracks/33/path = NodePath("Sprite/Torso/Hips/Cape:position:x") +tracks/33/interp = 1 +tracks/33/loop_wrap = true +tracks/33/imported = false +tracks/33/enabled = true +tracks/33/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/34/type = "bezier" +tracks/34/path = NodePath("Sprite/Torso/Hips/Cape:position:y") +tracks/34/interp = 1 +tracks/34/loop_wrap = true +tracks/34/imported = false +tracks/34/enabled = true +tracks/34/keys = { +"points": PoolRealArray( 1, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/35/type = "bezier" +tracks/35/path = NodePath("Sprite/Torso/Hips/Cape:rotation_degrees") +tracks/35/interp = 1 +tracks/35/loop_wrap = true +tracks/35/imported = false +tracks/35/enabled = true +tracks/35/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/36/type = "bezier" +tracks/36/path = NodePath("Sprite/Torso/Hips/Cape/Cape2:position:x") +tracks/36/interp = 1 +tracks/36/loop_wrap = true +tracks/36/imported = false +tracks/36/enabled = true +tracks/36/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/37/type = "bezier" +tracks/37/path = NodePath("Sprite/Torso/Hips/Cape/Cape2:position:y") +tracks/37/interp = 1 +tracks/37/loop_wrap = true +tracks/37/imported = false +tracks/37/enabled = true +tracks/37/keys = { +"points": PoolRealArray( 0.75, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/38/type = "bezier" +tracks/38/path = NodePath("Sprite/Torso/Hips/Cape/Cape2:rotation_degrees") +tracks/38/interp = 1 +tracks/38/loop_wrap = true +tracks/38/imported = false +tracks/38/enabled = true +tracks/38/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/39/type = "bezier" +tracks/39/path = NodePath("Sprite/Torso/Hips/Cape/Cape2/Cape3:position:x") +tracks/39/interp = 1 +tracks/39/loop_wrap = true +tracks/39/imported = false +tracks/39/enabled = true +tracks/39/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/40/type = "bezier" +tracks/40/path = NodePath("Sprite/Torso/Hips/Cape/Cape2/Cape3:position:y") +tracks/40/interp = 1 +tracks/40/loop_wrap = true +tracks/40/imported = false +tracks/40/enabled = true +tracks/40/keys = { +"points": PoolRealArray( 0.75, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/41/type = "bezier" +tracks/41/path = NodePath("Sprite/Torso/Hips/Cape/Cape2/Cape3:rotation_degrees") +tracks/41/interp = 1 +tracks/41/loop_wrap = true +tracks/41/imported = false +tracks/41/enabled = true +tracks/41/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/42/type = "value" +tracks/42/path = NodePath("Sprite/Torso:offset") +tracks/42/interp = 1 +tracks/42/loop_wrap = true +tracks/42/imported = false +tracks/42/enabled = true +tracks/42/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0, 0 ) ] +} +tracks/43/type = "value" +tracks/43/path = NodePath("Sprite/Torso/Neck/Head:position") +tracks/43/interp = 1 +tracks/43/loop_wrap = true +tracks/43/imported = false +tracks/43/enabled = true +tracks/43/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0, -2.25 ) ] +} +tracks/44/type = "value" +tracks/44/path = NodePath("Sprite/Torso/Neck:position") +tracks/44/interp = 1 +tracks/44/loop_wrap = true +tracks/44/imported = false +tracks/44/enabled = true +tracks/44/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0, -2.5 ) ] +} + +[sub_resource type="Animation" id=21] +resource_name = "InAir" +length = 1.5 +loop = true +tracks/0/type = "bezier" +tracks/0/path = NodePath("Sprite/Torso/LeftArm:position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( -2.18338, -0.25, 0, 0.25, 0, -2.18338, -0.25, 0, 0.25, 0, -2.18338, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("Sprite/Torso/LeftArm:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( -0.247254, -0.25, 0, 0.25, 0, -0.247254, -0.25, 0, 0.25, 0, -0.247254, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("Sprite/Torso/LeftArm:rotation_degrees") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( 56.1452, -0.25, 0, 0.25, 0, 46.5373, -0.25, 0, 0.25, 0, 56.1452, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/3/type = "bezier" +tracks/3/path = NodePath("Sprite/Torso/LeftArm/LeftForearm:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"points": PoolRealArray( 0.262864, -0.25, 0, 0.25, 0, 0.097669, -0.25, 0, 0.25, 0, 0.262864, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/4/type = "bezier" +tracks/4/path = NodePath("Sprite/Torso/LeftArm/LeftForearm:position:y") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"points": PoolRealArray( 1.42974, -0.25, 0, 0.25, 0, 1.43754, -0.25, 0, 0.25, 0, 1.42974, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/5/type = "bezier" +tracks/5/path = NodePath("Sprite/Torso/LeftArm/LeftForearm:rotation_degrees") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"points": PoolRealArray( -17.0703, -0.25, 0, 0.25, 0, -32.0215, -0.25, 0, 0.25, 0, -17.0703, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/6/type = "bezier" +tracks/6/path = NodePath("Sprite/Torso/RightArm:position:x") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"points": PoolRealArray( 2.15282, -0.25, 0, 0.25, 0, 2.15282, -0.25, 0, 0.25, 0, 2.15282, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/7/type = "bezier" +tracks/7/path = NodePath("Sprite/Torso/RightArm:position:y") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"points": PoolRealArray( -0.247254, -0.25, 0, 0.25, 0, -0.247254, -0.25, 0, 0.25, 0, -0.247254, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/8/type = "bezier" +tracks/8/path = NodePath("Sprite/Torso/RightArm:rotation_degrees") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/keys = { +"points": PoolRealArray( -55.2004, -0.25, 0, 0.25, 0, -47.7954, -0.25, 0, 0.25, 0, -55.2004, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/9/type = "bezier" +tracks/9/path = NodePath("Sprite/Torso/RightArm/RightForearm:position:x") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/keys = { +"points": PoolRealArray( -0.384793, -0.25, 0, 0.25, 0, -0.564742, -0.25, 0, 0.25, 0, -0.384793, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/10/type = "bezier" +tracks/10/path = NodePath("Sprite/Torso/RightArm/RightForearm:position:y") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/keys = { +"points": PoolRealArray( 1.53113, -0.25, 0, 0.25, 0, 1.43287, -0.25, 0, 0.25, 0, 1.53113, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/11/type = "bezier" +tracks/11/path = NodePath("Sprite/Torso/RightArm/RightForearm:rotation_degrees") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/imported = false +tracks/11/enabled = true +tracks/11/keys = { +"points": PoolRealArray( 23.4278, -0.25, 0, 0.25, 0, 38.1834, -0.25, 0, 0.25, 0, 23.4278, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/12/type = "bezier" +tracks/12/path = NodePath("Sprite/Torso/Hips/LeftLeg:position:x") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/imported = false +tracks/12/enabled = true +tracks/12/keys = { +"points": PoolRealArray( -1.23706, -0.25, 0, 0.25, 0, -1.27458, -0.25, 0, 0.25, 0, -1.23706, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/13/type = "bezier" +tracks/13/path = NodePath("Sprite/Torso/Hips/LeftLeg:position:y") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/keys = { +"points": PoolRealArray( 1.78387, -0.25, 0, 0.25, 0, 1.70882, -0.25, 0, 0.25, 0, 1.78387, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/14/type = "bezier" +tracks/14/path = NodePath("Sprite/Torso/Hips/LeftLeg:rotation_degrees") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/imported = false +tracks/14/enabled = true +tracks/14/keys = { +"points": PoolRealArray( 23.2636, -0.25, 0, 0.25, 0, 23.884, -0.25, 0, 0.25, 0, 23.2636, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/15/type = "bezier" +tracks/15/path = NodePath("Sprite/Torso/Hips/LeftLeg/LeftLeg2:position:x") +tracks/15/interp = 1 +tracks/15/loop_wrap = true +tracks/15/imported = false +tracks/15/enabled = true +tracks/15/keys = { +"points": PoolRealArray( 0.275843, -0.25, 0, 0.25, 0, 0.413087, -0.25, 0, 0.25, 0, 0.275843, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/16/type = "bezier" +tracks/16/path = NodePath("Sprite/Torso/Hips/LeftLeg/LeftLeg2:position:y") +tracks/16/interp = 1 +tracks/16/loop_wrap = true +tracks/16/imported = false +tracks/16/enabled = true +tracks/16/keys = { +"points": PoolRealArray( 1.63141, -0.25, 0, 0.25, 0, 1.57064, -0.25, 0, 0.25, 0, 1.63141, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/17/type = "bezier" +tracks/17/path = NodePath("Sprite/Torso/Hips/LeftLeg/LeftLeg2:rotation_degrees") +tracks/17/interp = 1 +tracks/17/loop_wrap = true +tracks/17/imported = false +tracks/17/enabled = true +tracks/17/keys = { +"points": PoolRealArray( -20.5881, -0.25, 0, 0.25, 0, -31.4264, -0.25, 0, 0.25, 0, -20.5881, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/18/type = "bezier" +tracks/18/path = NodePath("Sprite/Torso/Hips/RightLeg:position:x") +tracks/18/interp = 1 +tracks/18/loop_wrap = true +tracks/18/imported = false +tracks/18/enabled = true +tracks/18/keys = { +"points": PoolRealArray( 1.11257, -0.25, 0, 0.25, 0, 1.22515, -0.25, 0, 0.25, 0, 1.11257, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/19/type = "bezier" +tracks/19/path = NodePath("Sprite/Torso/Hips/RightLeg:position:y") +tracks/19/interp = 1 +tracks/19/loop_wrap = true +tracks/19/imported = false +tracks/19/enabled = true +tracks/19/keys = { +"points": PoolRealArray( 1.67495, -0.25, 0, 0.25, 0, 1.5999, -0.25, 0, 0.25, 0, 1.67495, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/20/type = "bezier" +tracks/20/path = NodePath("Sprite/Torso/Hips/RightLeg:rotation_degrees") +tracks/20/interp = 1 +tracks/20/loop_wrap = true +tracks/20/imported = false +tracks/20/enabled = true +tracks/20/keys = { +"points": PoolRealArray( -10.7718, -0.25, 0, 0.25, 0, -21.7698, -0.25, 0, 0.25, 0, -10.7718, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/21/type = "bezier" +tracks/21/path = NodePath("Sprite/Torso/Hips/RightLeg/RightLeg2:position:x") +tracks/21/interp = 1 +tracks/21/loop_wrap = true +tracks/21/imported = false +tracks/21/enabled = true +tracks/21/keys = { +"points": PoolRealArray( -0.265053, -0.25, 0, 0.25, 0, -0.125773, -0.25, 0, 0.25, 0, -0.265053, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/22/type = "bezier" +tracks/22/path = NodePath("Sprite/Torso/Hips/RightLeg/RightLeg2:position:y") +tracks/22/interp = 1 +tracks/22/loop_wrap = true +tracks/22/imported = false +tracks/22/enabled = true +tracks/22/keys = { +"points": PoolRealArray( 1.73777, -0.25, 0, 0.25, 0, 1.59136, -0.25, 0, 0.25, 0, 1.73777, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} +tracks/23/type = "bezier" +tracks/23/path = NodePath("Sprite/Torso/Hips/RightLeg/RightLeg2:rotation_degrees") +tracks/23/interp = 1 +tracks/23/loop_wrap = true +tracks/23/imported = false +tracks/23/enabled = true +tracks/23/keys = { +"points": PoolRealArray( 15.3899, -0.25, 0, 0.25, 0, 7.71721, -0.25, 0, 0.25, 0, 15.3899, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.8, 1.5 ) +} + +[sub_resource type="Animation" id=22] +resource_name = "Jump" +length = 0.7 +tracks/0/type = "bezier" +tracks/0/path = NodePath("Sprite/Torso:position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0.0338669, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4, 0.6 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("Sprite/Torso:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0.474117, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4, 0.6 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("Sprite/Torso:rotation_degrees") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4, 0.6 ) +} +tracks/3/type = "bezier" +tracks/3/path = NodePath("Sprite/Torso/Hips/LeftLeg:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"points": PoolRealArray( -1, -0.25, 0, 0.25, 0, -1.12225, -0.25, 0, 0.25, 0, -1.27948, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4, 0.6 ) +} +tracks/4/type = "bezier" +tracks/4/path = NodePath("Sprite/Torso/Hips/LeftLeg:position:y") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"points": PoolRealArray( 1.75, -0.25, 0, 0.25, 0, 1.68887, -0.25, 0, 0.25, 0, 1.71508, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4, 0.6 ) +} +tracks/5/type = "bezier" +tracks/5/path = NodePath("Sprite/Torso/Hips/LeftLeg:rotation_degrees") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 14.9822, -0.25, 0, 0.25, 0, 24.2249, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4, 0.6 ) +} +tracks/6/type = "bezier" +tracks/6/path = NodePath("Sprite/Torso/Hips/LeftLeg/LeftLeg2:position:x") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0.464797, -0.25, 0, 0.25, 0, 0.340013, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4, 0.6 ) +} +tracks/7/type = "bezier" +tracks/7/path = NodePath("Sprite/Torso/Hips/LeftLeg/LeftLeg2:position:y") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"points": PoolRealArray( 1.75, -0.25, 0, 0.25, 0, 1.34086, -0.25, 0, 0.25, 0, 1.48276, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4, 0.6 ) +} +tracks/8/type = "bezier" +tracks/8/path = NodePath("Sprite/Torso/Hips/LeftLeg/LeftLeg2:rotation_degrees") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -36.8221, -0.25, 0, 0.25, 0, -24.1853, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4, 0.6 ) +} +tracks/9/type = "bezier" +tracks/9/path = NodePath("Sprite/Torso/Hips/RightLeg:position:x") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/keys = { +"points": PoolRealArray( 1, -0.25, 0, 0.25, 0, 1.15282, -0.25, 0, 0.25, 0, 1.20522, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4, 0.6 ) +} +tracks/10/type = "bezier" +tracks/10/path = NodePath("Sprite/Torso/Hips/RightLeg:position:y") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/keys = { +"points": PoolRealArray( 1.75, -0.25, 0, 0.25, 0, 1.47493, -0.25, 0, 0.25, 0, 1.65836, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4, 0.6 ) +} +tracks/11/type = "bezier" +tracks/11/path = NodePath("Sprite/Torso/Hips/RightLeg:rotation_degrees") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/imported = false +tracks/11/enabled = true +tracks/11/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -20.5234, -0.25, 0, 0.25, 0, -30.2793, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4, 0.6 ) +} +tracks/12/type = "bezier" +tracks/12/path = NodePath("Sprite/Torso/Hips/RightLeg/RightLeg2:position:x") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/imported = false +tracks/12/enabled = true +tracks/12/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.443741, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4 ) +} +tracks/13/type = "bezier" +tracks/13/path = NodePath("Sprite/Torso/Hips/RightLeg/RightLeg2:position:y") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/keys = { +"points": PoolRealArray( 1.75, -0.25, 0, 0.25, 0, 1.45335, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4 ) +} +tracks/14/type = "bezier" +tracks/14/path = NodePath("Sprite/Torso/Hips/RightLeg/RightLeg2:rotation_degrees") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/imported = false +tracks/14/enabled = true +tracks/14/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 37.0571, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4 ) +} + +[sub_resource type="Animation" id=18] +resource_name = "RunLeft" +length = 0.9 +loop = true +tracks/0/type = "bezier" +tracks/0/path = NodePath("Sprite/Torso/Hips/LeftLeg:position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( 1.07832, -0.25, 0, 0.25, 0, 0.528183, -0.25, 0, 0.25, 0, -0.877747, -0.25, 0, 0.25, 0, -1.15282, -0.25, 0, 0.25, 0, -1.06113, -0.25, 0, 0.25, 0, -0.847183, -0.25, 0, 0.25, 0, -0.388733, -0.25, 0, 0.25, 0, 0.436493, -0.25, 0, 0.25, 0, 0.86438, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("Sprite/Torso/Hips/LeftLeg:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 1.59718, -0.25, 0, 0.25, 0, 1.65831, -0.25, 0, 0.25, 0, 1.4138, -0.25, 0, 0.25, 0, 1.75, -0.25, 0, 0.25, 0, 1.78056, -0.25, 0, 0.25, 0, 1.75, -0.25, 0, 0.25, 0, 1.71944, -0.25, 0, 0.25, 0, 1.68887, -0.25, 0, 0.25, 0, 1.71944, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("Sprite/Torso/Hips/LeftLeg:rotation_degrees") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( -36.5111, -0.25, 0, 0.25, 0, -12.2064, -0.25, 0, 0.25, 0, 41.5685, -0.25, 0, 0.25, 0, 41.5685, -0.25, 0, 0.25, 0, 38.0287, -0.25, 0, 0.25, 0, 27.6439, -0.25, 0, 0.25, 0, 15.1961, -0.25, 0, 0.25, 0, -0.812915, -0.25, 0, 0.25, 0, -21.9051, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/3/type = "bezier" +tracks/3/path = NodePath("Sprite/Torso/Hips/LeftLeg/LeftLeg2:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"points": PoolRealArray( 0.476654, -0.25, 0, 0.25, 0, 0.605057, -0.25, 0, 0.25, 0, 0.65596, -0.25, 0, 0.25, 0, 0.328079, -0.25, 0, 0.25, 0, 0.448471, -0.25, 0, 0.25, 0, 0.808167, -0.25, 0, 0.25, 0, 0.969482, -0.25, 0, 0.25, 0, 0.969482, -0.25, 0, 0.25, 0, 0.713074, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/4/type = "bezier" +tracks/4/path = NodePath("Sprite/Torso/Hips/LeftLeg/LeftLeg2:position:y") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"points": PoolRealArray( 1.72253, -0.25, 0, 0.25, 0, 1.56268, -0.25, 0, 0.25, 0, 1.43582, -0.25, 0, 0.25, 0, 1.84917, -0.25, 0, 0.25, 0, 1.75505, -0.25, 0, 0.25, 0, 1.25613, -0.25, 0, 0.25, 0, 0.800583, -0.25, 0, 0.25, 0, 0.800583, -0.25, 0, 0.25, 0, 1.35634, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/5/type = "bezier" +tracks/5/path = NodePath("Sprite/Torso/Hips/LeftLeg/LeftLeg2:rotation_degrees") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"points": PoolRealArray( -39.322, -0.25, 0, 0.25, 0, -39.322, -0.25, 0, 0.25, 0, -52.2255, -0.25, 0, 0.25, 0, -20.5029, -0.25, 0, 0.25, 0, -37.9949, -0.25, 0, 0.25, 0, -70.2937, -0.25, 0, 0.25, 0, -84.8923, -0.25, 0, 0.25, 0, -105.176, -0.25, 0, 0.25, 0, -69.9995, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/6/type = "bezier" +tracks/6/path = NodePath("Sprite/Torso/Hips/RightLeg:position:x") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"points": PoolRealArray( -1.35341, -0.25, 0, 0.25, 0, -1.01721, -0.25, 0, 0.25, 0, -0.0697479, -0.25, 0, 0.25, 0, 0.572098, -0.25, 0, 0.25, 0, 0.724899, -0.25, 0, 0.25, 0, 0.724899, -0.25, 0, 0.25, 0, -0.405975, -0.25, 0, 0.25, 0, -0.925552, -0.25, 0, 0.25, 0, -0.803299, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/7/type = "bezier" +tracks/7/path = NodePath("Sprite/Torso/Hips/RightLeg:position:y") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"points": PoolRealArray( 1.47493, -0.25, 0, 0.25, 0, 1.47493, -0.25, 0, 0.25, 0, 1.90283, -0.25, 0, 0.25, 0, 1.78058, -0.25, 0, 0.25, 0, 1.68889, -0.25, 0, 0.25, 0, 1.68889, -0.25, 0, 0.25, 0, 1.65833, -0.25, 0, 0.25, 0, 1.62776, -0.25, 0, 0.25, 0, 1.71944, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/8/type = "bezier" +tracks/8/path = NodePath("Sprite/Torso/Hips/RightLeg:rotation_degrees") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/keys = { +"points": PoolRealArray( 43.3471, -0.25, 0, 0.25, 0, 43.3471, -0.25, 0, 0.25, 0, 10.8124, -0.25, 0, 0.25, 0, -15.1987, -0.25, 0, 0.25, 0, -39.0684, -0.25, 0, 0.25, 0, -45.2035, -0.25, 0, 0.25, 0, 19.567, -0.25, 0, 0.25, 0, 37.8934, -0.25, 0, 0.25, 0, 37.8934, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/9/type = "bezier" +tracks/9/path = NodePath("Sprite/Torso/Hips/RightLeg/RightLeg2:position:x") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/keys = { +"points": PoolRealArray( 0.506195, -0.25, 0, 0.25, 0, 1.0878, -0.25, 0, 0.25, 0, 1.12491, -0.25, 0, 0.25, 0, 1.03677, -0.25, 0, 0.25, 0, 0.478149, -0.25, 0, 0.25, 0, 0.152969, -0.25, 0, 0.25, 0, 0.949799, -0.25, 0, 0.25, 0, 0.716675, -0.25, 0, 0.25, 0, 0.344177, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/10/type = "bezier" +tracks/10/path = NodePath("Sprite/Torso/Hips/RightLeg/RightLeg2:position:y") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/keys = { +"points": PoolRealArray( 1.44029, -0.25, 0, 0.25, 0, 0.765198, -0.25, 0, 0.25, 0, 0.633652, -0.25, 0, 0.25, 0, 0.958115, -0.25, 0, 0.25, 0, 1.64626, -0.25, 0, 0.25, 0, 1.92607, -0.25, 0, 0.25, 0, 1.1563, -0.25, 0, 0.25, 0, 1.45392, -0.25, 0, 0.25, 0, 1.82128, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/11/type = "bezier" +tracks/11/path = NodePath("Sprite/Torso/Hips/RightLeg/RightLeg2:rotation_degrees") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/imported = false +tracks/11/enabled = true +tracks/11/keys = { +"points": PoolRealArray( -43.0657, -0.25, 0, 0.25, 0, -86.9422, -0.25, 0, 0.25, 0, -86.9422, -0.25, 0, 0.25, 0, -89.5198, -0.25, 0, 0.25, 0, -37.435, -0.25, 0, 0.25, 0, -5.33336, -0.25, 0, 0.25, 0, -64.9182, -0.25, 0, 0.25, 0, -48.1674, -0.25, 0, 0.25, 0, -19.3847, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/12/type = "bezier" +tracks/12/path = NodePath("Sprite/Torso/Hips/Cape/Cape2:position:x") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/imported = false +tracks/12/enabled = true +tracks/12/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4 ) +} +tracks/13/type = "bezier" +tracks/13/path = NodePath("Sprite/Torso/Hips/Cape/Cape2:position:y") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/keys = { +"points": PoolRealArray( 0.75, -0.25, 0, 0.25, 0, 0.75, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4 ) +} +tracks/14/type = "bezier" +tracks/14/path = NodePath("Sprite/Torso/Hips/Cape/Cape2:rotation_degrees") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/imported = false +tracks/14/enabled = true +tracks/14/keys = { +"points": PoolRealArray( -6.65944e-05, -0.25, 0, 0.25, 0, -7.1717e-05, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4 ) +} +tracks/15/type = "bezier" +tracks/15/path = NodePath("Sprite/Torso/Hips/Cape:position:x") +tracks/15/interp = 1 +tracks/15/loop_wrap = true +tracks/15/imported = false +tracks/15/enabled = true +tracks/15/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4 ) +} +tracks/16/type = "bezier" +tracks/16/path = NodePath("Sprite/Torso/Hips/Cape:position:y") +tracks/16/interp = 1 +tracks/16/loop_wrap = true +tracks/16/imported = false +tracks/16/enabled = true +tracks/16/keys = { +"points": PoolRealArray( 1, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4 ) +} +tracks/17/type = "bezier" +tracks/17/path = NodePath("Sprite/Torso/Hips/Cape:rotation_degrees") +tracks/17/interp = 1 +tracks/17/loop_wrap = true +tracks/17/imported = false +tracks/17/enabled = true +tracks/17/keys = { +"points": PoolRealArray( -43.9621, -0.25, 0, 0.25, 0, -62.1642, -0.25, 0, 0.25, 0, -43.9621, -0.25, 0, 0.25, 0, -62.1642, -0.25, 0, 0.25, 0, -43.9621, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.2, 0.5, 0.7, 0.9 ) +} +tracks/18/type = "bezier" +tracks/18/path = NodePath("Sprite/Torso/Hips/Cape/Cape2/Cape3:position:x") +tracks/18/interp = 1 +tracks/18/loop_wrap = true +tracks/18/imported = false +tracks/18/enabled = true +tracks/18/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4 ) +} +tracks/19/type = "bezier" +tracks/19/path = NodePath("Sprite/Torso/Hips/Cape/Cape2/Cape3:position:y") +tracks/19/interp = 1 +tracks/19/loop_wrap = true +tracks/19/imported = false +tracks/19/enabled = true +tracks/19/keys = { +"points": PoolRealArray( 0.75, -0.25, 0, 0.25, 0, 0.75, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4 ) +} +tracks/20/type = "bezier" +tracks/20/path = NodePath("Sprite/Torso/Hips/Cape/Cape2/Cape3:rotation_degrees") +tracks/20/interp = 1 +tracks/20/loop_wrap = true +tracks/20/imported = false +tracks/20/enabled = true +tracks/20/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 16.7043, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 16.7043, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.2, 0.5, 0.7, 0.9 ) +} +tracks/21/type = "bezier" +tracks/21/path = NodePath("Sprite/Torso/RightArm:position:x") +tracks/21/interp = 1 +tracks/21/loop_wrap = true +tracks/21/imported = false +tracks/21/enabled = true +tracks/21/keys = { +"points": PoolRealArray( 2, -0.25, 0, 0.25, 0, 1.86454, -0.25, 0, 0.25, 0, 2, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 0.9 ) +} +tracks/22/type = "bezier" +tracks/22/path = NodePath("Sprite/Torso/RightArm:position:y") +tracks/22/interp = 1 +tracks/22/loop_wrap = true +tracks/22/imported = false +tracks/22/enabled = true +tracks/22/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.541848, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 0.9 ) +} +tracks/23/type = "bezier" +tracks/23/path = NodePath("Sprite/Torso/RightArm:rotation_degrees") +tracks/23/interp = 1 +tracks/23/loop_wrap = true +tracks/23/imported = false +tracks/23/enabled = true +tracks/23/keys = { +"points": PoolRealArray( -59.791, -0.25, 0, 0.25, 0, -0.757511, -0.25, 0, 0.25, 0, -59.791, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 0.9 ) +} +tracks/24/type = "bezier" +tracks/24/path = NodePath("Sprite/Torso/RightArm/RightForearm:position:x") +tracks/24/interp = 1 +tracks/24/loop_wrap = true +tracks/24/imported = false +tracks/24/enabled = true +tracks/24/keys = { +"points": PoolRealArray( -0.705068, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/25/type = "bezier" +tracks/25/path = NodePath("Sprite/Torso/RightArm/RightForearm:position:y") +tracks/25/interp = 1 +tracks/25/loop_wrap = true +tracks/25/imported = false +tracks/25/enabled = true +tracks/25/keys = { +"points": PoolRealArray( 1.04469, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/26/type = "bezier" +tracks/26/path = NodePath("Sprite/Torso/RightArm/RightForearm:rotation_degrees") +tracks/26/interp = 1 +tracks/26/loop_wrap = true +tracks/26/imported = false +tracks/26/enabled = true +tracks/26/keys = { +"points": PoolRealArray( 93.0156, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/27/type = "value" +tracks/27/path = NodePath("Sprite/Torso/RightArm/RightForearm:z_index") +tracks/27/interp = 1 +tracks/27/loop_wrap = true +tracks/27/imported = false +tracks/27/enabled = true +tracks/27/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 3 ] +} +tracks/28/type = "bezier" +tracks/28/path = NodePath("Sprite/Torso/LeftArm:position:x") +tracks/28/interp = 1 +tracks/28/loop_wrap = true +tracks/28/imported = false +tracks/28/enabled = true +tracks/28/keys = { +"points": PoolRealArray( -1.68624, -0.25, 0, 0.25, 0, -1.45031, -0.25, 0, 0.25, 0, -1.68624, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 0.9 ) +} +tracks/29/type = "bezier" +tracks/29/path = NodePath("Sprite/Torso/LeftArm:position:y") +tracks/29/interp = 1 +tracks/29/loop_wrap = true +tracks/29/imported = false +tracks/29/enabled = true +tracks/29/keys = { +"points": PoolRealArray( -0.248942, -0.25, 0, 0.25, 0, -0.349645, -0.25, 0, 0.25, 0, -0.248942, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 0.9 ) +} +tracks/30/type = "bezier" +tracks/30/path = NodePath("Sprite/Torso/LeftArm:rotation_degrees") +tracks/30/interp = 1 +tracks/30/loop_wrap = true +tracks/30/imported = false +tracks/30/enabled = true +tracks/30/keys = { +"points": PoolRealArray( 33.4274, -0.25, 0, 0.25, 0, -24.4488, -0.25, 0, 0.25, 0, 33.4274, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 0.9 ) +} +tracks/31/type = "value" +tracks/31/path = NodePath("Sprite/Torso/LeftArm/LeftForearm:z_index") +tracks/31/interp = 1 +tracks/31/loop_wrap = true +tracks/31/imported = false +tracks/31/enabled = true +tracks/31/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ -3 ] +} +tracks/32/type = "bezier" +tracks/32/path = NodePath("Sprite/Torso/LeftArm/LeftForearm:position:x") +tracks/32/interp = 1 +tracks/32/loop_wrap = true +tracks/32/imported = false +tracks/32/enabled = true +tracks/32/keys = { +"points": PoolRealArray( -0.355755, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/33/type = "bezier" +tracks/33/path = NodePath("Sprite/Torso/LeftArm/LeftForearm:position:y") +tracks/33/interp = 1 +tracks/33/loop_wrap = true +tracks/33/imported = false +tracks/33/enabled = true +tracks/33/keys = { +"points": PoolRealArray( 1.43273, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/34/type = "bezier" +tracks/34/path = NodePath("Sprite/Torso/LeftArm/LeftForearm:rotation_degrees") +tracks/34/interp = 1 +tracks/34/loop_wrap = true +tracks/34/imported = false +tracks/34/enabled = true +tracks/34/keys = { +"points": PoolRealArray( 79.3702, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/35/type = "bezier" +tracks/35/path = NodePath("Sprite/Torso:offset:x") +tracks/35/interp = 1 +tracks/35/loop_wrap = true +tracks/35/imported = false +tracks/35/enabled = true +tracks/35/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 0.9 ) +} +tracks/36/type = "bezier" +tracks/36/path = NodePath("Sprite/Torso:offset:y") +tracks/36/interp = 1 +tracks/36/loop_wrap = true +tracks/36/imported = false +tracks/36/enabled = true +tracks/36/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.2, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 0.9 ) +} +tracks/37/type = "bezier" +tracks/37/path = NodePath("Sprite/Torso/Hips:position:x") +tracks/37/interp = 1 +tracks/37/loop_wrap = true +tracks/37/imported = false +tracks/37/enabled = true +tracks/37/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 0.9 ) +} +tracks/38/type = "bezier" +tracks/38/path = NodePath("Sprite/Torso/Hips:position:y") +tracks/38/interp = 1 +tracks/38/loop_wrap = true +tracks/38/imported = false +tracks/38/enabled = true +tracks/38/keys = { +"points": PoolRealArray( 2.75, -0.25, 0, 0.25, 0, 2.58067, -0.25, 0, 0.25, 0, 2.75, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 0.9 ) +} +tracks/39/type = "bezier" +tracks/39/path = NodePath("Sprite/Torso/Hips:rotation_degrees") +tracks/39/interp = 1 +tracks/39/loop_wrap = true +tracks/39/imported = false +tracks/39/enabled = true +tracks/39/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 0.9 ) +} +tracks/40/type = "bezier" +tracks/40/path = NodePath("Sprite/Torso/Neck:position:x") +tracks/40/interp = 1 +tracks/40/loop_wrap = true +tracks/40/imported = false +tracks/40/enabled = true +tracks/40/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 0.9 ) +} +tracks/41/type = "bezier" +tracks/41/path = NodePath("Sprite/Torso/Neck:position:y") +tracks/41/interp = 1 +tracks/41/loop_wrap = true +tracks/41/imported = false +tracks/41/enabled = true +tracks/41/keys = { +"points": PoolRealArray( -2.5, -0.25, 0, 0.25, 0, -2.7, -0.25, 0, 0.25, 0, -2.5, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 0.9 ) +} +tracks/42/type = "bezier" +tracks/42/path = NodePath("Sprite/Torso/Neck:rotation_degrees") +tracks/42/interp = 1 +tracks/42/loop_wrap = true +tracks/42/imported = false +tracks/42/enabled = true +tracks/42/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 0.9 ) +} + +[sub_resource type="Animation" id=19] +length = 0.9 +loop = true +tracks/0/type = "bezier" +tracks/0/path = NodePath("Sprite/Torso/Hips/LeftLeg:position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( 1.04134, -0.25, 0, 0.25, 0, 0.518555, -0.25, 0, 0.25, 0, 0.319397, -0.25, 0, 0.25, 0, -0.626587, -0.25, 0, 0.25, 0, -0.900421, -0.25, 0, 0.25, 0, -0.651474, -0.25, 0, 0.25, 0, -0.203384, -0.25, 0, 0.25, 0, 0.618134, -0.25, 0, 0.25, 0, 1.36496, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("Sprite/Torso/Hips/LeftLeg:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 1.67531, -0.25, 0, 0.25, 0, 1.77489, -0.25, 0, 0.25, 0, 1.77489, -0.25, 0, 0.25, 0, 1.62552, -0.25, 0, 0.25, 0, 1.77487, -0.25, 0, 0.25, 0, 1.77487, -0.25, 0, 0.25, 0, 1.79977, -0.25, 0, 0.25, 0, 1.60065, -0.25, 0, 0.25, 0, 1.45128, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("Sprite/Torso/Hips/LeftLeg:rotation_degrees") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( -18.5702, -0.25, 0, 0.25, 0, -38.5768, -0.25, 0, 0.25, 0, -17.9135, -0.25, 0, 0.25, 0, 27.345, -0.25, 0, 0.25, 0, 35.3847, -0.25, 0, 0.25, 0, 10.0679, -0.25, 0, 0.25, 0, -14.8415, -0.25, 0, 0.25, 0, -37.666, -0.25, 0, 0.25, 0, -52.8765, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/3/type = "bezier" +tracks/3/path = NodePath("Sprite/Torso/Hips/LeftLeg/LeftLeg2:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.610504, -0.25, 0, 0.25, 0, -0.832764, -0.25, 0, 0.25, 0, -0.59491, -0.25, 0, 0.25, 0, -0.59491, -0.25, 0, 0.25, 0, -0.932556, -0.25, 0, 0.25, 0, -0.83197, -0.25, 0, 0.25, 0, -0.854431, -0.25, 0, 0.25, 0, -0.773911, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/4/type = "bezier" +tracks/4/path = NodePath("Sprite/Torso/Hips/LeftLeg/LeftLeg2:position:y") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"points": PoolRealArray( 1.75, -0.25, 0, 0.25, 0, 1.677, -0.25, 0, 0.25, 0, 1.47433, -0.25, 0, 0.25, 0, 1.77173, -0.25, 0, 0.25, 0, 1.77173, -0.25, 0, 0.25, 0, 1.57886, -0.25, 0, 0.25, 0, 1.29642, -0.25, 0, 0.25, 0, 1.1218, -0.25, 0, 0.25, 0, 1.31067, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/5/type = "bezier" +tracks/5/path = NodePath("Sprite/Torso/Hips/LeftLeg/LeftLeg2:rotation_degrees") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 54.6344, -0.25, 0, 0.25, 0, 68.1557, -0.25, 0, 0.25, 0, 34.1175, -0.25, 0, 0.25, 0, 43.7221, -0.25, 0, 0.25, 0, 80.3745, -0.25, 0, 0.25, 0, 91.6715, -0.25, 0, 0.25, 0, 88.8735, -0.25, 0, 0.25, 0, 53.5431, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/6/type = "bezier" +tracks/6/path = NodePath("Sprite/Torso/Hips/RightLeg:position:x") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"points": PoolRealArray( -1.14091, -0.25, 0, 0.25, 0, -0.618134, -0.25, 0, 0.25, 0, 0.10379, -0.25, 0, 0.25, 0, 0.55191, -0.25, 0, 0.25, 0, 0.850647, -0.25, 0, 0.25, 0, 0.651489, -0.25, 0, 0.25, 0, 0.651489, -0.25, 0, 0.25, 0, -0.643021, -0.25, 0, 0.25, 0, -1.11601, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/7/type = "bezier" +tracks/7/path = NodePath("Sprite/Torso/Hips/RightLeg:position:y") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"points": PoolRealArray( 1.77489, -0.25, 0, 0.25, 0, 1.89935, -0.25, 0, 0.25, 0, 1.84956, -0.25, 0, 0.25, 0, 1.77487, -0.25, 0, 0.25, 0, 1.70018, -0.25, 0, 0.25, 0, 1.94913, -0.25, 0, 0.25, 0, 1.79976, -0.25, 0, 0.25, 0, 1.84955, -0.25, 0, 0.25, 0, 1.65039, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/8/type = "bezier" +tracks/8/path = NodePath("Sprite/Torso/Hips/RightLeg:rotation_degrees") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/keys = { +"points": PoolRealArray( 25.5676, -0.25, 0, 0.25, 0, 1.13555, -0.25, 0, 0.25, 0, 335.661, -0.25, 0, 0.25, 0, 320.489, -0.25, 0, 0.25, 0, 313.394, -0.25, 0, 0.25, 0, 313.694, -0.25, 0, 0.25, 0, 315.147, -0.25, 0, 0.25, 0, 379.202, -0.25, 0, 0.25, 0, 393.788, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/9/type = "bezier" +tracks/9/path = NodePath("Sprite/Torso/Hips/RightLeg/RightLeg2:position:x") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/keys = { +"points": PoolRealArray( -0.771408, -0.25, 0, 0.25, 0, -0.972992, -0.25, 0, 0.25, 0, -0.972992, -0.25, 0, 0.25, 0, -0.908661, -0.25, 0, 0.25, 0, -0.657059, -0.25, 0, 0.25, 0, -0.397499, -0.25, 0, 0.25, 0, -0.76767, -0.25, 0, 0.25, 0, -0.508026, -0.25, 0, 0.25, 0, -0.687546, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/10/type = "bezier" +tracks/10/path = NodePath("Sprite/Torso/Hips/RightLeg/RightLeg2:position:y") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/keys = { +"points": PoolRealArray( 1.29114, -0.25, 0, 0.25, 0, 1.17062, -0.25, 0, 0.25, 0, 1.17062, -0.25, 0, 0.25, 0, 1.28824, -0.25, 0, 0.25, 0, 1.73553, -0.25, 0, 0.25, 0, 1.93512, -0.25, 0, 0.25, 0, 1.74243, -0.25, 0, 0.25, 0, 1.73108, -0.25, 0, 0.25, 0, 1.73137, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/11/type = "bezier" +tracks/11/path = NodePath("Sprite/Torso/Hips/RightLeg/RightLeg2:rotation_degrees") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/imported = false +tracks/11/enabled = true +tracks/11/keys = { +"points": PoolRealArray( 78.2623, -0.25, 0, 0.25, 0, 100.236, -0.25, 0, 0.25, 0, 100.236, -0.25, 0, 0.25, 0, 77.8788, -0.25, 0, 0.25, 0, 44.5188, -0.25, 0, 0.25, 0, 22.9561, -0.25, 0, 0.25, 0, 61.848, -0.25, 0, 0.25, 0, 31.9824, -0.25, 0, 0.25, 0, 48.0522, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) +} +tracks/12/type = "bezier" +tracks/12/path = NodePath("Sprite/Torso/LeftArm:position:x") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/imported = false +tracks/12/enabled = true +tracks/12/keys = { +"points": PoolRealArray( -1.90477, -0.25, 0, 0.25, 0, -1.90477, -0.25, 0, 0.25, 0, -1.90477, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4, 0.9 ) +} +tracks/13/type = "bezier" +tracks/13/path = NodePath("Sprite/Torso/LeftArm:position:y") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/keys = { +"points": PoolRealArray( -0.301086, -0.25, 0, 0.25, 0, -0.301086, -0.25, 0, 0.25, 0, -0.301086, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4, 0.9 ) +} +tracks/14/type = "bezier" +tracks/14/path = NodePath("Sprite/Torso/LeftArm:rotation_degrees") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/imported = false +tracks/14/enabled = true +tracks/14/keys = { +"points": PoolRealArray( 52.623, -0.25, 0, 0.25, 0, 8.15576, -0.25, 0, 0.25, 0, 52.623, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4, 0.9 ) +} +tracks/15/type = "bezier" +tracks/15/path = NodePath("Sprite/Torso/LeftArm/LeftForearm:position:x") +tracks/15/interp = 1 +tracks/15/loop_wrap = true +tracks/15/imported = false +tracks/15/enabled = true +tracks/15/keys = { +"points": PoolRealArray( 0.549039, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/16/type = "bezier" +tracks/16/path = NodePath("Sprite/Torso/LeftArm/LeftForearm:position:y") +tracks/16/interp = 1 +tracks/16/loop_wrap = true +tracks/16/imported = false +tracks/16/enabled = true +tracks/16/keys = { +"points": PoolRealArray( 1.02748, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/17/type = "bezier" +tracks/17/path = NodePath("Sprite/Torso/LeftArm/LeftForearm:rotation_degrees") +tracks/17/interp = 1 +tracks/17/loop_wrap = true +tracks/17/imported = false +tracks/17/enabled = true +tracks/17/keys = { +"points": PoolRealArray( -73.1911, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/18/type = "value" +tracks/18/path = NodePath("Sprite/Torso/LeftArm/LeftForearm:z_index") +tracks/18/interp = 1 +tracks/18/loop_wrap = true +tracks/18/imported = false +tracks/18/enabled = true +tracks/18/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 3 ] +} +tracks/19/type = "bezier" +tracks/19/path = NodePath("Sprite/Torso/RightArm:position:x") +tracks/19/interp = 1 +tracks/19/loop_wrap = true +tracks/19/imported = false +tracks/19/enabled = true +tracks/19/keys = { +"points": PoolRealArray( 1.92215, -0.25, 0, 0.25, 0, 1.39937, -0.25, 0, 0.25, 0, 1.92215, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4, 0.9 ) +} +tracks/20/type = "bezier" +tracks/20/path = NodePath("Sprite/Torso/RightArm:position:y") +tracks/20/interp = 1 +tracks/20/loop_wrap = true +tracks/20/imported = false +tracks/20/enabled = true +tracks/20/keys = { +"points": PoolRealArray( -0.211825, -0.25, 0, 0.25, 0, -0.0375653, -0.25, 0, 0.25, 0, -0.211825, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4, 0.9 ) +} +tracks/21/type = "bezier" +tracks/21/path = NodePath("Sprite/Torso/RightArm:rotation_degrees") +tracks/21/interp = 1 +tracks/21/loop_wrap = true +tracks/21/imported = false +tracks/21/enabled = true +tracks/21/keys = { +"points": PoolRealArray( -20.761, -0.25, 0, 0.25, 0, 17.0193, -0.25, 0, 0.25, 0, -20.761, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.4, 0.9 ) +} +tracks/22/type = "bezier" +tracks/22/path = NodePath("Sprite/Torso/RightArm/RightForearm:position:x") +tracks/22/interp = 1 +tracks/22/loop_wrap = true +tracks/22/imported = false +tracks/22/enabled = true +tracks/22/keys = { +"points": PoolRealArray( 0.531615, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/23/type = "bezier" +tracks/23/path = NodePath("Sprite/Torso/RightArm/RightForearm:position:y") +tracks/23/interp = 1 +tracks/23/loop_wrap = true +tracks/23/imported = false +tracks/23/enabled = true +tracks/23/keys = { +"points": PoolRealArray( 1.05422, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/24/type = "bezier" +tracks/24/path = NodePath("Sprite/Torso/RightArm/RightForearm:rotation_degrees") +tracks/24/interp = 1 +tracks/24/loop_wrap = true +tracks/24/imported = false +tracks/24/enabled = true +tracks/24/keys = { +"points": PoolRealArray( -84.8294, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/25/type = "value" +tracks/25/path = NodePath("Sprite/Torso/RightArm/RightForearm:z_index") +tracks/25/interp = 1 +tracks/25/loop_wrap = true +tracks/25/imported = false +tracks/25/enabled = true +tracks/25/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ -3 ] +} +tracks/26/type = "bezier" +tracks/26/path = NodePath("Sprite/Torso/Hips/Cape/Cape2:position:x") +tracks/26/interp = 1 +tracks/26/loop_wrap = true +tracks/26/imported = false +tracks/26/enabled = true +tracks/26/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 0.9 ) +} +tracks/27/type = "bezier" +tracks/27/path = NodePath("Sprite/Torso/Hips/Cape/Cape2:position:y") +tracks/27/interp = 1 +tracks/27/loop_wrap = true +tracks/27/imported = false +tracks/27/enabled = true +tracks/27/keys = { +"points": PoolRealArray( 0.75, -0.25, 0, 0.25, 0, 0.75, -0.25, 0, 0.25, 0, 0.75, -0.25, 0, 0.25, 0, 0.75, -0.25, 0, 0.25, 0, 0.75, -0.25, 0, 0.25, 0, 0.75, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 0.9 ) +} +tracks/28/type = "bezier" +tracks/28/path = NodePath("Sprite/Torso/Hips/Cape/Cape2:rotation_degrees") +tracks/28/interp = 1 +tracks/28/loop_wrap = true +tracks/28/imported = false +tracks/28/enabled = true +tracks/28/keys = { +"points": PoolRealArray( -6.83018e-06, -0.25, 0, 0.25, 0, 3.41509e-06, -0.25, 0, 0.25, 0, -6.83018e-06, -0.25, 0, 0.25, 0, -6.83018e-06, -0.25, 0, 0.25, 0, 3.41509e-06, -0.25, 0, 0.25, 0, -6.83018e-06, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 0.9 ) +} +tracks/29/type = "bezier" +tracks/29/path = NodePath("Sprite/Torso/Hips/Cape:position:x") +tracks/29/interp = 1 +tracks/29/loop_wrap = true +tracks/29/imported = false +tracks/29/enabled = true +tracks/29/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 0.9 ) +} +tracks/30/type = "bezier" +tracks/30/path = NodePath("Sprite/Torso/Hips/Cape:position:y") +tracks/30/interp = 1 +tracks/30/loop_wrap = true +tracks/30/imported = false +tracks/30/enabled = true +tracks/30/keys = { +"points": PoolRealArray( 1, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 0.9 ) +} +tracks/31/type = "bezier" +tracks/31/path = NodePath("Sprite/Torso/Hips/Cape:rotation_degrees") +tracks/31/interp = 1 +tracks/31/loop_wrap = true +tracks/31/imported = false +tracks/31/enabled = true +tracks/31/keys = { +"points": PoolRealArray( 36.2948, -0.25, 0, 0.25, 0, 22.8133, -0.25, 0, 0.25, 0, 36.2948, -0.25, 0, 0.25, 0, 36.2948, -0.25, 0, 0.25, 0, 22.8133, -0.25, 0, 0.25, 0, 36.2948, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 0.9 ) +} +tracks/32/type = "bezier" +tracks/32/path = NodePath("Sprite/Torso/Hips/Cape/Cape2/Cape3:position:x") +tracks/32/interp = 1 +tracks/32/loop_wrap = true +tracks/32/imported = false +tracks/32/enabled = true +tracks/32/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 0.9 ) +} +tracks/33/type = "bezier" +tracks/33/path = NodePath("Sprite/Torso/Hips/Cape/Cape2/Cape3:position:y") +tracks/33/interp = 1 +tracks/33/loop_wrap = true +tracks/33/imported = false +tracks/33/enabled = true +tracks/33/keys = { +"points": PoolRealArray( 0.75, -0.25, 0, 0.25, 0, 0.75, -0.25, 0, 0.25, 0, 0.75, -0.25, 0, 0.25, 0, 0.75, -0.25, 0, 0.25, 0, 0.75, -0.25, 0, 0.25, 0, 0.75, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 0.9 ) +} +tracks/34/type = "bezier" +tracks/34/path = NodePath("Sprite/Torso/Hips/Cape/Cape2/Cape3:rotation_degrees") +tracks/34/interp = 1 +tracks/34/loop_wrap = true +tracks/34/imported = false +tracks/34/enabled = true +tracks/34/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -10.5123, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, -10.5123, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 0.9 ) +} +tracks/35/type = "value" +tracks/35/path = NodePath("Sprite/Torso:offset") +tracks/35/interp = 1 +tracks/35/loop_wrap = true +tracks/35/imported = false +tracks/35/enabled = true +tracks/35/keys = { +"times": PoolRealArray( 0, 0.5, 0.9 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 0, +"values": [ Vector2( 0, 0 ), Vector2( 0, -0.25 ), Vector2( 0, 0 ) ] +} +tracks/36/type = "bezier" +tracks/36/path = NodePath("Sprite/Torso/Neck:position:x") +tracks/36/interp = 1 +tracks/36/loop_wrap = true +tracks/36/imported = false +tracks/36/enabled = true +tracks/36/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 0.9 ) +} +tracks/37/type = "bezier" +tracks/37/path = NodePath("Sprite/Torso/Neck:position:y") +tracks/37/interp = 1 +tracks/37/loop_wrap = true +tracks/37/imported = false +tracks/37/enabled = true +tracks/37/keys = { +"points": PoolRealArray( -2.5, -0.25, 0, 0.25, 0, -2.65, -0.25, 0, 0.25, 0, -2.5, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 0.9 ) +} +tracks/38/type = "bezier" +tracks/38/path = NodePath("Sprite/Torso/Hips:position:x") +tracks/38/interp = 1 +tracks/38/loop_wrap = true +tracks/38/imported = false +tracks/38/enabled = true +tracks/38/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 0.9 ) +} +tracks/39/type = "bezier" +tracks/39/path = NodePath("Sprite/Torso/Hips:position:y") +tracks/39/interp = 1 +tracks/39/loop_wrap = true +tracks/39/imported = false +tracks/39/enabled = true +tracks/39/keys = { +"points": PoolRealArray( 2.75, -0.25, 0, 0.25, 0, 2.55, -0.25, 0, 0.25, 0, 2.75, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 0.9 ) +} + +[sub_resource type="CapsuleShape2D" id=20] +radius = 1.5 +height = 10.5 + [sub_resource type="AtlasTexture" id=1] flags = 8 atlas = ExtResource( 2 ) @@ -88,604 +1801,40 @@ flags = 8 atlas = ExtResource( 2 ) region = Rect2( 3, 19, 1, 2 ) -[sub_resource type="Animation" id=17] -resource_name = "Idle" -length = 2.0 -loop = true -tracks/0/type = "bezier" -tracks/0/path = NodePath("Torso/RightArm:position:x") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"points": PoolRealArray( 2, -0.25, 0, 0.25, 0, 2, -0.25, 0, 0.25, 0, 2, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 1, 2 ) -} -tracks/1/type = "bezier" -tracks/1/path = NodePath("Torso/RightArm:position:y") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 1, 2 ) -} -tracks/2/type = "bezier" -tracks/2/path = NodePath("Torso/RightArm:rotation_degrees") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 1, 2 ) -} -tracks/3/type = "bezier" -tracks/3/path = NodePath("Torso/LeftArm:position:x") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/keys = { -"points": PoolRealArray( -2, -0.25, 0, 0.25, 0, -2, -0.25, 0, 0.25, 0, -2, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 1, 2 ) -} -tracks/4/type = "bezier" -tracks/4/path = NodePath("Torso/LeftArm:position:y") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 1, 2 ) -} -tracks/5/type = "bezier" -tracks/5/path = NodePath("Torso/LeftArm:rotation_degrees") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 1, 2 ) -} -tracks/6/type = "bezier" -tracks/6/path = NodePath("Torso/LeftArm/LeftForearm:position:x") -tracks/6/interp = 1 -tracks/6/loop_wrap = true -tracks/6/imported = false -tracks/6/enabled = true -tracks/6/keys = { -"points": PoolRealArray( -0.5, -0.25, 0, 0.25, 0, -0.68338, -0.25, 0, 0.25, 0, -0.5, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 1, 2 ) -} -tracks/7/type = "bezier" -tracks/7/path = NodePath("Torso/LeftArm/LeftForearm:position:y") -tracks/7/interp = 1 -tracks/7/loop_wrap = true -tracks/7/imported = false -tracks/7/enabled = true -tracks/7/keys = { -"points": PoolRealArray( 1.75, -0.25, 0, 0.25, 0, 1.44437, -0.25, 0, 0.25, 0, 1.75, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 1, 2 ) -} -tracks/8/type = "bezier" -tracks/8/path = NodePath("Torso/LeftArm/LeftForearm:rotation_degrees") -tracks/8/interp = 1 -tracks/8/loop_wrap = true -tracks/8/imported = false -tracks/8/enabled = true -tracks/8/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 11.166, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 1, 2 ) -} -tracks/9/type = "bezier" -tracks/9/path = NodePath("Torso/RightArm/RightForearm:position:x") -tracks/9/interp = 1 -tracks/9/loop_wrap = true -tracks/9/imported = false -tracks/9/enabled = true -tracks/9/keys = { -"points": PoolRealArray( 0.5, -0.25, 0, 0.25, 0, 0.683, -0.25, 0, 0.25, 0, 0.5, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 1, 2 ) -} -tracks/10/type = "bezier" -tracks/10/path = NodePath("Torso/RightArm/RightForearm:position:y") -tracks/10/interp = 1 -tracks/10/loop_wrap = true -tracks/10/imported = false -tracks/10/enabled = true -tracks/10/keys = { -"points": PoolRealArray( 1.75, -0.25, 0, 0.25, 0, 1.444, -0.25, 0, 0.25, 0, 1.75, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 1, 2 ) -} -tracks/11/type = "bezier" -tracks/11/path = NodePath("Torso/RightArm/RightForearm:rotation_degrees") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -11.2, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 1, 2 ) -} -tracks/12/type = "bezier" -tracks/12/path = NodePath("Torso/Hips:position:x") -tracks/12/interp = 1 -tracks/12/loop_wrap = true -tracks/12/imported = false -tracks/12/enabled = true -tracks/12/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/13/type = "bezier" -tracks/13/path = NodePath("Torso/Hips:position:y") -tracks/13/interp = 1 -tracks/13/loop_wrap = true -tracks/13/imported = false -tracks/13/enabled = true -tracks/13/keys = { -"points": PoolRealArray( 2.75, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/14/type = "bezier" -tracks/14/path = NodePath("Torso/Hips:rotation_degrees") -tracks/14/interp = 1 -tracks/14/loop_wrap = true -tracks/14/imported = false -tracks/14/enabled = true -tracks/14/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/15/type = "bezier" -tracks/15/path = NodePath("Torso/Hips/LeftLeg:position:x") -tracks/15/interp = 1 -tracks/15/loop_wrap = true -tracks/15/imported = false -tracks/15/enabled = true -tracks/15/keys = { -"points": PoolRealArray( -1, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/16/type = "bezier" -tracks/16/path = NodePath("Torso/Hips/LeftLeg:position:y") -tracks/16/interp = 1 -tracks/16/loop_wrap = true -tracks/16/imported = false -tracks/16/enabled = true -tracks/16/keys = { -"points": PoolRealArray( 1.75, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/17/type = "bezier" -tracks/17/path = NodePath("Torso/Hips/LeftLeg:rotation_degrees") -tracks/17/interp = 1 -tracks/17/loop_wrap = true -tracks/17/imported = false -tracks/17/enabled = true -tracks/17/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/18/type = "bezier" -tracks/18/path = NodePath("Torso/Hips/LeftLeg/LeftLeg2:position:x") -tracks/18/interp = 1 -tracks/18/loop_wrap = true -tracks/18/imported = false -tracks/18/enabled = true -tracks/18/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/19/type = "bezier" -tracks/19/path = NodePath("Torso/Hips/LeftLeg/LeftLeg2:position:y") -tracks/19/interp = 1 -tracks/19/loop_wrap = true -tracks/19/imported = false -tracks/19/enabled = true -tracks/19/keys = { -"points": PoolRealArray( 1.75, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/20/type = "bezier" -tracks/20/path = NodePath("Torso/Hips/LeftLeg/LeftLeg2:rotation_degrees") -tracks/20/interp = 1 -tracks/20/loop_wrap = true -tracks/20/imported = false -tracks/20/enabled = true -tracks/20/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/21/type = "bezier" -tracks/21/path = NodePath("Torso/Hips/LeftLeg/LeftLeg2/Node2D:position:x") -tracks/21/interp = 1 -tracks/21/loop_wrap = true -tracks/21/imported = false -tracks/21/enabled = true -tracks/21/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/22/type = "bezier" -tracks/22/path = NodePath("Torso/Hips/LeftLeg/LeftLeg2/Node2D:position:y") -tracks/22/interp = 1 -tracks/22/loop_wrap = true -tracks/22/imported = false -tracks/22/enabled = true -tracks/22/keys = { -"points": PoolRealArray( 0.91716, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/23/type = "bezier" -tracks/23/path = NodePath("Torso/Hips/LeftLeg/LeftLeg2/Node2D:rotation_degrees") -tracks/23/interp = 1 -tracks/23/loop_wrap = true -tracks/23/imported = false -tracks/23/enabled = true -tracks/23/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/24/type = "bezier" -tracks/24/path = NodePath("Torso/Hips/RightLeg:position:x") -tracks/24/interp = 1 -tracks/24/loop_wrap = true -tracks/24/imported = false -tracks/24/enabled = true -tracks/24/keys = { -"points": PoolRealArray( 1, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/25/type = "bezier" -tracks/25/path = NodePath("Torso/Hips/RightLeg:position:y") -tracks/25/interp = 1 -tracks/25/loop_wrap = true -tracks/25/imported = false -tracks/25/enabled = true -tracks/25/keys = { -"points": PoolRealArray( 1.75, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/26/type = "bezier" -tracks/26/path = NodePath("Torso/Hips/RightLeg:rotation_degrees") -tracks/26/interp = 1 -tracks/26/loop_wrap = true -tracks/26/imported = false -tracks/26/enabled = true -tracks/26/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/27/type = "bezier" -tracks/27/path = NodePath("Torso/Hips/RightLeg/RightLeg2:position:x") -tracks/27/interp = 1 -tracks/27/loop_wrap = true -tracks/27/imported = false -tracks/27/enabled = true -tracks/27/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/28/type = "bezier" -tracks/28/path = NodePath("Torso/Hips/RightLeg/RightLeg2:position:y") -tracks/28/interp = 1 -tracks/28/loop_wrap = true -tracks/28/imported = false -tracks/28/enabled = true -tracks/28/keys = { -"points": PoolRealArray( 1.75, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/29/type = "bezier" -tracks/29/path = NodePath("Torso/Hips/RightLeg/RightLeg2:rotation_degrees") -tracks/29/interp = 1 -tracks/29/loop_wrap = true -tracks/29/imported = false -tracks/29/enabled = true -tracks/29/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/30/type = "bezier" -tracks/30/path = NodePath("Torso/Hips/RightLeg/RightLeg2/Node2D:position:x") -tracks/30/interp = 1 -tracks/30/loop_wrap = true -tracks/30/imported = false -tracks/30/enabled = true -tracks/30/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/31/type = "bezier" -tracks/31/path = NodePath("Torso/Hips/RightLeg/RightLeg2/Node2D:position:y") -tracks/31/interp = 1 -tracks/31/loop_wrap = true -tracks/31/imported = false -tracks/31/enabled = true -tracks/31/keys = { -"points": PoolRealArray( 0.91716, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} -tracks/32/type = "bezier" -tracks/32/path = NodePath("Torso/Hips/RightLeg/RightLeg2/Node2D:rotation_degrees") -tracks/32/interp = 1 -tracks/32/loop_wrap = true -tracks/32/imported = false -tracks/32/enabled = true -tracks/32/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 1 ) -} - -[sub_resource type="Animation" id=18] -resource_name = "RunLeft" -length = 0.9 -loop = true -tracks/0/type = "bezier" -tracks/0/path = NodePath("Torso/Hips/LeftLeg:position:x") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"points": PoolRealArray( 1.07832, -0.25, 0, 0.25, 0, 0.528183, -0.25, 0, 0.25, 0, -0.877747, -0.25, 0, 0.25, 0, -1.15282, -0.25, 0, 0.25, 0, -1.06113, -0.25, 0, 0.25, 0, -0.847183, -0.25, 0, 0.25, 0, -0.388733, -0.25, 0, 0.25, 0, 0.436493, -0.25, 0, 0.25, 0, 0.86438, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/1/type = "bezier" -tracks/1/path = NodePath("Torso/Hips/LeftLeg:position:y") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/keys = { -"points": PoolRealArray( 1.59718, -0.25, 0, 0.25, 0, 1.65831, -0.25, 0, 0.25, 0, 1.4138, -0.25, 0, 0.25, 0, 1.75, -0.25, 0, 0.25, 0, 1.78056, -0.25, 0, 0.25, 0, 1.75, -0.25, 0, 0.25, 0, 1.71944, -0.25, 0, 0.25, 0, 1.68887, -0.25, 0, 0.25, 0, 1.71944, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/2/type = "bezier" -tracks/2/path = NodePath("Torso/Hips/LeftLeg:rotation_degrees") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/keys = { -"points": PoolRealArray( -36.5111, -0.25, 0, 0.25, 0, -12.2064, -0.25, 0, 0.25, 0, 41.5685, -0.25, 0, 0.25, 0, 41.5685, -0.25, 0, 0.25, 0, 38.0287, -0.25, 0, 0.25, 0, 27.6439, -0.25, 0, 0.25, 0, 15.1961, -0.25, 0, 0.25, 0, -0.812915, -0.25, 0, 0.25, 0, -21.9051, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/3/type = "bezier" -tracks/3/path = NodePath("Torso/Hips/LeftLeg/LeftLeg2:position:x") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/keys = { -"points": PoolRealArray( 0.476654, -0.25, 0, 0.25, 0, 0.605057, -0.25, 0, 0.25, 0, 0.65596, -0.25, 0, 0.25, 0, 0.328079, -0.25, 0, 0.25, 0, 0.448471, -0.25, 0, 0.25, 0, 0.808167, -0.25, 0, 0.25, 0, 0.969482, -0.25, 0, 0.25, 0, 0.969482, -0.25, 0, 0.25, 0, 0.713074, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/4/type = "bezier" -tracks/4/path = NodePath("Torso/Hips/LeftLeg/LeftLeg2:position:y") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/keys = { -"points": PoolRealArray( 1.72253, -0.25, 0, 0.25, 0, 1.56268, -0.25, 0, 0.25, 0, 1.43582, -0.25, 0, 0.25, 0, 1.84917, -0.25, 0, 0.25, 0, 1.75505, -0.25, 0, 0.25, 0, 1.25613, -0.25, 0, 0.25, 0, 0.800583, -0.25, 0, 0.25, 0, 0.800583, -0.25, 0, 0.25, 0, 1.35634, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/5/type = "bezier" -tracks/5/path = NodePath("Torso/Hips/LeftLeg/LeftLeg2:rotation_degrees") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/keys = { -"points": PoolRealArray( -39.322, -0.25, 0, 0.25, 0, -39.322, -0.25, 0, 0.25, 0, -52.2255, -0.25, 0, 0.25, 0, -20.5029, -0.25, 0, 0.25, 0, -37.9949, -0.25, 0, 0.25, 0, -70.2937, -0.25, 0, 0.25, 0, -84.8923, -0.25, 0, 0.25, 0, -105.176, -0.25, 0, 0.25, 0, -69.9995, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/6/type = "bezier" -tracks/6/path = NodePath("Torso/Hips/RightLeg:position:x") -tracks/6/interp = 1 -tracks/6/loop_wrap = true -tracks/6/imported = false -tracks/6/enabled = true -tracks/6/keys = { -"points": PoolRealArray( -1.35341, -0.25, 0, 0.25, 0, -1.01721, -0.25, 0, 0.25, 0, -0.0697479, -0.25, 0, 0.25, 0, 0.572098, -0.25, 0, 0.25, 0, 0.724899, -0.25, 0, 0.25, 0, 0.724899, -0.25, 0, 0.25, 0, -0.405975, -0.25, 0, 0.25, 0, -0.925552, -0.25, 0, 0.25, 0, -0.803299, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/7/type = "bezier" -tracks/7/path = NodePath("Torso/Hips/RightLeg:position:y") -tracks/7/interp = 1 -tracks/7/loop_wrap = true -tracks/7/imported = false -tracks/7/enabled = true -tracks/7/keys = { -"points": PoolRealArray( 1.47493, -0.25, 0, 0.25, 0, 1.47493, -0.25, 0, 0.25, 0, 1.90283, -0.25, 0, 0.25, 0, 1.78058, -0.25, 0, 0.25, 0, 1.68889, -0.25, 0, 0.25, 0, 1.68889, -0.25, 0, 0.25, 0, 1.65833, -0.25, 0, 0.25, 0, 1.62776, -0.25, 0, 0.25, 0, 1.71944, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/8/type = "bezier" -tracks/8/path = NodePath("Torso/Hips/RightLeg:rotation_degrees") -tracks/8/interp = 1 -tracks/8/loop_wrap = true -tracks/8/imported = false -tracks/8/enabled = true -tracks/8/keys = { -"points": PoolRealArray( 43.3471, -0.25, 0, 0.25, 0, 43.3471, -0.25, 0, 0.25, 0, 10.8124, -0.25, 0, 0.25, 0, -15.1987, -0.25, 0, 0.25, 0, -39.0684, -0.25, 0, 0.25, 0, -45.2035, -0.25, 0, 0.25, 0, 19.567, -0.25, 0, 0.25, 0, 37.8934, -0.25, 0, 0.25, 0, 37.8934, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/9/type = "bezier" -tracks/9/path = NodePath("Torso/Hips/RightLeg/RightLeg2:position:x") -tracks/9/interp = 1 -tracks/9/loop_wrap = true -tracks/9/imported = false -tracks/9/enabled = true -tracks/9/keys = { -"points": PoolRealArray( 0.506195, -0.25, 0, 0.25, 0, 1.0878, -0.25, 0, 0.25, 0, 1.12491, -0.25, 0, 0.25, 0, 1.03677, -0.25, 0, 0.25, 0, 0.478149, -0.25, 0, 0.25, 0, 0.152969, -0.25, 0, 0.25, 0, 0.949799, -0.25, 0, 0.25, 0, 0.716675, -0.25, 0, 0.25, 0, 0.344177, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/10/type = "bezier" -tracks/10/path = NodePath("Torso/Hips/RightLeg/RightLeg2:position:y") -tracks/10/interp = 1 -tracks/10/loop_wrap = true -tracks/10/imported = false -tracks/10/enabled = true -tracks/10/keys = { -"points": PoolRealArray( 1.44029, -0.25, 0, 0.25, 0, 0.765198, -0.25, 0, 0.25, 0, 0.633652, -0.25, 0, 0.25, 0, 0.958115, -0.25, 0, 0.25, 0, 1.64626, -0.25, 0, 0.25, 0, 1.92607, -0.25, 0, 0.25, 0, 1.1563, -0.25, 0, 0.25, 0, 1.45392, -0.25, 0, 0.25, 0, 1.82128, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/11/type = "bezier" -tracks/11/path = NodePath("Torso/Hips/RightLeg/RightLeg2:rotation_degrees") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"points": PoolRealArray( -43.0657, -0.25, 0, 0.25, 0, -86.9422, -0.25, 0, 0.25, 0, -86.9422, -0.25, 0, 0.25, 0, -89.5198, -0.25, 0, 0.25, 0, -37.435, -0.25, 0, 0.25, 0, -5.33336, -0.25, 0, 0.25, 0, -64.9182, -0.25, 0, 0.25, 0, -48.1674, -0.25, 0, 0.25, 0, -19.3847, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} - -[sub_resource type="Animation" id=19] -length = 0.9 -loop = true -tracks/0/type = "bezier" -tracks/0/path = NodePath("Torso/Hips/LeftLeg:position:x") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"points": PoolRealArray( 1.04134, -0.25, 0, 0.25, 0, 0.518555, -0.25, 0, 0.25, 0, 0.319397, -0.25, 0, 0.25, 0, -0.626587, -0.25, 0, 0.25, 0, -0.900421, -0.25, 0, 0.25, 0, -0.651474, -0.25, 0, 0.25, 0, -0.203384, -0.25, 0, 0.25, 0, 0.618134, -0.25, 0, 0.25, 0, 1.36496, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/1/type = "bezier" -tracks/1/path = NodePath("Torso/Hips/LeftLeg:position:y") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/keys = { -"points": PoolRealArray( 1.67531, -0.25, 0, 0.25, 0, 1.77489, -0.25, 0, 0.25, 0, 1.77489, -0.25, 0, 0.25, 0, 1.62552, -0.25, 0, 0.25, 0, 1.77487, -0.25, 0, 0.25, 0, 1.77487, -0.25, 0, 0.25, 0, 1.79977, -0.25, 0, 0.25, 0, 1.60065, -0.25, 0, 0.25, 0, 1.45128, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/2/type = "bezier" -tracks/2/path = NodePath("Torso/Hips/LeftLeg:rotation_degrees") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/keys = { -"points": PoolRealArray( -18.5702, -0.25, 0, 0.25, 0, -38.5768, -0.25, 0, 0.25, 0, -17.9135, -0.25, 0, 0.25, 0, 27.345, -0.25, 0, 0.25, 0, 35.3847, -0.25, 0, 0.25, 0, 10.0679, -0.25, 0, 0.25, 0, -14.8415, -0.25, 0, 0.25, 0, -37.666, -0.25, 0, 0.25, 0, -52.8765, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/3/type = "bezier" -tracks/3/path = NodePath("Torso/Hips/LeftLeg/LeftLeg2:position:x") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.610504, -0.25, 0, 0.25, 0, -0.832764, -0.25, 0, 0.25, 0, -0.59491, -0.25, 0, 0.25, 0, -0.59491, -0.25, 0, 0.25, 0, -0.932556, -0.25, 0, 0.25, 0, -0.83197, -0.25, 0, 0.25, 0, -0.854431, -0.25, 0, 0.25, 0, -0.773911, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/4/type = "bezier" -tracks/4/path = NodePath("Torso/Hips/LeftLeg/LeftLeg2:position:y") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/keys = { -"points": PoolRealArray( 1.75, -0.25, 0, 0.25, 0, 1.677, -0.25, 0, 0.25, 0, 1.47433, -0.25, 0, 0.25, 0, 1.77173, -0.25, 0, 0.25, 0, 1.77173, -0.25, 0, 0.25, 0, 1.57886, -0.25, 0, 0.25, 0, 1.29642, -0.25, 0, 0.25, 0, 1.1218, -0.25, 0, 0.25, 0, 1.31067, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/5/type = "bezier" -tracks/5/path = NodePath("Torso/Hips/LeftLeg/LeftLeg2:rotation_degrees") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/keys = { -"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 54.6344, -0.25, 0, 0.25, 0, 68.1557, -0.25, 0, 0.25, 0, 34.1175, -0.25, 0, 0.25, 0, 43.7221, -0.25, 0, 0.25, 0, 80.3745, -0.25, 0, 0.25, 0, 91.6715, -0.25, 0, 0.25, 0, 88.8735, -0.25, 0, 0.25, 0, 53.5431, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/6/type = "bezier" -tracks/6/path = NodePath("Torso/Hips/RightLeg:position:x") -tracks/6/interp = 1 -tracks/6/loop_wrap = true -tracks/6/imported = false -tracks/6/enabled = true -tracks/6/keys = { -"points": PoolRealArray( -1.14091, -0.25, 0, 0.25, 0, -0.618134, -0.25, 0, 0.25, 0, 0.10379, -0.25, 0, 0.25, 0, 0.55191, -0.25, 0, 0.25, 0, 0.850647, -0.25, 0, 0.25, 0, 0.651489, -0.25, 0, 0.25, 0, 0.651489, -0.25, 0, 0.25, 0, -0.643021, -0.25, 0, 0.25, 0, -1.11601, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/7/type = "bezier" -tracks/7/path = NodePath("Torso/Hips/RightLeg:position:y") -tracks/7/interp = 1 -tracks/7/loop_wrap = true -tracks/7/imported = false -tracks/7/enabled = true -tracks/7/keys = { -"points": PoolRealArray( 1.77489, -0.25, 0, 0.25, 0, 1.89935, -0.25, 0, 0.25, 0, 1.84956, -0.25, 0, 0.25, 0, 1.77487, -0.25, 0, 0.25, 0, 1.70018, -0.25, 0, 0.25, 0, 1.94913, -0.25, 0, 0.25, 0, 1.79976, -0.25, 0, 0.25, 0, 1.84955, -0.25, 0, 0.25, 0, 1.65039, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/8/type = "bezier" -tracks/8/path = NodePath("Torso/Hips/RightLeg:rotation_degrees") -tracks/8/interp = 1 -tracks/8/loop_wrap = true -tracks/8/imported = false -tracks/8/enabled = true -tracks/8/keys = { -"points": PoolRealArray( 25.5676, -0.25, 0, 0.25, 0, 1.13555, -0.25, 0, 0.25, 0, 335.661, -0.25, 0, 0.25, 0, 320.489, -0.25, 0, 0.25, 0, 313.394, -0.25, 0, 0.25, 0, 313.694, -0.25, 0, 0.25, 0, 315.147, -0.25, 0, 0.25, 0, 379.202, -0.25, 0, 0.25, 0, 393.788, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/9/type = "bezier" -tracks/9/path = NodePath("Torso/Hips/RightLeg/RightLeg2:position:x") -tracks/9/interp = 1 -tracks/9/loop_wrap = true -tracks/9/imported = false -tracks/9/enabled = true -tracks/9/keys = { -"points": PoolRealArray( -0.771408, -0.25, 0, 0.25, 0, -0.972992, -0.25, 0, 0.25, 0, -0.972992, -0.25, 0, 0.25, 0, -0.908661, -0.25, 0, 0.25, 0, -0.657059, -0.25, 0, 0.25, 0, -0.397499, -0.25, 0, 0.25, 0, -0.76767, -0.25, 0, 0.25, 0, -0.508026, -0.25, 0, 0.25, 0, -0.687546, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/10/type = "bezier" -tracks/10/path = NodePath("Torso/Hips/RightLeg/RightLeg2:position:y") -tracks/10/interp = 1 -tracks/10/loop_wrap = true -tracks/10/imported = false -tracks/10/enabled = true -tracks/10/keys = { -"points": PoolRealArray( 1.29114, -0.25, 0, 0.25, 0, 1.17062, -0.25, 0, 0.25, 0, 1.17062, -0.25, 0, 0.25, 0, 1.28824, -0.25, 0, 0.25, 0, 1.73553, -0.25, 0, 0.25, 0, 1.93512, -0.25, 0, 0.25, 0, 1.74243, -0.25, 0, 0.25, 0, 1.73108, -0.25, 0, 0.25, 0, 1.73137, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} -tracks/11/type = "bezier" -tracks/11/path = NodePath("Torso/Hips/RightLeg/RightLeg2:rotation_degrees") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/keys = { -"points": PoolRealArray( 78.2623, -0.25, 0, 0.25, 0, 100.236, -0.25, 0, 0.25, 0, 100.236, -0.25, 0, 0.25, 0, 77.8788, -0.25, 0, 0.25, 0, 44.5188, -0.25, 0, 0.25, 0, 22.9561, -0.25, 0, 0.25, 0, 61.848, -0.25, 0, 0.25, 0, 31.9824, -0.25, 0, 0.25, 0, 48.0522, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 ) -} - -[sub_resource type="CapsuleShape2D" id=20] -radius = 1.5 -height = 10.5 - [node name="Player" type="KinematicBody2D"] -position = Vector2( 141.465, 231.585 ) +collision/safe_margin = 3.0 script = ExtResource( 4 ) -[node name="Torso" type="Sprite" parent="."] +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +autoplay = "Idle" +anims/Idle = SubResource( 17 ) +anims/InAir = SubResource( 21 ) +anims/Jump = SubResource( 22 ) +anims/RunLeft = SubResource( 18 ) +anims/RunRight = SubResource( 19 ) + +[node name="Camera2D" type="Camera2D" parent="."] +current = true +zoom = Vector2( 0.187, 0.187 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +visible = false +shape = SubResource( 20 ) + +[node name="Light2D" type="Light2D" parent="."] +texture = ExtResource( 3 ) +energy = 0.25 + +[node name="Sprite" type="Node2D" parent="."] +position = Vector2( 0, 2 ) + +[node name="Torso" type="Sprite" parent="Sprite"] material = ExtResource( 1 ) +position = Vector2( 0, 0.001 ) z_index = 10 texture = SubResource( 1 ) -[node name="Neck" type="Sprite" parent="Torso"] +[node name="Neck" type="Sprite" parent="Sprite/Torso"] material = ExtResource( 1 ) position = Vector2( 0, -2.5 ) z_index = -1 @@ -695,7 +1844,7 @@ __meta__ = { "_edit_ik_": true } -[node name="Head" type="Sprite" parent="Torso/Neck"] +[node name="Head" type="Sprite" parent="Sprite/Torso/Neck"] material = ExtResource( 1 ) position = Vector2( 0, -2.25 ) texture = SubResource( 3 ) @@ -704,27 +1853,28 @@ __meta__ = { "_edit_bone_": true } -[node name="Node2D" type="Node2D" parent="Torso/Neck/Head"] +[node name="Node2D" type="Node2D" parent="Sprite/Torso/Neck/Head"] position = Vector2( -0.0449371, -1.88724 ) -[node name="LeftArm" type="Sprite" parent="Torso"] +[node name="LeftArm" type="Sprite" parent="Sprite/Torso"] material = ExtResource( 1 ) position = Vector2( -2, 0 ) -z_index = 1 +z_index = -1 texture = SubResource( 4 ) __meta__ = { "_edit_bone_": true } -[node name="LeftForearm" type="Sprite" parent="Torso/LeftArm"] +[node name="LeftForearm" type="Sprite" parent="Sprite/Torso/LeftArm"] material = ExtResource( 1 ) position = Vector2( -0.5, 1.75 ) +z_index = 3 texture = SubResource( 5 ) __meta__ = { "_edit_bone_": true } -[node name="LeftHand" type="Sprite" parent="Torso/LeftArm/LeftForearm"] +[node name="LeftHand" type="Sprite" parent="Sprite/Torso/LeftArm/LeftForearm"] material = ExtResource( 1 ) position = Vector2( 0, 1.35 ) texture = SubResource( 6 ) @@ -732,13 +1882,13 @@ __meta__ = { "_edit_bone_": true } -[node name="Node2D" type="Node2D" parent="Torso/LeftArm/LeftForearm/LeftHand"] +[node name="Node2D" type="Node2D" parent="Sprite/Torso/LeftArm/LeftForearm/LeftHand"] position = Vector2( 0.0249023, 0.423203 ) __meta__ = { "_edit_bone_": true } -[node name="RightArm" type="Sprite" parent="Torso"] +[node name="RightArm" type="Sprite" parent="Sprite/Torso"] material = ExtResource( 1 ) position = Vector2( 2, 0 ) z_index = -2 @@ -747,15 +1897,16 @@ __meta__ = { "_edit_bone_": true } -[node name="RightForearm" type="Sprite" parent="Torso/RightArm"] +[node name="RightForearm" type="Sprite" parent="Sprite/Torso/RightArm"] material = ExtResource( 1 ) position = Vector2( 0.5, 1.75 ) +z_index = -3 texture = SubResource( 8 ) __meta__ = { "_edit_bone_": true } -[node name="LeftHand" type="Sprite" parent="Torso/RightArm/RightForearm"] +[node name="LeftHand" type="Sprite" parent="Sprite/Torso/RightArm/RightForearm"] material = ExtResource( 1 ) position = Vector2( 0, 1.35 ) rotation = 0.0242677 @@ -764,13 +1915,13 @@ __meta__ = { "_edit_bone_": true } -[node name="Node2D" type="Node2D" parent="Torso/RightArm/RightForearm/LeftHand"] +[node name="Node2D" type="Node2D" parent="Sprite/Torso/RightArm/RightForearm/LeftHand"] position = Vector2( 0.0249023, 0.423203 ) __meta__ = { "_edit_bone_": true } -[node name="flashlight" type="Node2D" parent="Torso/RightArm/RightForearm/LeftHand/Node2D"] +[node name="flashlight" type="Node2D" parent="Sprite/Torso/RightArm/RightForearm/LeftHand/Node2D"] visible = false rotation = -0.0242677 script = ExtResource( 7 ) @@ -778,11 +1929,11 @@ __meta__ = { "_edit_group_": true } -[node name="flashlight" type="Sprite" parent="Torso/RightArm/RightForearm/LeftHand/Node2D/flashlight"] +[node name="flashlight" type="Sprite" parent="Sprite/Torso/RightArm/RightForearm/LeftHand/Node2D/flashlight"] z_index = 10 texture = ExtResource( 6 ) -[node name="Light2D" type="Light2D" parent="Torso/RightArm/RightForearm/LeftHand/Node2D/flashlight"] +[node name="Light2D" type="Light2D" parent="Sprite/Torso/RightArm/RightForearm/LeftHand/Node2D/flashlight"] enabled = false texture = ExtResource( 5 ) offset = Vector2( 46, 0 ) @@ -790,12 +1941,12 @@ texture_scale = 0.35 shadow_enabled = true shadow_gradient_length = 0.1 -[node name="Glow" type="Light2D" parent="Torso/RightArm/RightForearm/LeftHand/Node2D/flashlight"] +[node name="Glow" type="Light2D" parent="Sprite/Torso/RightArm/RightForearm/LeftHand/Node2D/flashlight"] enabled = false texture = ExtResource( 3 ) energy = 0.5 -[node name="Hips" type="Sprite" parent="Torso"] +[node name="Hips" type="Sprite" parent="Sprite/Torso"] material = ExtResource( 1 ) position = Vector2( 0, 2.75 ) texture = SubResource( 9 ) @@ -803,7 +1954,7 @@ __meta__ = { "_edit_bone_": true } -[node name="Cape" type="Sprite" parent="Torso/Hips"] +[node name="Cape" type="Sprite" parent="Sprite/Torso/Hips"] material = ExtResource( 1 ) position = Vector2( 0, 1 ) z_index = -2 @@ -813,7 +1964,7 @@ __meta__ = { "_edit_ik_": true } -[node name="Cape2" type="Sprite" parent="Torso/Hips/Cape"] +[node name="Cape2" type="Sprite" parent="Sprite/Torso/Hips/Cape"] material = ExtResource( 1 ) position = Vector2( 0, 0.75 ) z_index = -2 @@ -822,7 +1973,7 @@ __meta__ = { "_edit_bone_": true } -[node name="Cape3" type="Sprite" parent="Torso/Hips/Cape/Cape2"] +[node name="Cape3" type="Sprite" parent="Sprite/Torso/Hips/Cape/Cape2"] material = ExtResource( 1 ) position = Vector2( 0, 0.75 ) z_index = -2 @@ -831,78 +1982,56 @@ __meta__ = { "_edit_bone_": true } -[node name="Node2D" type="Node2D" parent="Torso/Hips/Cape/Cape2/Cape3"] +[node name="Node2D" type="Node2D" parent="Sprite/Torso/Hips/Cape/Cape2/Cape3"] position = Vector2( 0.0497894, 0.472992 ) __meta__ = { "_edit_bone_": true } -[node name="LeftLeg" type="Sprite" parent="Torso/Hips"] +[node name="LeftLeg" type="Sprite" parent="Sprite/Torso/Hips"] material = ExtResource( 1 ) -position = Vector2( -0.380144, 1.71912 ) -rotation = 0.262314 +position = Vector2( -1, 1.75 ) z_index = -2 texture = SubResource( 13 ) __meta__ = { "_edit_bone_": true } -[node name="LeftLeg2" type="Sprite" parent="Torso/Hips/LeftLeg"] +[node name="LeftLeg2" type="Sprite" parent="Sprite/Torso/Hips/LeftLeg"] material = ExtResource( 1 ) -position = Vector2( 0.969482, 0.800583 ) -rotation = -1.48533 +position = Vector2( 0, 1.75 ) z_index = -2 texture = SubResource( 14 ) __meta__ = { "_edit_bone_": true } -[node name="Node2D" type="Node2D" parent="Torso/Hips/LeftLeg/LeftLeg2"] +[node name="Node2D" type="Node2D" parent="Sprite/Torso/Hips/LeftLeg/LeftLeg2"] position = Vector2( 0, 0.91716 ) __meta__ = { "_edit_bone_": true } -[node name="RightLeg" type="Sprite" parent="Torso/Hips"] +[node name="RightLeg" type="Sprite" parent="Sprite/Torso/Hips"] material = ExtResource( 1 ) -position = Vector2( -0.411383, 1.65801 ) -rotation = 0.344838 +position = Vector2( 1, 1.75 ) z_index = -2 texture = SubResource( 15 ) __meta__ = { "_edit_bone_": true } -[node name="RightLeg2" type="Sprite" parent="Torso/Hips/RightLeg"] +[node name="RightLeg2" type="Sprite" parent="Sprite/Torso/Hips/RightLeg"] material = ExtResource( 1 ) -position = Vector2( 0.947372, 1.15939 ) -rotation = -1.12999 +position = Vector2( 0, 1.75 ) z_index = -2 texture = SubResource( 16 ) __meta__ = { "_edit_bone_": true } -[node name="Node2D" type="Node2D" parent="Torso/Hips/RightLeg/RightLeg2"] +[node name="Node2D" type="Node2D" parent="Sprite/Torso/Hips/RightLeg/RightLeg2"] position = Vector2( 0, 0.91716 ) __meta__ = { "_edit_bone_": true } - -[node name="Camera2D" type="Camera2D" parent="."] -current = true -zoom = Vector2( 0.187, 0.187 ) - -[node name="AnimationPlayer" type="AnimationPlayer" parent="."] -autoplay = "Idle" -anims/Idle = SubResource( 17 ) -anims/RunLeft = SubResource( 18 ) -anims/RunRight = SubResource( 19 ) - -[node name="CollisionShape2D" type="CollisionShape2D" parent="."] -visible = false -shape = SubResource( 20 ) - -[node name="Light2D" type="Light2D" parent="."] -texture = ExtResource( 3 ) -energy = 0.25 diff --git a/client/Nodes/Tiles/tileset_science_lab.tres b/client/Nodes/Tiles/tileset_science_lab.tres index 972dea3..2f24cd1 100644 --- a/client/Nodes/Tiles/tileset_science_lab.tres +++ b/client/Nodes/Tiles/tileset_science_lab.tres @@ -1,10 +1,11 @@ -[gd_resource type="TileSet" load_steps=149 format=2] +[gd_resource type="TileSet" load_steps=150 format=2] [ext_resource path="res://Nodes/Tiles/tileset_science_lab.png" type="Texture" id=1] [ext_resource path="res://Assets/Art/platform.png" type="Texture" id=2] [ext_resource path="res://Assets/Art/metal_wall.png" type="Texture" id=3] [ext_resource path="res://Assets/Art/window.png" type="Texture" id=4] [ext_resource path="res://Assets/Art/Tiles/dirt.png" type="Texture" id=5] +[ext_resource path="res://Assets/Art/Tiles/glass_tile.png" type="Texture" id=6] [sub_resource type="OccluderPolygon2D" id=1] polygon = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) @@ -288,8 +289,8 @@ points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) [sub_resource type="ConvexPolygonShape2D" id=94] points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=95] -points = PoolVector2Array( 16, 9, 0, 9, 0, 7, 16, 7 ) +[sub_resource type="ConvexPolygonShape2D" id=144] +points = PoolVector2Array( 16, 7.15126, 0, 7.15126, 0, 6.95655, 16, 6.95655 ) [sub_resource type="OccluderPolygon2D" id=96] polygon = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) @@ -761,14 +762,14 @@ points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) 48/navigation_offset = Vector2( 0, 0 ) 48/shape_offset = Vector2( 0, 0 ) 48/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -48/shape = SubResource( 95 ) +48/shape = SubResource( 144 ) 48/shape_one_way = true 48/shape_one_way_margin = 1.0 48/shapes = [ { "autotile_coord": Vector2( 0, 0 ), "one_way": true, "one_way_margin": 1.0, -"shape": SubResource( 95 ), +"shape": SubResource( 144 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) } ] 48/z_index = 0 @@ -1124,3 +1125,26 @@ points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 ) "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) } ] 51/z_index = 0 +52/name = "glass_tile.png 52" +52/texture = ExtResource( 6 ) +52/tex_offset = Vector2( 0, 0 ) +52/modulate = Color( 1, 1, 1, 1 ) +52/region = Rect2( 0, 0, 176, 80 ) +52/tile_mode = 1 +52/autotile/bitmask_mode = 2 +52/autotile/bitmask_flags = [ Vector2( 0, 0 ), 432, Vector2( 0, 1 ), 438, Vector2( 0, 2 ), 54, Vector2( 0, 3 ), 48, Vector2( 1, 0 ), 504, Vector2( 1, 1 ), 511, Vector2( 1, 2 ), 63, Vector2( 1, 3 ), 56, Vector2( 2, 0 ), 216, Vector2( 2, 1 ), 219, Vector2( 2, 2 ), 27, Vector2( 2, 3 ), 24, Vector2( 3, 0 ), 144, Vector2( 3, 1 ), 146, Vector2( 3, 2 ), 18, Vector2( 3, 3 ), 16, Vector2( 4, 0 ), 176, Vector2( 4, 1 ), 182, Vector2( 4, 2 ), 434, Vector2( 4, 3 ), 50, Vector2( 4, 4 ), 178, Vector2( 5, 0 ), 248, Vector2( 5, 1 ), 255, Vector2( 5, 2 ), 507, Vector2( 5, 3 ), 59, Vector2( 5, 4 ), 251, Vector2( 6, 0 ), 440, Vector2( 6, 1 ), 447, Vector2( 6, 2 ), 510, Vector2( 6, 3 ), 62, Vector2( 6, 4 ), 446, Vector2( 7, 0 ), 152, Vector2( 7, 1 ), 155, Vector2( 7, 2 ), 218, Vector2( 7, 3 ), 26, Vector2( 7, 4 ), 154, Vector2( 8, 0 ), 184, Vector2( 8, 1 ), 191, Vector2( 8, 2 ), 506, Vector2( 8, 3 ), 58, Vector2( 8, 4 ), 186, Vector2( 9, 0 ), 443, Vector2( 9, 1 ), 254, Vector2( 9, 2 ), 442, Vector2( 9, 3 ), 190, Vector2( 10, 2 ), 250, Vector2( 10, 3 ), 187 ] +52/autotile/icon_coordinate = Vector2( 0, 0 ) +52/autotile/tile_size = Vector2( 16, 16 ) +52/autotile/spacing = 0 +52/autotile/occluder_map = [ ] +52/autotile/navpoly_map = [ ] +52/autotile/priority_map = [ ] +52/autotile/z_index_map = [ ] +52/occluder_offset = Vector2( 0, 0 ) +52/navigation_offset = Vector2( 0, 0 ) +52/shape_offset = Vector2( 0, 0 ) +52/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +52/shape_one_way = false +52/shape_one_way_margin = 0.0 +52/shapes = [ ] +52/z_index = 0 diff --git a/client/Nodes/Tiles/tileset_whole_tiles.tres b/client/Nodes/Tiles/tileset_whole_tiles.tres deleted file mode 100644 index d5d5d56..0000000 --- a/client/Nodes/Tiles/tileset_whole_tiles.tres +++ /dev/null @@ -1,686 +0,0 @@ -[gd_resource type="TileSet" load_steps=2 format=2] - -[ext_resource path="res://Nodes/Tiles/tileset_whole_tiles.png" type="Texture" id=1] - -[resource] -4/name = "tileset_whole_tiles.png 4" -4/texture = ExtResource( 1 ) -4/tex_offset = Vector2( 0, 0 ) -4/modulate = Color( 1, 1, 1, 1 ) -4/region = Rect2( 0, 80, 16, 16 ) -4/tile_mode = 0 -4/occluder_offset = Vector2( 0, 0 ) -4/navigation_offset = Vector2( 0, 0 ) -4/shape_offset = Vector2( 0, 0 ) -4/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -4/shape_one_way = false -4/shape_one_way_margin = 0.0 -4/shapes = [ ] -4/z_index = 0 -5/name = "tileset_whole_tiles.png 5" -5/texture = ExtResource( 1 ) -5/tex_offset = Vector2( 0, 0 ) -5/modulate = Color( 1, 1, 1, 1 ) -5/region = Rect2( 0, 96, 16, 16 ) -5/tile_mode = 0 -5/occluder_offset = Vector2( 0, 0 ) -5/navigation_offset = Vector2( 0, 0 ) -5/shape_offset = Vector2( 0, 0 ) -5/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -5/shape_one_way = false -5/shape_one_way_margin = 0.0 -5/shapes = [ ] -5/z_index = 0 -6/name = "tileset_whole_tiles.png 6" -6/texture = ExtResource( 1 ) -6/tex_offset = Vector2( 0, 0 ) -6/modulate = Color( 1, 1, 1, 1 ) -6/region = Rect2( 0, 112, 16, 16 ) -6/tile_mode = 0 -6/occluder_offset = Vector2( 0, 0 ) -6/navigation_offset = Vector2( 0, 0 ) -6/shape_offset = Vector2( 0, 0 ) -6/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -6/shape_one_way = false -6/shape_one_way_margin = 0.0 -6/shapes = [ ] -6/z_index = 0 -7/name = "tileset_whole_tiles.png 7" -7/texture = ExtResource( 1 ) -7/tex_offset = Vector2( 0, 0 ) -7/modulate = Color( 1, 1, 1, 1 ) -7/region = Rect2( 0, 128, 16, 16 ) -7/tile_mode = 0 -7/occluder_offset = Vector2( 0, 0 ) -7/navigation_offset = Vector2( 0, 0 ) -7/shape_offset = Vector2( 0, 0 ) -7/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -7/shape_one_way = false -7/shape_one_way_margin = 0.0 -7/shapes = [ ] -7/z_index = 0 -12/name = "tileset_whole_tiles.png 12" -12/texture = ExtResource( 1 ) -12/tex_offset = Vector2( 0, 0 ) -12/modulate = Color( 1, 1, 1, 1 ) -12/region = Rect2( 16, 80, 16, 16 ) -12/tile_mode = 0 -12/occluder_offset = Vector2( 0, 0 ) -12/navigation_offset = Vector2( 0, 0 ) -12/shape_offset = Vector2( 0, 0 ) -12/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -12/shape_one_way = false -12/shape_one_way_margin = 0.0 -12/shapes = [ ] -12/z_index = 0 -13/name = "tileset_whole_tiles.png 13" -13/texture = ExtResource( 1 ) -13/tex_offset = Vector2( 0, 0 ) -13/modulate = Color( 1, 1, 1, 1 ) -13/region = Rect2( 16, 96, 16, 16 ) -13/tile_mode = 0 -13/occluder_offset = Vector2( 0, 0 ) -13/navigation_offset = Vector2( 0, 0 ) -13/shape_offset = Vector2( 0, 0 ) -13/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -13/shape_one_way = false -13/shape_one_way_margin = 0.0 -13/shapes = [ ] -13/z_index = 0 -14/name = "tileset_whole_tiles.png 14" -14/texture = ExtResource( 1 ) -14/tex_offset = Vector2( 0, 0 ) -14/modulate = Color( 1, 1, 1, 1 ) -14/region = Rect2( 16, 112, 16, 16 ) -14/tile_mode = 0 -14/occluder_offset = Vector2( 0, 0 ) -14/navigation_offset = Vector2( 0, 0 ) -14/shape_offset = Vector2( 0, 0 ) -14/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -14/shape_one_way = false -14/shape_one_way_margin = 0.0 -14/shapes = [ ] -14/z_index = 0 -15/name = "tileset_whole_tiles.png 15" -15/texture = ExtResource( 1 ) -15/tex_offset = Vector2( 0, 0 ) -15/modulate = Color( 1, 1, 1, 1 ) -15/region = Rect2( 16, 128, 16, 16 ) -15/tile_mode = 0 -15/occluder_offset = Vector2( 0, 0 ) -15/navigation_offset = Vector2( 0, 0 ) -15/shape_offset = Vector2( 0, 0 ) -15/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -15/shape_one_way = false -15/shape_one_way_margin = 0.0 -15/shapes = [ ] -15/z_index = 0 -20/name = "tileset_whole_tiles.png 20" -20/texture = ExtResource( 1 ) -20/tex_offset = Vector2( 0, 0 ) -20/modulate = Color( 1, 1, 1, 1 ) -20/region = Rect2( 32, 80, 16, 16 ) -20/tile_mode = 0 -20/occluder_offset = Vector2( 0, 0 ) -20/navigation_offset = Vector2( 0, 0 ) -20/shape_offset = Vector2( 0, 0 ) -20/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -20/shape_one_way = false -20/shape_one_way_margin = 0.0 -20/shapes = [ ] -20/z_index = 0 -21/name = "tileset_whole_tiles.png 21" -21/texture = ExtResource( 1 ) -21/tex_offset = Vector2( 0, 0 ) -21/modulate = Color( 1, 1, 1, 1 ) -21/region = Rect2( 32, 96, 16, 16 ) -21/tile_mode = 0 -21/occluder_offset = Vector2( 0, 0 ) -21/navigation_offset = Vector2( 0, 0 ) -21/shape_offset = Vector2( 0, 0 ) -21/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -21/shape_one_way = false -21/shape_one_way_margin = 0.0 -21/shapes = [ ] -21/z_index = 0 -22/name = "tileset_whole_tiles.png 22" -22/texture = ExtResource( 1 ) -22/tex_offset = Vector2( 0, 0 ) -22/modulate = Color( 1, 1, 1, 1 ) -22/region = Rect2( 32, 112, 16, 16 ) -22/tile_mode = 0 -22/occluder_offset = Vector2( 0, 0 ) -22/navigation_offset = Vector2( 0, 0 ) -22/shape_offset = Vector2( 0, 0 ) -22/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -22/shape_one_way = false -22/shape_one_way_margin = 0.0 -22/shapes = [ ] -22/z_index = 0 -23/name = "tileset_whole_tiles.png 23" -23/texture = ExtResource( 1 ) -23/tex_offset = Vector2( 0, 0 ) -23/modulate = Color( 1, 1, 1, 1 ) -23/region = Rect2( 32, 128, 16, 16 ) -23/tile_mode = 0 -23/occluder_offset = Vector2( 0, 0 ) -23/navigation_offset = Vector2( 0, 0 ) -23/shape_offset = Vector2( 0, 0 ) -23/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -23/shape_one_way = false -23/shape_one_way_margin = 0.0 -23/shapes = [ ] -23/z_index = 0 -28/name = "tileset_whole_tiles.png 28" -28/texture = ExtResource( 1 ) -28/tex_offset = Vector2( 0, 0 ) -28/modulate = Color( 1, 1, 1, 1 ) -28/region = Rect2( 48, 80, 16, 16 ) -28/tile_mode = 0 -28/occluder_offset = Vector2( 0, 0 ) -28/navigation_offset = Vector2( 0, 0 ) -28/shape_offset = Vector2( 0, 0 ) -28/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -28/shape_one_way = false -28/shape_one_way_margin = 0.0 -28/shapes = [ ] -28/z_index = 0 -29/name = "tileset_whole_tiles.png 29" -29/texture = ExtResource( 1 ) -29/tex_offset = Vector2( 0, 0 ) -29/modulate = Color( 1, 1, 1, 1 ) -29/region = Rect2( 48, 96, 16, 16 ) -29/tile_mode = 0 -29/occluder_offset = Vector2( 0, 0 ) -29/navigation_offset = Vector2( 0, 0 ) -29/shape_offset = Vector2( 0, 0 ) -29/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -29/shape_one_way = false -29/shape_one_way_margin = 0.0 -29/shapes = [ ] -29/z_index = 0 -30/name = "tileset_whole_tiles.png 30" -30/texture = ExtResource( 1 ) -30/tex_offset = Vector2( 0, 0 ) -30/modulate = Color( 1, 1, 1, 1 ) -30/region = Rect2( 48, 112, 16, 16 ) -30/tile_mode = 0 -30/occluder_offset = Vector2( 0, 0 ) -30/navigation_offset = Vector2( 0, 0 ) -30/shape_offset = Vector2( 0, 0 ) -30/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -30/shape_one_way = false -30/shape_one_way_margin = 0.0 -30/shapes = [ ] -30/z_index = 0 -31/name = "tileset_whole_tiles.png 31" -31/texture = ExtResource( 1 ) -31/tex_offset = Vector2( 0, 0 ) -31/modulate = Color( 1, 1, 1, 1 ) -31/region = Rect2( 48, 128, 16, 16 ) -31/tile_mode = 0 -31/occluder_offset = Vector2( 0, 0 ) -31/navigation_offset = Vector2( 0, 0 ) -31/shape_offset = Vector2( 0, 0 ) -31/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -31/shape_one_way = false -31/shape_one_way_margin = 0.0 -31/shapes = [ ] -31/z_index = 0 -37/name = "tileset_whole_tiles.png 37" -37/texture = ExtResource( 1 ) -37/tex_offset = Vector2( 0, 0 ) -37/modulate = Color( 1, 1, 1, 1 ) -37/region = Rect2( 64, 80, 16, 16 ) -37/tile_mode = 0 -37/occluder_offset = Vector2( 0, 0 ) -37/navigation_offset = Vector2( 0, 0 ) -37/shape_offset = Vector2( 0, 0 ) -37/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -37/shape_one_way = false -37/shape_one_way_margin = 0.0 -37/shapes = [ ] -37/z_index = 0 -38/name = "tileset_whole_tiles.png 38" -38/texture = ExtResource( 1 ) -38/tex_offset = Vector2( 0, 0 ) -38/modulate = Color( 1, 1, 1, 1 ) -38/region = Rect2( 64, 96, 16, 16 ) -38/tile_mode = 0 -38/occluder_offset = Vector2( 0, 0 ) -38/navigation_offset = Vector2( 0, 0 ) -38/shape_offset = Vector2( 0, 0 ) -38/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -38/shape_one_way = false -38/shape_one_way_margin = 0.0 -38/shapes = [ ] -38/z_index = 0 -39/name = "tileset_whole_tiles.png 39" -39/texture = ExtResource( 1 ) -39/tex_offset = Vector2( 0, 0 ) -39/modulate = Color( 1, 1, 1, 1 ) -39/region = Rect2( 64, 112, 16, 16 ) -39/tile_mode = 0 -39/occluder_offset = Vector2( 0, 0 ) -39/navigation_offset = Vector2( 0, 0 ) -39/shape_offset = Vector2( 0, 0 ) -39/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -39/shape_one_way = false -39/shape_one_way_margin = 0.0 -39/shapes = [ ] -39/z_index = 0 -40/name = "tileset_whole_tiles.png 40" -40/texture = ExtResource( 1 ) -40/tex_offset = Vector2( 0, 0 ) -40/modulate = Color( 1, 1, 1, 1 ) -40/region = Rect2( 64, 128, 16, 16 ) -40/tile_mode = 0 -40/occluder_offset = Vector2( 0, 0 ) -40/navigation_offset = Vector2( 0, 0 ) -40/shape_offset = Vector2( 0, 0 ) -40/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -40/shape_one_way = false -40/shape_one_way_margin = 0.0 -40/shapes = [ ] -40/z_index = 0 -41/name = "tileset_whole_tiles.png 41" -41/texture = ExtResource( 1 ) -41/tex_offset = Vector2( 0, 0 ) -41/modulate = Color( 1, 1, 1, 1 ) -41/region = Rect2( 64, 144, 16, 16 ) -41/tile_mode = 0 -41/occluder_offset = Vector2( 0, 0 ) -41/navigation_offset = Vector2( 0, 0 ) -41/shape_offset = Vector2( 0, 0 ) -41/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -41/shape_one_way = false -41/shape_one_way_margin = 0.0 -41/shapes = [ ] -41/z_index = 0 -47/name = "tileset_whole_tiles.png 47" -47/texture = ExtResource( 1 ) -47/tex_offset = Vector2( 0, 0 ) -47/modulate = Color( 1, 1, 1, 1 ) -47/region = Rect2( 80, 80, 16, 16 ) -47/tile_mode = 0 -47/occluder_offset = Vector2( 0, 0 ) -47/navigation_offset = Vector2( 0, 0 ) -47/shape_offset = Vector2( 0, 0 ) -47/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -47/shape_one_way = false -47/shape_one_way_margin = 0.0 -47/shapes = [ ] -47/z_index = 0 -48/name = "tileset_whole_tiles.png 48" -48/texture = ExtResource( 1 ) -48/tex_offset = Vector2( 0, 0 ) -48/modulate = Color( 1, 1, 1, 1 ) -48/region = Rect2( 80, 96, 16, 16 ) -48/tile_mode = 0 -48/occluder_offset = Vector2( 0, 0 ) -48/navigation_offset = Vector2( 0, 0 ) -48/shape_offset = Vector2( 0, 0 ) -48/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -48/shape_one_way = false -48/shape_one_way_margin = 0.0 -48/shapes = [ ] -48/z_index = 0 -49/name = "tileset_whole_tiles.png 49" -49/texture = ExtResource( 1 ) -49/tex_offset = Vector2( 0, 0 ) -49/modulate = Color( 1, 1, 1, 1 ) -49/region = Rect2( 80, 112, 16, 16 ) -49/tile_mode = 0 -49/occluder_offset = Vector2( 0, 0 ) -49/navigation_offset = Vector2( 0, 0 ) -49/shape_offset = Vector2( 0, 0 ) -49/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -49/shape_one_way = false -49/shape_one_way_margin = 0.0 -49/shapes = [ ] -49/z_index = 0 -50/name = "tileset_whole_tiles.png 50" -50/texture = ExtResource( 1 ) -50/tex_offset = Vector2( 0, 0 ) -50/modulate = Color( 1, 1, 1, 1 ) -50/region = Rect2( 80, 128, 16, 16 ) -50/tile_mode = 0 -50/occluder_offset = Vector2( 0, 0 ) -50/navigation_offset = Vector2( 0, 0 ) -50/shape_offset = Vector2( 0, 0 ) -50/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -50/shape_one_way = false -50/shape_one_way_margin = 0.0 -50/shapes = [ ] -50/z_index = 0 -51/name = "tileset_whole_tiles.png 51" -51/texture = ExtResource( 1 ) -51/tex_offset = Vector2( 0, 0 ) -51/modulate = Color( 1, 1, 1, 1 ) -51/region = Rect2( 80, 144, 16, 16 ) -51/tile_mode = 0 -51/occluder_offset = Vector2( 0, 0 ) -51/navigation_offset = Vector2( 0, 0 ) -51/shape_offset = Vector2( 0, 0 ) -51/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -51/shape_one_way = false -51/shape_one_way_margin = 0.0 -51/shapes = [ ] -51/z_index = 0 -57/name = "tileset_whole_tiles.png 57" -57/texture = ExtResource( 1 ) -57/tex_offset = Vector2( 0, 0 ) -57/modulate = Color( 1, 1, 1, 1 ) -57/region = Rect2( 96, 80, 16, 16 ) -57/tile_mode = 0 -57/occluder_offset = Vector2( 0, 0 ) -57/navigation_offset = Vector2( 0, 0 ) -57/shape_offset = Vector2( 0, 0 ) -57/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -57/shape_one_way = false -57/shape_one_way_margin = 0.0 -57/shapes = [ ] -57/z_index = 0 -58/name = "tileset_whole_tiles.png 58" -58/texture = ExtResource( 1 ) -58/tex_offset = Vector2( 0, 0 ) -58/modulate = Color( 1, 1, 1, 1 ) -58/region = Rect2( 96, 96, 16, 16 ) -58/tile_mode = 0 -58/occluder_offset = Vector2( 0, 0 ) -58/navigation_offset = Vector2( 0, 0 ) -58/shape_offset = Vector2( 0, 0 ) -58/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -58/shape_one_way = false -58/shape_one_way_margin = 0.0 -58/shapes = [ ] -58/z_index = 0 -59/name = "tileset_whole_tiles.png 59" -59/texture = ExtResource( 1 ) -59/tex_offset = Vector2( 0, 0 ) -59/modulate = Color( 1, 1, 1, 1 ) -59/region = Rect2( 96, 112, 16, 16 ) -59/tile_mode = 0 -59/occluder_offset = Vector2( 0, 0 ) -59/navigation_offset = Vector2( 0, 0 ) -59/shape_offset = Vector2( 0, 0 ) -59/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -59/shape_one_way = false -59/shape_one_way_margin = 0.0 -59/shapes = [ ] -59/z_index = 0 -60/name = "tileset_whole_tiles.png 60" -60/texture = ExtResource( 1 ) -60/tex_offset = Vector2( 0, 0 ) -60/modulate = Color( 1, 1, 1, 1 ) -60/region = Rect2( 96, 128, 16, 16 ) -60/tile_mode = 0 -60/occluder_offset = Vector2( 0, 0 ) -60/navigation_offset = Vector2( 0, 0 ) -60/shape_offset = Vector2( 0, 0 ) -60/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -60/shape_one_way = false -60/shape_one_way_margin = 0.0 -60/shapes = [ ] -60/z_index = 0 -61/name = "tileset_whole_tiles.png 61" -61/texture = ExtResource( 1 ) -61/tex_offset = Vector2( 0, 0 ) -61/modulate = Color( 1, 1, 1, 1 ) -61/region = Rect2( 96, 144, 16, 16 ) -61/tile_mode = 0 -61/occluder_offset = Vector2( 0, 0 ) -61/navigation_offset = Vector2( 0, 0 ) -61/shape_offset = Vector2( 0, 0 ) -61/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -61/shape_one_way = false -61/shape_one_way_margin = 0.0 -61/shapes = [ ] -61/z_index = 0 -67/name = "tileset_whole_tiles.png 67" -67/texture = ExtResource( 1 ) -67/tex_offset = Vector2( 0, 0 ) -67/modulate = Color( 1, 1, 1, 1 ) -67/region = Rect2( 112, 80, 16, 16 ) -67/tile_mode = 0 -67/occluder_offset = Vector2( 0, 0 ) -67/navigation_offset = Vector2( 0, 0 ) -67/shape_offset = Vector2( 0, 0 ) -67/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -67/shape_one_way = false -67/shape_one_way_margin = 0.0 -67/shapes = [ ] -67/z_index = 0 -68/name = "tileset_whole_tiles.png 68" -68/texture = ExtResource( 1 ) -68/tex_offset = Vector2( 0, 0 ) -68/modulate = Color( 1, 1, 1, 1 ) -68/region = Rect2( 112, 96, 16, 16 ) -68/tile_mode = 0 -68/occluder_offset = Vector2( 0, 0 ) -68/navigation_offset = Vector2( 0, 0 ) -68/shape_offset = Vector2( 0, 0 ) -68/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -68/shape_one_way = false -68/shape_one_way_margin = 0.0 -68/shapes = [ ] -68/z_index = 0 -69/name = "tileset_whole_tiles.png 69" -69/texture = ExtResource( 1 ) -69/tex_offset = Vector2( 0, 0 ) -69/modulate = Color( 1, 1, 1, 1 ) -69/region = Rect2( 112, 112, 16, 16 ) -69/tile_mode = 0 -69/occluder_offset = Vector2( 0, 0 ) -69/navigation_offset = Vector2( 0, 0 ) -69/shape_offset = Vector2( 0, 0 ) -69/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -69/shape_one_way = false -69/shape_one_way_margin = 0.0 -69/shapes = [ ] -69/z_index = 0 -70/name = "tileset_whole_tiles.png 70" -70/texture = ExtResource( 1 ) -70/tex_offset = Vector2( 0, 0 ) -70/modulate = Color( 1, 1, 1, 1 ) -70/region = Rect2( 112, 128, 16, 16 ) -70/tile_mode = 0 -70/occluder_offset = Vector2( 0, 0 ) -70/navigation_offset = Vector2( 0, 0 ) -70/shape_offset = Vector2( 0, 0 ) -70/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -70/shape_one_way = false -70/shape_one_way_margin = 0.0 -70/shapes = [ ] -70/z_index = 0 -71/name = "tileset_whole_tiles.png 71" -71/texture = ExtResource( 1 ) -71/tex_offset = Vector2( 0, 0 ) -71/modulate = Color( 1, 1, 1, 1 ) -71/region = Rect2( 112, 144, 16, 16 ) -71/tile_mode = 0 -71/occluder_offset = Vector2( 0, 0 ) -71/navigation_offset = Vector2( 0, 0 ) -71/shape_offset = Vector2( 0, 0 ) -71/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -71/shape_one_way = false -71/shape_one_way_margin = 0.0 -71/shapes = [ ] -71/z_index = 0 -77/name = "tileset_whole_tiles.png 77" -77/texture = ExtResource( 1 ) -77/tex_offset = Vector2( 0, 0 ) -77/modulate = Color( 1, 1, 1, 1 ) -77/region = Rect2( 128, 80, 16, 16 ) -77/tile_mode = 0 -77/occluder_offset = Vector2( 0, 0 ) -77/navigation_offset = Vector2( 0, 0 ) -77/shape_offset = Vector2( 0, 0 ) -77/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -77/shape_one_way = false -77/shape_one_way_margin = 0.0 -77/shapes = [ ] -77/z_index = 0 -78/name = "tileset_whole_tiles.png 78" -78/texture = ExtResource( 1 ) -78/tex_offset = Vector2( 0, 0 ) -78/modulate = Color( 1, 1, 1, 1 ) -78/region = Rect2( 128, 96, 16, 16 ) -78/tile_mode = 0 -78/occluder_offset = Vector2( 0, 0 ) -78/navigation_offset = Vector2( 0, 0 ) -78/shape_offset = Vector2( 0, 0 ) -78/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -78/shape_one_way = false -78/shape_one_way_margin = 0.0 -78/shapes = [ ] -78/z_index = 0 -79/name = "tileset_whole_tiles.png 79" -79/texture = ExtResource( 1 ) -79/tex_offset = Vector2( 0, 0 ) -79/modulate = Color( 1, 1, 1, 1 ) -79/region = Rect2( 128, 112, 16, 16 ) -79/tile_mode = 0 -79/occluder_offset = Vector2( 0, 0 ) -79/navigation_offset = Vector2( 0, 0 ) -79/shape_offset = Vector2( 0, 0 ) -79/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -79/shape_one_way = false -79/shape_one_way_margin = 0.0 -79/shapes = [ ] -79/z_index = 0 -80/name = "tileset_whole_tiles.png 80" -80/texture = ExtResource( 1 ) -80/tex_offset = Vector2( 0, 0 ) -80/modulate = Color( 1, 1, 1, 1 ) -80/region = Rect2( 128, 128, 16, 16 ) -80/tile_mode = 0 -80/occluder_offset = Vector2( 0, 0 ) -80/navigation_offset = Vector2( 0, 0 ) -80/shape_offset = Vector2( 0, 0 ) -80/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -80/shape_one_way = false -80/shape_one_way_margin = 0.0 -80/shapes = [ ] -80/z_index = 0 -81/name = "tileset_whole_tiles.png 81" -81/texture = ExtResource( 1 ) -81/tex_offset = Vector2( 0, 0 ) -81/modulate = Color( 1, 1, 1, 1 ) -81/region = Rect2( 128, 144, 16, 16 ) -81/tile_mode = 0 -81/occluder_offset = Vector2( 0, 0 ) -81/navigation_offset = Vector2( 0, 0 ) -81/shape_offset = Vector2( 0, 0 ) -81/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -81/shape_one_way = false -81/shape_one_way_margin = 0.0 -81/shapes = [ ] -81/z_index = 0 -86/name = "tileset_whole_tiles.png 86" -86/texture = ExtResource( 1 ) -86/tex_offset = Vector2( 0, 0 ) -86/modulate = Color( 1, 1, 1, 1 ) -86/region = Rect2( 144, 80, 16, 16 ) -86/tile_mode = 0 -86/occluder_offset = Vector2( 0, 0 ) -86/navigation_offset = Vector2( 0, 0 ) -86/shape_offset = Vector2( 0, 0 ) -86/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -86/shape_one_way = false -86/shape_one_way_margin = 0.0 -86/shapes = [ ] -86/z_index = 0 -87/name = "tileset_whole_tiles.png 87" -87/texture = ExtResource( 1 ) -87/tex_offset = Vector2( 0, 0 ) -87/modulate = Color( 1, 1, 1, 1 ) -87/region = Rect2( 144, 96, 16, 16 ) -87/tile_mode = 0 -87/occluder_offset = Vector2( 0, 0 ) -87/navigation_offset = Vector2( 0, 0 ) -87/shape_offset = Vector2( 0, 0 ) -87/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -87/shape_one_way = false -87/shape_one_way_margin = 0.0 -87/shapes = [ ] -87/z_index = 0 -88/name = "tileset_whole_tiles.png 88" -88/texture = ExtResource( 1 ) -88/tex_offset = Vector2( 0, 0 ) -88/modulate = Color( 1, 1, 1, 1 ) -88/region = Rect2( 144, 112, 16, 16 ) -88/tile_mode = 0 -88/occluder_offset = Vector2( 0, 0 ) -88/navigation_offset = Vector2( 0, 0 ) -88/shape_offset = Vector2( 0, 0 ) -88/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -88/shape_one_way = false -88/shape_one_way_margin = 0.0 -88/shapes = [ ] -88/z_index = 0 -89/name = "tileset_whole_tiles.png 89" -89/texture = ExtResource( 1 ) -89/tex_offset = Vector2( 0, 0 ) -89/modulate = Color( 1, 1, 1, 1 ) -89/region = Rect2( 144, 128, 16, 16 ) -89/tile_mode = 0 -89/occluder_offset = Vector2( 0, 0 ) -89/navigation_offset = Vector2( 0, 0 ) -89/shape_offset = Vector2( 0, 0 ) -89/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -89/shape_one_way = false -89/shape_one_way_margin = 0.0 -89/shapes = [ ] -89/z_index = 0 -92/name = "tileset_whole_tiles.png 92" -92/texture = ExtResource( 1 ) -92/tex_offset = Vector2( 0, 0 ) -92/modulate = Color( 1, 1, 1, 1 ) -92/region = Rect2( 160, 112, 16, 16 ) -92/tile_mode = 0 -92/occluder_offset = Vector2( 0, 0 ) -92/navigation_offset = Vector2( 0, 0 ) -92/shape_offset = Vector2( 0, 0 ) -92/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -92/shape_one_way = false -92/shape_one_way_margin = 0.0 -92/shapes = [ ] -92/z_index = 0 -93/name = "tileset_whole_tiles.png 93" -93/texture = ExtResource( 1 ) -93/tex_offset = Vector2( 0, 0 ) -93/modulate = Color( 1, 1, 1, 1 ) -93/region = Rect2( 160, 128, 16, 16 ) -93/tile_mode = 0 -93/occluder_offset = Vector2( 0, 0 ) -93/navigation_offset = Vector2( 0, 0 ) -93/shape_offset = Vector2( 0, 0 ) -93/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -93/shape_one_way = false -93/shape_one_way_margin = 0.0 -93/shapes = [ ] -93/z_index = 0 -94/name = "tileset_whole_tiles.png 94" -94/texture = ExtResource( 1 ) -94/tex_offset = Vector2( 0, 0 ) -94/modulate = Color( 1, 1, 1, 1 ) -94/region = Rect2( 0, 0, 176, 160 ) -94/tile_mode = 1 -94/autotile/bitmask_mode = 1 -94/autotile/bitmask_flags = [ Vector2( 0, 0 ), 432, Vector2( 0, 1 ), 438, Vector2( 0, 2 ), 54, Vector2( 0, 3 ), 48, Vector2( 1, 0 ), 504, Vector2( 1, 1 ), 511, Vector2( 1, 2 ), 63, Vector2( 1, 3 ), 56, Vector2( 2, 0 ), 216, Vector2( 2, 1 ), 219, Vector2( 2, 2 ), 27, Vector2( 2, 3 ), 24, Vector2( 3, 0 ), 144, Vector2( 3, 1 ), 146, Vector2( 3, 2 ), 18, Vector2( 3, 3 ), 16, Vector2( 4, 0 ), 176, Vector2( 4, 1 ), 182, Vector2( 4, 2 ), 434, Vector2( 4, 3 ), 50, Vector2( 4, 4 ), 178, Vector2( 5, 0 ), 248, Vector2( 5, 1 ), 255, Vector2( 5, 2 ), 507, Vector2( 5, 3 ), 59, Vector2( 5, 4 ), 251, Vector2( 6, 0 ), 440, Vector2( 6, 1 ), 447, Vector2( 6, 2 ), 510, Vector2( 6, 3 ), 62, Vector2( 6, 4 ), 446, Vector2( 7, 0 ), 152, Vector2( 7, 1 ), 155, Vector2( 7, 2 ), 218, Vector2( 7, 3 ), 26, Vector2( 7, 4 ), 154, Vector2( 8, 0 ), 184, Vector2( 8, 1 ), 191, Vector2( 8, 2 ), 506, Vector2( 8, 3 ), 58, Vector2( 8, 4 ), 186, Vector2( 9, 0 ), 443, Vector2( 9, 1 ), 254, Vector2( 9, 2 ), 442, Vector2( 9, 3 ), 190, Vector2( 10, 2 ), 250, Vector2( 10, 3 ), 187 ] -94/autotile/icon_coordinate = Vector2( 3, 3 ) -94/autotile/tile_size = Vector2( 16, 16 ) -94/autotile/spacing = 0 -94/autotile/occluder_map = [ ] -94/autotile/navpoly_map = [ ] -94/autotile/priority_map = [ ] -94/autotile/z_index_map = [ ] -94/occluder_offset = Vector2( 0, 0 ) -94/navigation_offset = Vector2( 0, 0 ) -94/shape_offset = Vector2( 0, 0 ) -94/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -94/shape_one_way = false -94/shape_one_way_margin = 0.0 -94/shapes = [ ] -94/z_index = 0 diff --git a/client/Scenes/Dev.tscn b/client/Scenes/Dev.tscn index d85cb59..81a339d 100644 --- a/client/Scenes/Dev.tscn +++ b/client/Scenes/Dev.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=9 format=2] [ext_resource path="res://Nodes/Tiles/tileset_science_lab.tres" type="TileSet" id=1] [ext_resource path="res://Nodes/NPCs/CEO.tscn" type="PackedScene" id=2] @@ -6,6 +6,8 @@ [ext_resource path="res://Nodes/GUI.tscn" type="PackedScene" id=4] [ext_resource path="res://Nodes/NPCs/Thadd.tscn" type="PackedScene" id=5] [ext_resource path="res://Nodes/NPCs/Aura.tscn" type="PackedScene" id=6] +[ext_resource path="res://Nodes/NPCs/Worker.tscn" type="PackedScene" id=7] +[ext_resource path="res://Nodes/NPCs/Soldier.tscn" type="PackedScene" id=8] [node name="World" type="Node2D"] @@ -13,13 +15,21 @@ tile_set = ExtResource( 1 ) cell_size = Vector2( 16, 16 ) format = 1 -tile_data = PoolIntArray( 786429, 51, 0, 786430, 51, 1, 786431, 51, 1, 720896, 51, 2, 720897, 47, 0, 720898, 47, 1, 720899, 47, 1, 720900, 47, 1, 720901, 47, 1, 720902, 47, 1, 720903, 47, 1, 720904, 47, 1, 720905, 47, 1, 720906, 47, 1, 720907, 47, 1, 720908, 47, 1, 720909, 47, 1, 720910, 47, 1, 720911, 47, 1, 720912, 47, 1, 720913, 47, 1, 720914, 47, 1, 720915, 47, 1, 720916, 47, 1, 720917, 47, 1, 720918, 47, 1, 720919, 47, 1, 720920, 47, 1, 720921, 47, 1, 720922, 47, 1, 720923, 47, 1, 720924, 47, 1, 720925, 47, 1, 720926, 47, 1, 720927, 47, 2, 851965, 51, 65536, 851966, 51, 65537, 851967, 51, 65537, 786432, 51, 65538, 786433, 47, 65536, 786434, 47, 65537, 786435, 47, 65537, 786436, 47, 65537, 786437, 47, 65537, 786438, 47, 65537, 786439, 47, 65537, 786440, 47, 65537, 786441, 47, 65537, 786442, 47, 65537, 786443, 47, 65537, 786444, 47, 65537, 786445, 47, 65537, 786446, 47, 65537, 786447, 47, 65537, 786448, 47, 65537, 786449, 47, 65537, 786450, 47, 65537, 786451, 47, 65537, 786452, 47, 65537, 786453, 47, 65537, 786454, 47, 65537, 786455, 47, 65537, 786456, 47, 65537, 786457, 47, 65537, 786458, 47, 65537, 786459, 47, 65537, 786460, 47, 65537, 786461, 47, 65537, 786462, 47, 65537, 786463, 47, 65538, 917501, 51, 131072, 917502, 51, 131073, 917503, 51, 131073, 851968, 51, 131074, 851969, 47, 131072, 851970, 47, 131073, 851971, 47, 131073, 851972, 47, 131073, 851973, 47, 131073, 851974, 47, 131073, 851975, 47, 131073, 851976, 47, 131073, 851977, 47, 131073, 851978, 47, 131073, 851979, 47, 131073, 851980, 47, 131073, 851981, 47, 131073, 851982, 47, 131073, 851983, 47, 131073, 851984, 47, 131073, 851985, 47, 131073, 851986, 47, 131073, 851987, 47, 131073, 851988, 47, 131073, 851989, 47, 131073, 851990, 47, 131073, 851991, 47, 131073, 851992, 47, 131073, 851993, 47, 131073, 851994, 47, 131073, 851995, 47, 131073, 851996, 47, 131073, 851997, 47, 131073, 851998, 47, 131073, 851999, 47, 131074 ) +tile_data = PoolIntArray( 393217, 49, 0, 393218, 49, 0, 393219, 49, 0, 393220, 49, 0, 393221, 49, 0, 524285, 47, 3, 524286, 48, 0, 524287, 47, 3, 458753, 49, 0, 458754, 52, 0, 458755, 52, 2, 458756, 49, 0, 458757, 49, 0, 589821, 47, 65539, 589822, 48, 0, 589823, 47, 65539, 524289, 49, 0, 524290, 52, 65536, 524291, 52, 65538, 524292, 49, 0, 524293, 49, 0, 655357, 47, 131075, 655358, 48, 0, 655359, 47, 131075, 589825, 49, 0, 589826, 52, 65536, 589827, 52, 65538, 589828, 49, 0, 589829, 49, 0, 655361, 49, 0, 655362, 52, 131072, 655363, 52, 131074, 655364, 49, 0, 655365, 49, 0, 786429, 51, 0, 786430, 51, 1, 786431, 51, 1, 720896, 51, 2, 720897, 47, 0, 720898, 47, 1, 720899, 47, 1, 720900, 47, 1, 720901, 47, 1, 720902, 47, 1, 720903, 47, 1, 720904, 47, 1, 720905, 47, 1, 720906, 47, 1, 720907, 47, 1, 720908, 47, 1, 720909, 47, 1, 720910, 47, 1, 720911, 47, 1, 720912, 47, 1, 720913, 47, 1, 720914, 47, 1, 720915, 47, 1, 720916, 47, 1, 720917, 47, 1, 720918, 47, 1, 720919, 47, 1, 720920, 47, 1, 720921, 47, 1, 720922, 47, 1, 720923, 47, 1, 720924, 47, 1, 720925, 47, 1, 720926, 47, 1, 720927, 47, 2, 851965, 51, 65536, 851966, 51, 65537, 851967, 51, 65537, 786432, 51, 65538, 786433, 47, 65536, 786434, 47, 65537, 786435, 47, 65537, 786436, 47, 65537, 786437, 47, 65537, 786438, 47, 65537, 786439, 47, 65537, 786440, 47, 65537, 786441, 47, 65537, 786442, 47, 65537, 786443, 47, 65537, 786444, 47, 65537, 786445, 47, 65537, 786446, 47, 65537, 786447, 47, 65537, 786448, 47, 65537, 786449, 47, 65537, 786450, 47, 65537, 786451, 47, 65537, 786452, 47, 65537, 786453, 47, 65537, 786454, 47, 65537, 786455, 47, 65537, 786456, 47, 65537, 786457, 47, 65537, 786458, 47, 65537, 786459, 47, 65537, 786460, 47, 65537, 786461, 47, 65537, 786462, 47, 65537, 786463, 47, 65538, 917501, 51, 131072, 917502, 51, 131073, 917503, 51, 131073, 851968, 51, 131074, 851969, 47, 131072, 851970, 47, 131073, 851971, 47, 131073, 851972, 47, 131073, 851973, 47, 131073, 851974, 47, 131073, 851975, 47, 131073, 851976, 47, 131073, 851977, 47, 131073, 851978, 47, 131073, 851979, 47, 131073, 851980, 47, 131073, 851981, 47, 131073, 851982, 47, 131073, 851983, 47, 131073, 851984, 47, 131073, 851985, 47, 131073, 851986, 47, 131073, 851987, 47, 131073, 851988, 47, 131073, 851989, 47, 131073, 851990, 47, 131073, 851991, 47, 131073, 851992, 47, 131073, 851993, 47, 131073, 851994, 47, 131073, 851995, 47, 131073, 851996, 47, 131073, 851997, 47, 131073, 851998, 47, 131073, 851999, 47, 131074 ) + +[node name="Worker" parent="." instance=ExtResource( 7 )] +position = Vector2( -48.0134, 200.126 ) +face_right_init = false +reset_after_dialog = true + +[node name="Soldier" parent="Worker" instance=ExtResource( 8 )] +position = Vector2( 208.232, -31.4683 ) [node name="Scientist" parent="." instance=ExtResource( 2 )] position = Vector2( 182.674, 166.939 ) [node name="Player" parent="." instance=ExtResource( 3 )] -position = Vector2( 90.0225, 142.418 ) +position = Vector2( 82.2741, 164.848 ) [node name="GUI" parent="." instance=ExtResource( 4 )] diff --git a/client/Scenes/World.scn b/client/Scenes/World.scn index 56f30814e56dbb7fa22c0178e47ab6c17f8d5944..90f58ebe27665dba94607e1ae779c5e21d657dad 100644 GIT binary patch literal 11228 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 LG47!LulN4}CE}zF literal 11226 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 ADgXcg diff --git a/client/Scripts/Component/InteractableDialog.gd b/client/Scripts/Component/InteractableDialog.gd index e8539cb..4cc29f6 100644 --- a/client/Scripts/Component/InteractableDialog.gd +++ b/client/Scripts/Component/InteractableDialog.gd @@ -1,9 +1,26 @@ extends "res://Scripts/Component/Interactable.gd" export var dialog_name : String = "unconfigured" +export var face_right_init = true +export var face_on_interact = true +export var reset_after_dialog = false func _ready(): + if $AnimationPlayer: + $AnimationPlayer.play("Idle") + $AnimationPlayer.seek(rand_range(0.0, 2.0), true) connect("interacted", self, "_on_interact") + $Speaker.connect("dialog_exited", self, "_on_dialog_exit") + if $Torso: + $Torso.flip_h = face_right_init func _on_interact(): + if $Torso: + if face_on_interact: + $Torso.flip_h = global_position.x < player.global_position.x $Speaker.start_dialog(dialog_name) + +func _on_dialog_exit(): + if $Torso: + if reset_after_dialog: + $Torso.flip_h = face_right_init diff --git a/client/Scripts/Entities/NPCs/Aura.gd b/client/Scripts/Entities/NPCs/Aura.gd index 5289e1c..e4f022a 100644 --- a/client/Scripts/Entities/NPCs/Aura.gd +++ b/client/Scripts/Entities/NPCs/Aura.gd @@ -7,7 +7,8 @@ func _ready(): $Speaker.speaker_name = "Aura" connect("body_entered", self, "_on_body_enter") connect("body_exited", self, "_on_body_exit") - #$Speaker.connect("dialog_exited", self, "_next") + $AnimationPlayer.play("Idle") + $AnimationPlayer.seek(rand_range(0.0,2.0)) func _on_body_enter(body): if body.has_method("add_interactable"): @@ -16,7 +17,7 @@ func _on_body_enter(body): func _process(delta): if state == 1 and not $Speaker.gui.is_in_dialog(): - $Sprite.frame = 0 + $AnimationPlayer.play("Shoot") $Speaker.start_dialog("aura_meeting_gun") state = 2 elif state == 2 and not $Speaker.gui.is_in_dialog(): diff --git a/client/Scripts/Entities/NPCs/CEO.gd b/client/Scripts/Entities/NPCs/CEO.gd index ae157f0..b815913 100644 --- a/client/Scripts/Entities/NPCs/CEO.gd +++ b/client/Scripts/Entities/NPCs/CEO.gd @@ -7,8 +7,11 @@ func _ready(): $Speaker.speaker_name = "CEO Grant Blevins" $Speaker.speaker = "ceo" $Speaker.connect("dialog_exited", self, "_on_dialog_exit") + $AnimationPlayer.play("Idle") + $AnimationPlayer.seek(rand_range(0.0, 2.0), true) func _on_interact(): + $Torso.flip_h = global_position.x < player.global_position.x if state == 0: $Speaker.start_dialog("intro_meet_ceo") if player: diff --git a/client/Scripts/Entities/NPCs/IntroScientist.gd b/client/Scripts/Entities/NPCs/IntroScientist.gd index 9f39517..d6544bd 100644 --- a/client/Scripts/Entities/NPCs/IntroScientist.gd +++ b/client/Scripts/Entities/NPCs/IntroScientist.gd @@ -4,6 +4,8 @@ export var start_on_play = true func _ready(): connect("interacted", self, "_on_interact") + $AnimationPlayer.play("Idle") + $AnimationPlayer.seek(rand_range(0.0, 2.0), true) $Speaker.speaker = "fast_talker" $Speaker.speaker_name = "Dr.Thadd" $Speaker.connect("dialog_exited", self, "give_tip") @@ -12,6 +14,7 @@ func _ready(): func _on_interact(): $Speaker.start_dialog("intro_science_followup") + $Torso.flip_h = global_position.x < player.global_position.x func give_tip(): $Speaker.gui.display_tip("Used A & D to move\nleft and right") diff --git a/client/Scripts/Entities/Player.gd b/client/Scripts/Entities/Player.gd index 4b8dedf..9302546 100644 --- a/client/Scripts/Entities/Player.gd +++ b/client/Scripts/Entities/Player.gd @@ -3,13 +3,14 @@ extends KinematicBody2D export var clearance_level = 0 # Environment variables -export var baseGravity : float = 9.8 +var baseGravity : float = 9.8 # Player movment variables -export var maxMoveVelocity : float = 300 -export var moveAcceleration : float = 15 -export var moveFriction : float = 45 -export var jumpVelocity : float = -150 +var maxMoveVelocity : float = 150 +var moveAcceleration : float = 25 +var moveFriction : float = 65 +var jumpVelocity : float = -150 +var jumped = false var moveMotion : float = 0 # Player Input ( <- & -> ) var motion : Vector2 = Vector2(0,0) # Player's current velocity @@ -25,7 +26,7 @@ func add_item(item): equip_item(item) func equip_item(item): - var node = get_node_or_null("Torso/RightArm/RightForearm/LeftHand/Node2D/" + item) + var node = get_node_or_null("Sprite/Torso/RightArm/RightForearm/LeftHand/Node2D/" + item) if node: equiped = item node.show() @@ -40,6 +41,7 @@ func remove_interactable(interactable): interactables.remove(loc) func _physics_process(delta): + jumped = false # Gravity motion.y += baseGravity @@ -67,8 +69,11 @@ func user_input(): interactables[0].interact() if is_on_floor() and Input.is_action_just_pressed("ui_up") and Input.is_action_pressed("ui_down"): - position.y = position.y + 2 - return + var test_pos = Vector2(position.x,position.y+5) + + if not test_move(Transform2D(0,test_pos), Vector2(0,8)): + position.y = position.y + 8 + return if(Input.is_action_pressed("ui_left")): moveMotion -= moveAcceleration @@ -77,6 +82,7 @@ func user_input(): if(is_on_floor() and Input.is_action_just_pressed("ui_up")): motion.y = jumpVelocity + jumped = true if is_on_floor() and (!Input.is_action_pressed("ui_left") and !Input.is_action_pressed("ui_right")): if moveMotion > 0: @@ -86,12 +92,19 @@ func user_input(): func animation_manager(motion : float): - if moveMotion > 0: + if not is_on_floor(): + $AnimationPlayer.play("InAir") + elif jumped: + if $AnimationPlayer.current_animation != "Jump": + $AnimationPlayer.play("Jump") + elif moveMotion > 0: $AnimationPlayer.playback_speed = abs(motion)/200 - $AnimationPlayer.play("RunRight") + if $AnimationPlayer.current_animation != "RunRight": + $AnimationPlayer.play("RunRight") elif moveMotion < 0: $AnimationPlayer.playback_speed = abs(motion)/200 - $AnimationPlayer.play("RunLeft") + if $AnimationPlayer.current_animation != "RunLeft": + $AnimationPlayer.play("RunLeft") else: $AnimationPlayer.playback_speed = 1 $AnimationPlayer.play("Idle") diff --git a/client/project.godot b/client/project.godot index 38abc2f..ae0a5c3 100644 --- a/client/project.godot +++ b/client/project.godot @@ -74,6 +74,7 @@ interact={ "deadzone": 0.5, "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":69,"unicode":0,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":88,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777221,"unicode":0,"echo":false,"script":null) ] }