Side scrolling creepy puzzle game.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

790 lines
28KB

  1. [gd_scene load_steps=24 format=2]
  2. [ext_resource path="res://Data/Graphics/SS_001.png" type="Texture" id=1]
  3. [sub_resource type="CapsuleShape2D" id=1]
  4. radius = 6.0
  5. height = 14.0
  6. [sub_resource type="Animation" id=2]
  7. resource_name = "Base"
  8. length = 0.02
  9. step = 0.02
  10. tracks/0/type = "value"
  11. tracks/0/path = NodePath("Body/Sprite:frame")
  12. tracks/0/interp = 1
  13. tracks/0/loop_wrap = true
  14. tracks/0/imported = false
  15. tracks/0/enabled = true
  16. tracks/0/keys = {
  17. "times": PoolRealArray( 0 ),
  18. "transitions": PoolRealArray( 1 ),
  19. "update": 1,
  20. "values": [ 16 ]
  21. }
  22. tracks/1/type = "value"
  23. tracks/1/path = NodePath("Body/Head/Sprite:frame")
  24. tracks/1/interp = 1
  25. tracks/1/loop_wrap = true
  26. tracks/1/imported = false
  27. tracks/1/enabled = true
  28. tracks/1/keys = {
  29. "times": PoolRealArray( 0 ),
  30. "transitions": PoolRealArray( 1 ),
  31. "update": 1,
  32. "values": [ 0 ]
  33. }
  34. tracks/2/type = "value"
  35. tracks/2/path = NodePath("Body:position")
  36. tracks/2/interp = 1
  37. tracks/2/loop_wrap = true
  38. tracks/2/imported = false
  39. tracks/2/enabled = true
  40. tracks/2/keys = {
  41. "times": PoolRealArray( 0 ),
  42. "transitions": PoolRealArray( 1 ),
  43. "update": 0,
  44. "values": [ Vector2( -0.75, 0.75 ) ]
  45. }
  46. tracks/3/type = "value"
  47. tracks/3/path = NodePath("Body:rotation_degrees")
  48. tracks/3/interp = 1
  49. tracks/3/loop_wrap = true
  50. tracks/3/imported = false
  51. tracks/3/enabled = true
  52. tracks/3/keys = {
  53. "times": PoolRealArray( 0 ),
  54. "transitions": PoolRealArray( 1 ),
  55. "update": 0,
  56. "values": [ 0.0 ]
  57. }
  58. tracks/4/type = "value"
  59. tracks/4/path = NodePath("Body:scale")
  60. tracks/4/interp = 1
  61. tracks/4/loop_wrap = true
  62. tracks/4/imported = false
  63. tracks/4/enabled = true
  64. tracks/4/keys = {
  65. "times": PoolRealArray( 0 ),
  66. "transitions": PoolRealArray( 1 ),
  67. "update": 0,
  68. "values": [ Vector2( 1, 1 ) ]
  69. }
  70. tracks/5/type = "value"
  71. tracks/5/path = NodePath("Body/Head:position")
  72. tracks/5/interp = 1
  73. tracks/5/loop_wrap = true
  74. tracks/5/imported = false
  75. tracks/5/enabled = true
  76. tracks/5/keys = {
  77. "times": PoolRealArray( 0 ),
  78. "transitions": PoolRealArray( 1 ),
  79. "update": 0,
  80. "values": [ Vector2( 0.291992, -5.2558 ) ]
  81. }
  82. tracks/6/type = "value"
  83. tracks/6/path = NodePath("Body/Head:rotation_degrees")
  84. tracks/6/interp = 1
  85. tracks/6/loop_wrap = true
  86. tracks/6/imported = false
  87. tracks/6/enabled = true
  88. tracks/6/keys = {
  89. "times": PoolRealArray( 0 ),
  90. "transitions": PoolRealArray( 1 ),
  91. "update": 0,
  92. "values": [ 0.0 ]
  93. }
  94. tracks/7/type = "value"
  95. tracks/7/path = NodePath("Body/Head:scale")
  96. tracks/7/interp = 1
  97. tracks/7/loop_wrap = true
  98. tracks/7/imported = false
  99. tracks/7/enabled = true
  100. tracks/7/keys = {
  101. "times": PoolRealArray( 0 ),
  102. "transitions": PoolRealArray( 1 ),
  103. "update": 0,
  104. "values": [ Vector2( 1, 1 ) ]
  105. }
  106. tracks/8/type = "value"
  107. tracks/8/path = NodePath("Body/Right Hand:position")
  108. tracks/8/interp = 1
  109. tracks/8/loop_wrap = true
  110. tracks/8/imported = false
  111. tracks/8/enabled = true
  112. tracks/8/keys = {
  113. "times": PoolRealArray( 0 ),
  114. "transitions": PoolRealArray( 1 ),
  115. "update": 0,
  116. "values": [ Vector2( -2.83482, -0.404972 ) ]
  117. }
  118. tracks/9/type = "value"
  119. tracks/9/path = NodePath("Body/Right Hand:rotation_degrees")
  120. tracks/9/interp = 1
  121. tracks/9/loop_wrap = true
  122. tracks/9/imported = false
  123. tracks/9/enabled = true
  124. tracks/9/keys = {
  125. "times": PoolRealArray( 0 ),
  126. "transitions": PoolRealArray( 1 ),
  127. "update": 0,
  128. "values": [ 0.0 ]
  129. }
  130. tracks/10/type = "value"
  131. tracks/10/path = NodePath("Body/Right Hand:scale")
  132. tracks/10/interp = 1
  133. tracks/10/loop_wrap = true
  134. tracks/10/imported = false
  135. tracks/10/enabled = true
  136. tracks/10/keys = {
  137. "times": PoolRealArray( 0 ),
  138. "transitions": PoolRealArray( 1 ),
  139. "update": 0,
  140. "values": [ Vector2( 1, 1 ) ]
  141. }
  142. tracks/11/type = "value"
  143. tracks/11/path = NodePath("Body/Left Hand:position")
  144. tracks/11/interp = 1
  145. tracks/11/loop_wrap = true
  146. tracks/11/imported = false
  147. tracks/11/enabled = true
  148. tracks/11/keys = {
  149. "times": PoolRealArray( 0 ),
  150. "transitions": PoolRealArray( 1 ),
  151. "update": 0,
  152. "values": [ Vector2( 6.0746, -0.728951 ) ]
  153. }
  154. tracks/12/type = "value"
  155. tracks/12/path = NodePath("Body/Left Hand:rotation_degrees")
  156. tracks/12/interp = 1
  157. tracks/12/loop_wrap = true
  158. tracks/12/imported = false
  159. tracks/12/enabled = true
  160. tracks/12/keys = {
  161. "times": PoolRealArray( 0 ),
  162. "transitions": PoolRealArray( 1 ),
  163. "update": 0,
  164. "values": [ 0.0 ]
  165. }
  166. tracks/13/type = "value"
  167. tracks/13/path = NodePath("Body/Left Hand:scale")
  168. tracks/13/interp = 1
  169. tracks/13/loop_wrap = true
  170. tracks/13/imported = false
  171. tracks/13/enabled = true
  172. tracks/13/keys = {
  173. "times": PoolRealArray( 0 ),
  174. "transitions": PoolRealArray( 1 ),
  175. "update": 0,
  176. "values": [ Vector2( 1, 1 ) ]
  177. }
  178. tracks/14/type = "value"
  179. tracks/14/path = NodePath("Body/Right Foot:position")
  180. tracks/14/interp = 1
  181. tracks/14/loop_wrap = true
  182. tracks/14/imported = false
  183. tracks/14/enabled = true
  184. tracks/14/keys = {
  185. "times": PoolRealArray( 0 ),
  186. "transitions": PoolRealArray( 1 ),
  187. "update": 0,
  188. "values": [ Vector2( -1.29591, 9.47638 ) ]
  189. }
  190. tracks/15/type = "value"
  191. tracks/15/path = NodePath("Body/Right Foot:rotation_degrees")
  192. tracks/15/interp = 1
  193. tracks/15/loop_wrap = true
  194. tracks/15/imported = false
  195. tracks/15/enabled = true
  196. tracks/15/keys = {
  197. "times": PoolRealArray( 0 ),
  198. "transitions": PoolRealArray( 1 ),
  199. "update": 0,
  200. "values": [ 0.0 ]
  201. }
  202. tracks/16/type = "value"
  203. tracks/16/path = NodePath("Body/Right Foot:scale")
  204. tracks/16/interp = 1
  205. tracks/16/loop_wrap = true
  206. tracks/16/imported = false
  207. tracks/16/enabled = true
  208. tracks/16/keys = {
  209. "times": PoolRealArray( 0 ),
  210. "transitions": PoolRealArray( 1 ),
  211. "update": 0,
  212. "values": [ Vector2( 1, 1 ) ]
  213. }
  214. tracks/17/type = "value"
  215. tracks/17/path = NodePath("Body/Left Foot:position")
  216. tracks/17/interp = 1
  217. tracks/17/loop_wrap = true
  218. tracks/17/imported = false
  219. tracks/17/enabled = true
  220. tracks/17/keys = {
  221. "times": PoolRealArray( 0 ),
  222. "transitions": PoolRealArray( 1 ),
  223. "update": 0,
  224. "values": [ Vector2( 2.26785, 9.31439 ) ]
  225. }
  226. tracks/18/type = "value"
  227. tracks/18/path = NodePath("Body/Left Foot:rotation_degrees")
  228. tracks/18/interp = 1
  229. tracks/18/loop_wrap = true
  230. tracks/18/imported = false
  231. tracks/18/enabled = true
  232. tracks/18/keys = {
  233. "times": PoolRealArray( 0 ),
  234. "transitions": PoolRealArray( 1 ),
  235. "update": 0,
  236. "values": [ 0.0 ]
  237. }
  238. tracks/19/type = "value"
  239. tracks/19/path = NodePath("Body/Left Foot:scale")
  240. tracks/19/interp = 1
  241. tracks/19/loop_wrap = true
  242. tracks/19/imported = false
  243. tracks/19/enabled = true
  244. tracks/19/keys = {
  245. "times": PoolRealArray( 0 ),
  246. "transitions": PoolRealArray( 1 ),
  247. "update": 0,
  248. "values": [ Vector2( 1, 1 ) ]
  249. }
  250. tracks/20/type = "value"
  251. tracks/20/path = NodePath("Body/Sprite:scale")
  252. tracks/20/interp = 1
  253. tracks/20/loop_wrap = true
  254. tracks/20/imported = false
  255. tracks/20/enabled = true
  256. tracks/20/keys = {
  257. "times": PoolRealArray( 0 ),
  258. "transitions": PoolRealArray( 1 ),
  259. "update": 0,
  260. "values": [ Vector2( 1, 1 ) ]
  261. }
  262. [sub_resource type="Animation" id=3]
  263. resource_name = "Blink"
  264. length = 0.8
  265. tracks/0/type = "value"
  266. tracks/0/path = NodePath("Body/Head/Sprite:frame")
  267. tracks/0/interp = 1
  268. tracks/0/loop_wrap = true
  269. tracks/0/imported = false
  270. tracks/0/enabled = true
  271. tracks/0/keys = {
  272. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.6, 0.7 ),
  273. "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ),
  274. "update": 1,
  275. "values": [ 0, 1, 2, 3, 2, 1 ]
  276. }
  277. [sub_resource type="Animation" id=4]
  278. resource_name = "Breath"
  279. length = 2.0
  280. loop = true
  281. tracks/0/type = "bezier"
  282. tracks/0/path = NodePath("Body/Sprite:scale:x")
  283. tracks/0/interp = 1
  284. tracks/0/loop_wrap = true
  285. tracks/0/imported = false
  286. tracks/0/enabled = true
  287. tracks/0/keys = {
  288. "points": PoolRealArray( 1, -0.25, 0, 0.25, 0, 1.15, -0.25, 0, 0.25, 0, 1.15, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0 ),
  289. "times": PoolRealArray( 0, 0.7, 0.9, 1.6 )
  290. }
  291. tracks/1/type = "bezier"
  292. tracks/1/path = NodePath("Body/Sprite:scale:y")
  293. tracks/1/interp = 1
  294. tracks/1/loop_wrap = true
  295. tracks/1/imported = false
  296. tracks/1/enabled = true
  297. tracks/1/keys = {
  298. "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 ),
  299. "times": PoolRealArray( 0, 0.7, 0.9, 1.6 )
  300. }
  301. tracks/2/type = "bezier"
  302. tracks/2/path = NodePath("Body/Sprite:position:x")
  303. tracks/2/interp = 1
  304. tracks/2/loop_wrap = true
  305. tracks/2/imported = false
  306. tracks/2/enabled = true
  307. tracks/2/keys = {
  308. "points": PoolRealArray( 0.346, -0.25, 0, 0.25, 0, 0.5, -0.25, 0, 0.25, 0, 0.5, -0.25, 0, 0.25, 0, 0.346, -0.25, 0, 0.25, 0 ),
  309. "times": PoolRealArray( 0, 0.7, 0.9, 1.6 )
  310. }
  311. tracks/3/type = "bezier"
  312. tracks/3/path = NodePath("Body/Sprite:position:y")
  313. tracks/3/interp = 1
  314. tracks/3/loop_wrap = true
  315. tracks/3/imported = false
  316. tracks/3/enabled = true
  317. tracks/3/keys = {
  318. "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 ),
  319. "times": PoolRealArray( 0, 0.7, 0.9, 1.6 )
  320. }
  321. [sub_resource type="Animation" id=6]
  322. length = 0.6
  323. tracks/0/type = "value"
  324. tracks/0/path = NodePath("Body/Head/Sprite:frame")
  325. tracks/0/interp = 1
  326. tracks/0/loop_wrap = true
  327. tracks/0/imported = false
  328. tracks/0/enabled = true
  329. tracks/0/keys = {
  330. "times": PoolRealArray( 0, 0.1, 0.2 ),
  331. "transitions": PoolRealArray( 1, 1, 1 ),
  332. "update": 1,
  333. "values": [ 0, 1, 4 ]
  334. }
  335. [sub_resource type="Animation" id=21]
  336. resource_name = "FootShuffleA"
  337. length = 0.8
  338. tracks/0/type = "bezier"
  339. tracks/0/path = NodePath("Body/Right Foot:position:x")
  340. tracks/0/interp = 1
  341. tracks/0/loop_wrap = true
  342. tracks/0/imported = false
  343. tracks/0/enabled = true
  344. tracks/0/keys = {
  345. "points": PoolRealArray( -1.29591, -0.25, 0, 0.25, 0 ),
  346. "times": PoolRealArray( 0 )
  347. }
  348. tracks/1/type = "bezier"
  349. tracks/1/path = NodePath("Body/Right Foot:position:y")
  350. tracks/1/interp = 1
  351. tracks/1/loop_wrap = true
  352. tracks/1/imported = false
  353. tracks/1/enabled = true
  354. tracks/1/keys = {
  355. "points": PoolRealArray( 9.47638, -0.25, 0, 0.25, 0 ),
  356. "times": PoolRealArray( 0 )
  357. }
  358. tracks/2/type = "bezier"
  359. tracks/2/path = NodePath("Body/Right Foot:rotation_degrees")
  360. tracks/2/interp = 1
  361. tracks/2/loop_wrap = true
  362. tracks/2/imported = false
  363. tracks/2/enabled = true
  364. tracks/2/keys = {
  365. "points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ),
  366. "times": PoolRealArray( 0 )
  367. }
  368. tracks/3/type = "bezier"
  369. tracks/3/path = NodePath("Body/Left Foot:position:x")
  370. tracks/3/interp = 1
  371. tracks/3/loop_wrap = true
  372. tracks/3/imported = false
  373. tracks/3/enabled = true
  374. tracks/3/keys = {
  375. "points": PoolRealArray( 2.26785, -0.05, 0, 0.05, 0, 3.307, -0.05, 0, 0.05, 0, 3.5904, -0.05, 0, 0.05, 0, 3.5904, -0.05, 0, 0.05, 0, 3.68487, -0.05, 0, 0.05, 0, 3.68487, -0.05, 0, 0.05, 0, 2.26785, -0.05, 0, 0.05, 0 ),
  376. "times": PoolRealArray( 0, 0.1, 0.3, 0.4, 0.5, 0.6, 0.8 )
  377. }
  378. tracks/4/type = "bezier"
  379. tracks/4/path = NodePath("Body/Left Foot:position:y")
  380. tracks/4/interp = 1
  381. tracks/4/loop_wrap = true
  382. tracks/4/imported = false
  383. tracks/4/enabled = true
  384. tracks/4/keys = {
  385. "points": PoolRealArray( 9.31439, -0.05, 0, 0.05, 0, 8.18078, -0.05, 0, 0.05, 0, 7.04716, -0.05, 0, 0.05, 0, 8.65312, -0.05, 0, 0.05, 0, 7.42503, -0.05, 0, 0.05, 0, 8.55865, -0.05, 0, 0.05, 0, 9.31439, -0.05, 0, 0.05, 0 ),
  386. "times": PoolRealArray( 0, 0.1, 0.3, 0.4, 0.5, 0.6, 0.8 )
  387. }
  388. tracks/5/type = "bezier"
  389. tracks/5/path = NodePath("Body/Left Foot:rotation_degrees")
  390. tracks/5/interp = 1
  391. tracks/5/loop_wrap = true
  392. tracks/5/imported = false
  393. tracks/5/enabled = true
  394. tracks/5/keys = {
  395. "points": PoolRealArray( 0, -0.05, 0, 0.05, 0, 40.8562, -0.05, 0, 0.05, 0, 40.8562, -0.05, 0, 0.05, 0, 0, -0.05, 0, 0.05, 0 ),
  396. "times": PoolRealArray( 0, 0.1, 0.6, 0.8 )
  397. }
  398. [sub_resource type="Animation" id=7]
  399. resource_name = "Run"
  400. length = 1.2
  401. loop = true
  402. step = 0.02
  403. tracks/0/type = "bezier"
  404. tracks/0/path = NodePath("Body:position:x")
  405. tracks/0/interp = 1
  406. tracks/0/loop_wrap = true
  407. tracks/0/imported = false
  408. tracks/0/enabled = true
  409. tracks/0/keys = {
  410. "points": PoolRealArray( -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0 ),
  411. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  412. }
  413. tracks/1/type = "bezier"
  414. tracks/1/path = NodePath("Body:position:y")
  415. tracks/1/interp = 1
  416. tracks/1/loop_wrap = true
  417. tracks/1/imported = false
  418. tracks/1/enabled = true
  419. tracks/1/keys = {
  420. "points": PoolRealArray( 0.75, -0.05, 0, 0.05, 0, 1.82693, -0.05, 0, 0.05, 0, 1, -0.05, 0, 0.05, 0, 0.75, -0.05, 0, 0.05, 0, 0, -0.05, 0, 0.05, 0, 0.45, -0.05, 0, 0.05, 0, 0.75, -0.05, 0, 0.05, 0, 1.827, -0.05, 0, 0.05, 0, 1, -0.05, 0, 0.05, 0, 0.75, -0.05, 0, 0.05, 0, 0, -0.05, 0, 0.05, 0, 0.45, -0.05, 0, 0.05, 0, 0.75, -0.05, 0, 0.05, 0 ),
  421. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  422. }
  423. tracks/2/type = "bezier"
  424. tracks/2/path = NodePath("Body:rotation_degrees")
  425. tracks/2/interp = 1
  426. tracks/2/loop_wrap = true
  427. tracks/2/imported = false
  428. tracks/2/enabled = true
  429. tracks/2/keys = {
  430. "points": PoolRealArray( 4, -0.05, 0, 0.05, 0, 4, -0.05, 0, 0.05, 0 ),
  431. "times": PoolRealArray( 0, 1.2 )
  432. }
  433. tracks/3/type = "bezier"
  434. tracks/3/path = NodePath("Body/Head:rotation_degrees")
  435. tracks/3/interp = 1
  436. tracks/3/loop_wrap = true
  437. tracks/3/imported = false
  438. tracks/3/enabled = true
  439. tracks/3/keys = {
  440. "points": PoolRealArray( 0, -0.05, 0, 0.05, 0, 6.16962, -0.05, 0, 0.05, 0, -3.0988, -0.05, 0, 0.05, 0, 6.16962, -0.05, 0, 0.05, 0, -3.0988, -0.05, 0, 0.05, 0, 0, -0.05, 0, 0.05, 0 ),
  441. "times": PoolRealArray( 0, 0.1, 0.4, 0.7, 1, 1.2 )
  442. }
  443. tracks/4/type = "bezier"
  444. tracks/4/path = NodePath("Body/Right Hand:position:x")
  445. tracks/4/interp = 1
  446. tracks/4/loop_wrap = true
  447. tracks/4/imported = false
  448. tracks/4/enabled = true
  449. tracks/4/keys = {
  450. "points": PoolRealArray( -8.5038, -0.05, 0, 0.05, 0, -6.32139, -0.05, 0, 0.05, 0, -3.38769, -0.05, 0, 0.05, 0, 2.75203, -0.05, 0, 0.05, 0, 5.40025, -0.05, 0, 0.05, 0, 6.73876, -0.05, 0, 0.05, 0, 7.5589, -0.05, 0, 0.05, 0, 6.73876, -0.05, 0, 0.05, 0, 5.40025, -0.05, 0, 0.05, 0, 2.75203, -0.05, 0, 0.05, 0, -3.38769, -0.05, 0, 0.05, 0, -6.32139, -0.05, 0, 0.05, 0, -8.5038, -0.05, 0, 0.05, 0 ),
  451. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  452. }
  453. tracks/5/type = "bezier"
  454. tracks/5/path = NodePath("Body/Right Hand:position:y")
  455. tracks/5/interp = 1
  456. tracks/5/loop_wrap = true
  457. tracks/5/imported = false
  458. tracks/5/enabled = true
  459. tracks/5/keys = {
  460. "points": PoolRealArray( 0.416108, -0.05, 0, 0.05, 0, 3.32226, -0.05, 0, 0.05, 0, 4.10672, -0.05, 0, 0.05, 0, 3.13761, -0.05, 0, 0.05, 0, 2.41264, -0.05, 0, 0.05, 0, 0.96959, -0.05, 0, 0.05, 0, -0.167324, -0.05, 0, 0.05, 0, 0.96959, -0.05, 0, 0.05, 0, 2.41264, -0.05, 0, 0.05, 0, 3.13761, -0.05, 0, 0.05, 0, 4.10672, -0.05, 0, 0.05, 0, 3.32226, -0.05, 0, 0.05, 0, 0.416108, -0.05, 0, 0.05, 0 ),
  461. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  462. }
  463. tracks/6/type = "bezier"
  464. tracks/6/path = NodePath("Body/Left Hand:position:x")
  465. tracks/6/interp = 1
  466. tracks/6/loop_wrap = true
  467. tracks/6/imported = false
  468. tracks/6/enabled = true
  469. tracks/6/keys = {
  470. "points": PoolRealArray( 9.06326, -0.05, 0, 0.05, 0, 8.99689, -0.05, 0, 0.05, 0, 7.79799, -0.05, 0, 0.05, 0, -1.23787, -0.05, 0, 0.05, 0, -4.1509, -0.05, 0, 0.05, 0, -5.7417, -0.05, 0, 0.05, 0, -6.98066, -0.05, 0, 0.05, 0, -5.7417, -0.05, 0, 0.05, 0, -4.1509, -0.05, 0, 0.05, 0, -1.23787, -0.05, 0, 0.05, 0, 7.79799, -0.05, 0, 0.05, 0, 8.99689, -0.05, 0, 0.05, 0, 9.06326, -0.05, 0, 0.05, 0 ),
  471. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  472. }
  473. tracks/7/type = "bezier"
  474. tracks/7/path = NodePath("Body/Left Hand:position:y")
  475. tracks/7/interp = 1
  476. tracks/7/loop_wrap = true
  477. tracks/7/imported = false
  478. tracks/7/enabled = true
  479. tracks/7/keys = {
  480. "points": PoolRealArray( -0.765617, -0.05, 0, 0.05, 0, 0.85837, -0.05, 0, 0.05, 0, 3.01137, -0.05, 0, 0.05, 0, 3.73318, -0.05, 0, 0.05, 0, 1.95768, -0.05, 0, 0.05, 0, 1.07932, -0.05, 0, 0.05, 0, 0.0863929, -0.05, 0, 0.05, 0, 1.07932, -0.05, 0, 0.05, 0, 1.95768, -0.05, 0, 0.05, 0, 3.73318, -0.05, 0, 0.05, 0, 3.01137, -0.05, 0, 0.05, 0, 0.85837, -0.05, 0, 0.05, 0, -0.765617, -0.05, 0, 0.05, 0 ),
  481. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  482. }
  483. tracks/8/type = "bezier"
  484. tracks/8/path = NodePath("Body/Right Foot:position:x")
  485. tracks/8/interp = 1
  486. tracks/8/loop_wrap = true
  487. tracks/8/imported = false
  488. tracks/8/enabled = true
  489. tracks/8/keys = {
  490. "points": PoolRealArray( 7.12145, -0.05, 0, 0.05, 0, 4.62287, -0.05, 0, 0.05, 0, 1.2647, -0.05, 0, 0.05, 0, -4.91884, -0.05, 0, 0.05, 0, -6.2824, -0.05, 0, 0.05, 0, -7.27782, -0.05, 0, 0.05, 0, -6.55347, -0.05, 0, 0.05, 0, -4.97081, -0.05, 0, 0.05, 0, -1.90815, -0.05, 0, 0.05, 0, 4.24599, -0.05, 0, 0.05, 0, 5.99706, -0.05, 0, 0.05, 0, 6.82972, -0.05, 0, 0.05, 0, 7.12145, -0.05, 0, 0.05, 0 ),
  491. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  492. }
  493. tracks/9/type = "bezier"
  494. tracks/9/path = NodePath("Body/Right Foot:position:y")
  495. tracks/9/interp = 1
  496. tracks/9/loop_wrap = true
  497. tracks/9/imported = false
  498. tracks/9/enabled = true
  499. tracks/9/keys = {
  500. "points": PoolRealArray( 8.78822, -0.05, 0, 0.05, 0, 7.79341, -0.05, 0, 0.05, 0, 8.65798, -0.05, 0, 0.05, 0, 9.00041, -0.05, 0, 0.05, 0, 10.0854, -0.05, 0, 0.05, 0, 8.71555, -0.05, 0, 0.05, 0, 7.49537, -0.05, 0, 0.05, 0, 9.54383, -0.05, 0, 0.05, 0, 9.59956, -0.05, 0, 0.05, 0, 7.54987, -0.05, 0, 0.05, 0, 8.14713, -0.05, 0, 0.05, 0, 7.18927, -0.05, 0, 0.05, 0, 8.78822, -0.05, 0, 0.05, 0 ),
  501. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  502. }
  503. tracks/10/type = "bezier"
  504. tracks/10/path = NodePath("Body/Right Foot:rotation_degrees")
  505. tracks/10/interp = 1
  506. tracks/10/loop_wrap = true
  507. tracks/10/imported = false
  508. tracks/10/enabled = true
  509. tracks/10/keys = {
  510. "points": PoolRealArray( -40.6858, -0.05, 0, 0.05, 0, -5.64208, -0.05, 0, 0.05, 0, -2.7316, -0.05, 0, 0.05, 0, 30.9261, -0.05, 0, 0.05, 0, 44.2104, -0.05, 0, 0.05, 0, 77.8077, -0.05, 0, 0.05, 0, 109.662, -0.05, 0, 0.05, 0, 132.096, -0.05, 0, 0.05, 0, 101.727, -0.05, 0, 0.05, 0, 29.4588, -0.05, 0, 0.05, 0, -2.57295, -0.05, 0, 0.05, 0, -11.4331, -0.05, 0, 0.05, 0, -40.6858, -0.05, 0, 0.05, 0 ),
  511. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  512. }
  513. tracks/11/type = "bezier"
  514. tracks/11/path = NodePath("Body/Left Foot:position:x")
  515. tracks/11/interp = 1
  516. tracks/11/loop_wrap = true
  517. tracks/11/imported = false
  518. tracks/11/enabled = true
  519. tracks/11/keys = {
  520. "points": PoolRealArray( -5.80155, -0.05, 0, 0.05, 0, -3.63603, -0.05, 0, 0.05, 0, -0.60655, -0.05, 0, 0.05, 0, 4.82511, -0.05, 0, 0.05, 0, 6.67197, -0.05, 0, 0.05, 0, 6.81346, -0.05, 0, 0.05, 0, 7.41322, -0.05, 0, 0.05, 0, 6.8842, -0.05, 0, 0.05, 0, 3.08467, -0.05, 0, 0.05, 0, -3.54025, -0.05, 0, 0.05, 0, -5.19742, -0.05, 0, 0.05, 0, -6.14902, -0.05, 0, 0.05, 0, -5.80155, -0.05, 0, 0.05, 0 ),
  521. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  522. }
  523. tracks/12/type = "bezier"
  524. tracks/12/path = NodePath("Body/Left Foot:position:y")
  525. tracks/12/interp = 1
  526. tracks/12/loop_wrap = true
  527. tracks/12/imported = false
  528. tracks/12/enabled = true
  529. tracks/12/keys = {
  530. "points": PoolRealArray( 7.56739, -0.05, 0, 0.05, 0, 8.94534, -0.05, 0, 0.05, 0, 9.81307, -0.05, 0, 0.05, 0, 7.72394, -0.05, 0, 0.05, 0, 8.40446, -0.05, 0, 0.05, 0, 7.85479, -0.05, 0, 0.05, 0, 8.71248, -0.05, 0, 0.05, 0, 7.57995, -0.05, 0, 0.05, 0, 8.56535, -0.05, 0, 0.05, 0, 9.02861, -0.05, 0, 0.05, 0, 9.77423, -0.05, 0, 0.05, 0, 9.0311, -0.05, 0, 0.05, 0, 7.56739, -0.05, 0, 0.05, 0 ),
  531. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  532. }
  533. tracks/13/type = "bezier"
  534. tracks/13/path = NodePath("Body/Left Foot:rotation_degrees")
  535. tracks/13/interp = 1
  536. tracks/13/loop_wrap = true
  537. tracks/13/imported = false
  538. tracks/13/enabled = true
  539. tracks/13/keys = {
  540. "points": PoolRealArray( 114.222, -0.05, 0, 0.05, 0, 101.558, -0.05, 0, 0.05, 0, 21.8541, -0.05, 0, 0.05, 0, -3.35793, -0.05, 0, 0.05, 0, -15.1317, -0.05, 0, 0.05, 0, -25.4655, -0.05, 0, 0.05, 0, -6.78048, -0.05, 0, 0.05, 0, -4.43915, -0.05, 0, 0.05, 0, 30.8803, -0.05, 0, 0.05, 0, 44.418, -0.05, 0, 0.05, 0, 80.042, -0.05, 0, 0.05, 0, 114.222, -0.05, 0, 0.05, 0 ),
  541. "times": PoolRealArray( 0, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  542. }
  543. [sub_resource type="Animation" id=22]
  544. resource_name = "ShuffleHands1"
  545. length = 0.9
  546. tracks/0/type = "bezier"
  547. tracks/0/path = NodePath("Body/Left Hand:position:x")
  548. tracks/0/interp = 1
  549. tracks/0/loop_wrap = true
  550. tracks/0/imported = false
  551. tracks/0/enabled = true
  552. tracks/0/keys = {
  553. "points": PoolRealArray( 6.0746, -0.05, 0, 0.25, 0, 7.39715, -0.05, 0, 0.25, 0, 3.7129, -0.05, 0, 0.25, 0, 6.0746, -0.05, 0, 0.25, 0 ),
  554. "times": PoolRealArray( 0, 0.2, 0.5, 0.9 )
  555. }
  556. tracks/1/type = "bezier"
  557. tracks/1/path = NodePath("Body/Left Hand:position:y")
  558. tracks/1/interp = 1
  559. tracks/1/loop_wrap = true
  560. tracks/1/imported = false
  561. tracks/1/enabled = true
  562. tracks/1/keys = {
  563. "points": PoolRealArray( -0.728951, -0.05, 0, 0.25, 0, -0.35108, -0.05, 0, 0.25, 0, 0.404663, -0.05, 0, 0.25, 0, -0.728951, -0.05, 0, 0.25, 0 ),
  564. "times": PoolRealArray( 0, 0.2, 0.5, 0.9 )
  565. }
  566. tracks/2/type = "bezier"
  567. tracks/2/path = NodePath("Body/Left Hand:rotation_degrees")
  568. tracks/2/interp = 1
  569. tracks/2/loop_wrap = true
  570. tracks/2/imported = false
  571. tracks/2/enabled = true
  572. tracks/2/keys = {
  573. "points": PoolRealArray( 0, -0.05, 0, 0.25, 0 ),
  574. "times": PoolRealArray( 0 )
  575. }
  576. tracks/3/type = "bezier"
  577. tracks/3/path = NodePath("Body/Right Hand:position:x")
  578. tracks/3/interp = 1
  579. tracks/3/loop_wrap = true
  580. tracks/3/imported = false
  581. tracks/3/enabled = true
  582. tracks/3/keys = {
  583. "points": PoolRealArray( -2.83482, -0.05, 0, 0.25, 0, -4.15738, -0.05, 0, 0.25, 0, -0.66206, -0.05, 0, 0.25, 0, -2.83482, -0.05, 0, 0.25, 0 ),
  584. "times": PoolRealArray( 0, 0.2, 0.5, 0.9 )
  585. }
  586. tracks/4/type = "bezier"
  587. tracks/4/path = NodePath("Body/Right Hand:position:y")
  588. tracks/4/interp = 1
  589. tracks/4/loop_wrap = true
  590. tracks/4/imported = false
  591. tracks/4/enabled = true
  592. tracks/4/keys = {
  593. "points": PoolRealArray( -0.404972, -0.05, 0, 0.25, 0, -0.499439, -0.05, 0, 0.25, 0, 0.350771, -0.05, 0, 0.25, 0, -0.404972, -0.05, 0, 0.25, 0 ),
  594. "times": PoolRealArray( 0, 0.2, 0.5, 0.9 )
  595. }
  596. tracks/5/type = "bezier"
  597. tracks/5/path = NodePath("Body/Right Hand:rotation_degrees")
  598. tracks/5/interp = 1
  599. tracks/5/loop_wrap = true
  600. tracks/5/imported = false
  601. tracks/5/enabled = true
  602. tracks/5/keys = {
  603. "points": PoolRealArray( 0, -0.05, 0, 0.25, 0 ),
  604. "times": PoolRealArray( 0 )
  605. }
  606. [sub_resource type="Animation" id=23]
  607. resource_name = "ShuffleHands2"
  608. length = 2.8
  609. tracks/0/type = "bezier"
  610. tracks/0/path = NodePath("Body/Right Hand:position:x")
  611. tracks/0/interp = 1
  612. tracks/0/loop_wrap = true
  613. tracks/0/imported = false
  614. tracks/0/enabled = true
  615. tracks/0/keys = {
  616. "points": PoolRealArray( -2.83482, -0.05, 0, 0, 0, -0.000782251, 0, 0, 0, 0, 2.54985, 0, 0, 0, 0, 4.1558, 0, 0, 0, 0, 4.25027, 0, 0, 0, 0, 4.62814, 0, 0, 0, 0, 4.34473, 0, 0, 0, 0, 4.1558, 0, 0, 0, 0, 2.54985, 0, 0, 0, 0, -0.000782251, 0, 0, 0, 0, -2.83482, 0, 0, 0.05, 0 ),
  617. "times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 1, 2, 2.2, 2.4, 2.6, 2.8 )
  618. }
  619. tracks/1/type = "bezier"
  620. tracks/1/path = NodePath("Body/Right Hand:position:y")
  621. tracks/1/interp = 1
  622. tracks/1/loop_wrap = true
  623. tracks/1/imported = false
  624. tracks/1/enabled = true
  625. tracks/1/keys = {
  626. "points": PoolRealArray( -0.404972, -0.05, 0, 0, 0, -0.782844, 0, 0, 0, 0, -1.82199, 0, 0, 0, 0, -4.37263, 0, 0, 0, 0, -5.3173, 0, 0, 0, 0, -5.12837, 0, 0, 0, 0, -5.12837, 0, 0, 0, 0, -4.37263, 0, 0, 0, 0, -1.82199, 0, 0, 0, 0, -0.782844, 0, 0, 0, 0, -0.404972, 0, 0, 0.05, 0 ),
  627. "times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 1, 2, 2.2, 2.4, 2.6, 2.8 )
  628. }
  629. [sub_resource type="AnimationNodeAnimation" id=8]
  630. animation = "Run"
  631. [sub_resource type="AnimationNodeAnimation" id=9]
  632. animation = "Breath"
  633. [sub_resource type="AnimationNodeTimeScale" id=10]
  634. [sub_resource type="AnimationNodeBlendTree" id=11]
  635. nodes/Animation/node = SubResource( 9 )
  636. nodes/Animation/position = Vector2( 60, 120 )
  637. nodes/BreathRate/node = SubResource( 10 )
  638. nodes/BreathRate/position = Vector2( 280, 120 )
  639. nodes/output/position = Vector2( 680, 140 )
  640. node_connections = [ "output", 0, "BreathRate", "BreathRate", 0, "Animation" ]
  641. [sub_resource type="AnimationNodeBlend2" id=12]
  642. [sub_resource type="AnimationNodeAnimation" id=13]
  643. animation = "Blink"
  644. [sub_resource type="AnimationNodeAnimation" id=14]
  645. animation = "Eyebrow"
  646. [sub_resource type="AnimationNodeAnimation" id=15]
  647. animation = "Base"
  648. [sub_resource type="AnimationNodeOneShot" id=16]
  649. [sub_resource type="AnimationNodeOneShot" id=17]
  650. [sub_resource type="AnimationNodeBlendTree" id=18]
  651. nodes/Animation/node = SubResource( 15 )
  652. nodes/Animation/position = Vector2( 140, 80 )
  653. "nodes/Animation 2/node" = SubResource( 13 )
  654. "nodes/Animation 2/position" = Vector2( 180, 220 )
  655. "nodes/Animation 3/node" = SubResource( 14 )
  656. "nodes/Animation 3/position" = Vector2( 180, 340 )
  657. nodes/Blink/node = SubResource( 16 )
  658. nodes/Blink/position = Vector2( 400, 100 )
  659. nodes/Eyebrow/node = SubResource( 17 )
  660. nodes/Eyebrow/position = Vector2( 600, 200 )
  661. nodes/output/position = Vector2( 940, 140 )
  662. node_connections = [ "output", 0, "Eyebrow", "Blink", 0, "Animation", "Blink", 1, "Animation 2", "Eyebrow", 0, "Blink", "Eyebrow", 1, "Animation 3" ]
  663. [sub_resource type="AnimationNodeTransition" id=19]
  664. input_count = 3
  665. input_0/name = "Idle"
  666. input_0/auto_advance = false
  667. input_1/name = "Run"
  668. input_1/auto_advance = false
  669. input_2/name = "Jump"
  670. input_2/auto_advance = false
  671. [sub_resource type="AnimationNodeBlendTree" id=20]
  672. graph_offset = Vector2( -62, 89 )
  673. nodes/Animation/node = SubResource( 8 )
  674. nodes/Animation/position = Vector2( 140, 280 )
  675. nodes/Breath/node = SubResource( 11 )
  676. nodes/Breath/position = Vector2( 640, 340 )
  677. nodes/BreathCtrl/node = SubResource( 12 )
  678. nodes/BreathCtrl/position = Vector2( 900, 220 )
  679. nodes/Idle/node = SubResource( 18 )
  680. nodes/Idle/position = Vector2( 140, 160 )
  681. nodes/State/node = SubResource( 19 )
  682. nodes/State/position = Vector2( 660, 120 )
  683. nodes/output/position = Vector2( 1220, 180 )
  684. node_connections = [ "output", 0, "BreathCtrl", "State", 0, "Idle", "State", 1, "Animation", "BreathCtrl", 0, "State", "BreathCtrl", 1, "Breath" ]
  685. [node name="Player" type="KinematicBody2D"]
  686. position = Vector2( 0, -0.174824 )
  687. [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
  688. shape = SubResource( 1 )
  689. [node name="Body" type="Position2D" parent="."]
  690. position = Vector2( -0.75, 0.75 )
  691. [node name="Sprite" type="Sprite" parent="Body"]
  692. position = Vector2( 0.346, 0 )
  693. texture = ExtResource( 1 )
  694. vframes = 16
  695. hframes = 16
  696. frame = 16
  697. [node name="Head" type="Position2D" parent="Body"]
  698. position = Vector2( 0.291992, -5.2558 )
  699. [node name="Sprite" type="Sprite" parent="Body/Head"]
  700. position = Vector2( 0.291992, -2.04392 )
  701. texture = ExtResource( 1 )
  702. vframes = 16
  703. hframes = 16
  704. [node name="Right Hand" type="Position2D" parent="Body"]
  705. position = Vector2( -2.83482, -0.404972 )
  706. [node name="Sprite" type="Sprite" parent="Body/Right Hand"]
  707. position = Vector2( 0.404972, 0.728954 )
  708. texture = ExtResource( 1 )
  709. region_enabled = true
  710. region_rect = Rect2( 5, 32, 5, 5 )
  711. [node name="Left Hand" type="Position2D" parent="Body"]
  712. show_behind_parent = true
  713. position = Vector2( 6.0746, -0.728951 )
  714. [node name="Sprite" type="Sprite" parent="Body/Left Hand"]
  715. position = Vector2( 0.404972, 0.728954 )
  716. texture = ExtResource( 1 )
  717. region_enabled = true
  718. region_rect = Rect2( 5, 36, 5, 5 )
  719. [node name="Right Foot" type="Position2D" parent="Body"]
  720. position = Vector2( -1.29591, 9.47638 )
  721. [node name="Sprite" type="Sprite" parent="Body/Right Foot"]
  722. position = Vector2( 0.485966, 0.890942 )
  723. texture = ExtResource( 1 )
  724. region_enabled = true
  725. region_rect = Rect2( 0, 32, 5, 4 )
  726. [node name="Left Foot" type="Position2D" parent="Body"]
  727. show_behind_parent = true
  728. position = Vector2( 2.26785, 9.31439 )
  729. [node name="Sprite" type="Sprite" parent="Body/Left Foot"]
  730. position = Vector2( 0.485966, 0.890942 )
  731. texture = ExtResource( 1 )
  732. region_enabled = true
  733. region_rect = Rect2( 0, 36, 5, 4 )
  734. [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
  735. anims/Base = SubResource( 2 )
  736. anims/Blink = SubResource( 3 )
  737. anims/Breath = SubResource( 4 )
  738. anims/Eyebrow = SubResource( 6 )
  739. anims/FootShuffleA = SubResource( 21 )
  740. anims/Run = SubResource( 7 )
  741. anims/ShuffleHands1 = SubResource( 22 )
  742. anims/ShuffleHands2 = SubResource( 23 )
  743. [node name="AnimationTree" type="AnimationTree" parent="."]
  744. tree_root = SubResource( 20 )
  745. anim_player = NodePath("../AnimationPlayer")
  746. parameters/Breath/BreathRate/scale = 1.0
  747. parameters/BreathCtrl/blend_amount = 0.5
  748. parameters/Idle/Blink/active = false
  749. parameters/Idle/Eyebrow/active = false
  750. parameters/State/current = 1