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.

1047 line
36KB

  1. [gd_scene load_steps=46 format=2]
  2. [ext_resource path="res://Data/Graphics/SS_001.png" type="Texture" id=1]
  3. [ext_resource path="res://icon.png" type="Texture" id=2]
  4. [ext_resource path="res://Data/Scripts/Player.gd" type="Script" id=3]
  5. [sub_resource type="CapsuleShape2D" id=1]
  6. radius = 6.0
  7. height = 14.0
  8. [sub_resource type="Animation" id=2]
  9. resource_name = "Base"
  10. length = 0.02
  11. loop = true
  12. step = 0.02
  13. tracks/0/type = "value"
  14. tracks/0/path = NodePath("Body/Sprite:frame")
  15. tracks/0/interp = 1
  16. tracks/0/loop_wrap = true
  17. tracks/0/imported = false
  18. tracks/0/enabled = true
  19. tracks/0/keys = {
  20. "times": PoolRealArray( 0 ),
  21. "transitions": PoolRealArray( 1 ),
  22. "update": 1,
  23. "values": [ 16 ]
  24. }
  25. tracks/1/type = "value"
  26. tracks/1/path = NodePath("Body/Head/Sprite:frame")
  27. tracks/1/interp = 1
  28. tracks/1/loop_wrap = true
  29. tracks/1/imported = false
  30. tracks/1/enabled = true
  31. tracks/1/keys = {
  32. "times": PoolRealArray( 0 ),
  33. "transitions": PoolRealArray( 1 ),
  34. "update": 1,
  35. "values": [ 0 ]
  36. }
  37. tracks/2/type = "value"
  38. tracks/2/path = NodePath("Body:position")
  39. tracks/2/interp = 1
  40. tracks/2/loop_wrap = true
  41. tracks/2/imported = false
  42. tracks/2/enabled = true
  43. tracks/2/keys = {
  44. "times": PoolRealArray( 0 ),
  45. "transitions": PoolRealArray( 1 ),
  46. "update": 0,
  47. "values": [ Vector2( -0.75, 0.75 ) ]
  48. }
  49. tracks/3/type = "value"
  50. tracks/3/path = NodePath("Body:rotation_degrees")
  51. tracks/3/interp = 1
  52. tracks/3/loop_wrap = true
  53. tracks/3/imported = false
  54. tracks/3/enabled = true
  55. tracks/3/keys = {
  56. "times": PoolRealArray( 0 ),
  57. "transitions": PoolRealArray( 1 ),
  58. "update": 0,
  59. "values": [ 0.0 ]
  60. }
  61. tracks/4/type = "value"
  62. tracks/4/path = NodePath("Body:scale")
  63. tracks/4/interp = 1
  64. tracks/4/loop_wrap = true
  65. tracks/4/imported = false
  66. tracks/4/enabled = true
  67. tracks/4/keys = {
  68. "times": PoolRealArray( 0 ),
  69. "transitions": PoolRealArray( 1 ),
  70. "update": 0,
  71. "values": [ Vector2( 1, 1 ) ]
  72. }
  73. tracks/5/type = "value"
  74. tracks/5/path = NodePath("Body/Head:position")
  75. tracks/5/interp = 1
  76. tracks/5/loop_wrap = true
  77. tracks/5/imported = false
  78. tracks/5/enabled = true
  79. tracks/5/keys = {
  80. "times": PoolRealArray( 0 ),
  81. "transitions": PoolRealArray( 1 ),
  82. "update": 0,
  83. "values": [ Vector2( 0.291992, -5.2558 ) ]
  84. }
  85. tracks/6/type = "value"
  86. tracks/6/path = NodePath("Body/Head:rotation_degrees")
  87. tracks/6/interp = 1
  88. tracks/6/loop_wrap = true
  89. tracks/6/imported = false
  90. tracks/6/enabled = true
  91. tracks/6/keys = {
  92. "times": PoolRealArray( 0 ),
  93. "transitions": PoolRealArray( 1 ),
  94. "update": 0,
  95. "values": [ 0.0 ]
  96. }
  97. tracks/7/type = "value"
  98. tracks/7/path = NodePath("Body/Head:scale")
  99. tracks/7/interp = 1
  100. tracks/7/loop_wrap = true
  101. tracks/7/imported = false
  102. tracks/7/enabled = true
  103. tracks/7/keys = {
  104. "times": PoolRealArray( 0 ),
  105. "transitions": PoolRealArray( 1 ),
  106. "update": 0,
  107. "values": [ Vector2( 1, 1 ) ]
  108. }
  109. tracks/8/type = "value"
  110. tracks/8/path = NodePath("Body/Right Hand:position")
  111. tracks/8/interp = 1
  112. tracks/8/loop_wrap = true
  113. tracks/8/imported = false
  114. tracks/8/enabled = true
  115. tracks/8/keys = {
  116. "times": PoolRealArray( 0 ),
  117. "transitions": PoolRealArray( 1 ),
  118. "update": 0,
  119. "values": [ Vector2( -2.83482, -0.404972 ) ]
  120. }
  121. tracks/9/type = "value"
  122. tracks/9/path = NodePath("Body/Right Hand:rotation_degrees")
  123. tracks/9/interp = 1
  124. tracks/9/loop_wrap = true
  125. tracks/9/imported = false
  126. tracks/9/enabled = true
  127. tracks/9/keys = {
  128. "times": PoolRealArray( 0 ),
  129. "transitions": PoolRealArray( 1 ),
  130. "update": 0,
  131. "values": [ 0.0 ]
  132. }
  133. tracks/10/type = "value"
  134. tracks/10/path = NodePath("Body/Right Hand:scale")
  135. tracks/10/interp = 1
  136. tracks/10/loop_wrap = true
  137. tracks/10/imported = false
  138. tracks/10/enabled = true
  139. tracks/10/keys = {
  140. "times": PoolRealArray( 0 ),
  141. "transitions": PoolRealArray( 1 ),
  142. "update": 0,
  143. "values": [ Vector2( 1, 1 ) ]
  144. }
  145. tracks/11/type = "value"
  146. tracks/11/path = NodePath("Body/Left Hand:position")
  147. tracks/11/interp = 1
  148. tracks/11/loop_wrap = true
  149. tracks/11/imported = false
  150. tracks/11/enabled = true
  151. tracks/11/keys = {
  152. "times": PoolRealArray( 0 ),
  153. "transitions": PoolRealArray( 1 ),
  154. "update": 0,
  155. "values": [ Vector2( 6.0746, -0.728951 ) ]
  156. }
  157. tracks/12/type = "value"
  158. tracks/12/path = NodePath("Body/Left Hand:rotation_degrees")
  159. tracks/12/interp = 1
  160. tracks/12/loop_wrap = true
  161. tracks/12/imported = false
  162. tracks/12/enabled = true
  163. tracks/12/keys = {
  164. "times": PoolRealArray( 0 ),
  165. "transitions": PoolRealArray( 1 ),
  166. "update": 0,
  167. "values": [ 0.0 ]
  168. }
  169. tracks/13/type = "value"
  170. tracks/13/path = NodePath("Body/Left Hand:scale")
  171. tracks/13/interp = 1
  172. tracks/13/loop_wrap = true
  173. tracks/13/imported = false
  174. tracks/13/enabled = true
  175. tracks/13/keys = {
  176. "times": PoolRealArray( 0 ),
  177. "transitions": PoolRealArray( 1 ),
  178. "update": 0,
  179. "values": [ Vector2( 1, 1 ) ]
  180. }
  181. tracks/14/type = "value"
  182. tracks/14/path = NodePath("Body/Right Foot:position")
  183. tracks/14/interp = 1
  184. tracks/14/loop_wrap = true
  185. tracks/14/imported = false
  186. tracks/14/enabled = true
  187. tracks/14/keys = {
  188. "times": PoolRealArray( 0 ),
  189. "transitions": PoolRealArray( 1 ),
  190. "update": 0,
  191. "values": [ Vector2( -1.29591, 9.47638 ) ]
  192. }
  193. tracks/15/type = "value"
  194. tracks/15/path = NodePath("Body/Right Foot:rotation_degrees")
  195. tracks/15/interp = 1
  196. tracks/15/loop_wrap = true
  197. tracks/15/imported = false
  198. tracks/15/enabled = true
  199. tracks/15/keys = {
  200. "times": PoolRealArray( 0 ),
  201. "transitions": PoolRealArray( 1 ),
  202. "update": 0,
  203. "values": [ 0.0 ]
  204. }
  205. tracks/16/type = "value"
  206. tracks/16/path = NodePath("Body/Right Foot:scale")
  207. tracks/16/interp = 1
  208. tracks/16/loop_wrap = true
  209. tracks/16/imported = false
  210. tracks/16/enabled = true
  211. tracks/16/keys = {
  212. "times": PoolRealArray( 0 ),
  213. "transitions": PoolRealArray( 1 ),
  214. "update": 0,
  215. "values": [ Vector2( 1, 1 ) ]
  216. }
  217. tracks/17/type = "value"
  218. tracks/17/path = NodePath("Body/Left Foot:position")
  219. tracks/17/interp = 1
  220. tracks/17/loop_wrap = true
  221. tracks/17/imported = false
  222. tracks/17/enabled = true
  223. tracks/17/keys = {
  224. "times": PoolRealArray( 0 ),
  225. "transitions": PoolRealArray( 1 ),
  226. "update": 0,
  227. "values": [ Vector2( 2.26785, 9.31439 ) ]
  228. }
  229. tracks/18/type = "value"
  230. tracks/18/path = NodePath("Body/Left Foot:rotation_degrees")
  231. tracks/18/interp = 1
  232. tracks/18/loop_wrap = true
  233. tracks/18/imported = false
  234. tracks/18/enabled = true
  235. tracks/18/keys = {
  236. "times": PoolRealArray( 0 ),
  237. "transitions": PoolRealArray( 1 ),
  238. "update": 0,
  239. "values": [ 0.0 ]
  240. }
  241. tracks/19/type = "value"
  242. tracks/19/path = NodePath("Body/Left Foot:scale")
  243. tracks/19/interp = 1
  244. tracks/19/loop_wrap = true
  245. tracks/19/imported = false
  246. tracks/19/enabled = true
  247. tracks/19/keys = {
  248. "times": PoolRealArray( 0 ),
  249. "transitions": PoolRealArray( 1 ),
  250. "update": 0,
  251. "values": [ Vector2( 1, 1 ) ]
  252. }
  253. tracks/20/type = "value"
  254. tracks/20/path = NodePath("Body/Sprite:scale")
  255. tracks/20/interp = 1
  256. tracks/20/loop_wrap = true
  257. tracks/20/imported = false
  258. tracks/20/enabled = true
  259. tracks/20/keys = {
  260. "times": PoolRealArray( 0 ),
  261. "transitions": PoolRealArray( 1 ),
  262. "update": 0,
  263. "values": [ Vector2( 1, 1 ) ]
  264. }
  265. [sub_resource type="Animation" id=3]
  266. resource_name = "Blink"
  267. length = 0.8
  268. tracks/0/type = "value"
  269. tracks/0/path = NodePath("Body/Head/Sprite:frame")
  270. tracks/0/interp = 1
  271. tracks/0/loop_wrap = true
  272. tracks/0/imported = false
  273. tracks/0/enabled = true
  274. tracks/0/keys = {
  275. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.6, 0.7 ),
  276. "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ),
  277. "update": 1,
  278. "values": [ 0, 1, 2, 3, 2, 1 ]
  279. }
  280. [sub_resource type="Animation" id=4]
  281. resource_name = "Breath"
  282. length = 2.0
  283. loop = true
  284. tracks/0/type = "bezier"
  285. tracks/0/path = NodePath("Body/Sprite:scale:x")
  286. tracks/0/interp = 1
  287. tracks/0/loop_wrap = true
  288. tracks/0/imported = false
  289. tracks/0/enabled = true
  290. tracks/0/keys = {
  291. "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 ),
  292. "times": PoolRealArray( 0, 0.7, 0.9, 1.6 )
  293. }
  294. tracks/1/type = "bezier"
  295. tracks/1/path = NodePath("Body/Sprite:scale:y")
  296. tracks/1/interp = 1
  297. tracks/1/loop_wrap = true
  298. tracks/1/imported = false
  299. tracks/1/enabled = true
  300. tracks/1/keys = {
  301. "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 ),
  302. "times": PoolRealArray( 0, 0.7, 0.9, 1.6 )
  303. }
  304. tracks/2/type = "bezier"
  305. tracks/2/path = NodePath("Body/Sprite:position:x")
  306. tracks/2/interp = 1
  307. tracks/2/loop_wrap = true
  308. tracks/2/imported = false
  309. tracks/2/enabled = true
  310. tracks/2/keys = {
  311. "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 ),
  312. "times": PoolRealArray( 0, 0.7, 0.9, 1.6 )
  313. }
  314. tracks/3/type = "bezier"
  315. tracks/3/path = NodePath("Body/Sprite:position:y")
  316. tracks/3/interp = 1
  317. tracks/3/loop_wrap = true
  318. tracks/3/imported = false
  319. tracks/3/enabled = true
  320. tracks/3/keys = {
  321. "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 ),
  322. "times": PoolRealArray( 0, 0.7, 0.9, 1.6 )
  323. }
  324. [sub_resource type="Animation" id=5]
  325. length = 0.6
  326. tracks/0/type = "value"
  327. tracks/0/path = NodePath("Body/Head/Sprite:frame")
  328. tracks/0/interp = 1
  329. tracks/0/loop_wrap = true
  330. tracks/0/imported = false
  331. tracks/0/enabled = true
  332. tracks/0/keys = {
  333. "times": PoolRealArray( 0, 0.1, 0.2 ),
  334. "transitions": PoolRealArray( 1, 1, 1 ),
  335. "update": 1,
  336. "values": [ 0, 1, 4 ]
  337. }
  338. [sub_resource type="Animation" id=6]
  339. resource_name = "FootShuffleA"
  340. length = 0.8
  341. tracks/0/type = "bezier"
  342. tracks/0/path = NodePath("Body/Right Foot:position:x")
  343. tracks/0/interp = 1
  344. tracks/0/loop_wrap = true
  345. tracks/0/imported = false
  346. tracks/0/enabled = true
  347. tracks/0/keys = {
  348. "points": PoolRealArray( -1.29591, -0.25, 0, 0.25, 0 ),
  349. "times": PoolRealArray( 0 )
  350. }
  351. tracks/1/type = "bezier"
  352. tracks/1/path = NodePath("Body/Right Foot:position:y")
  353. tracks/1/interp = 1
  354. tracks/1/loop_wrap = true
  355. tracks/1/imported = false
  356. tracks/1/enabled = true
  357. tracks/1/keys = {
  358. "points": PoolRealArray( 9.47638, -0.25, 0, 0.25, 0 ),
  359. "times": PoolRealArray( 0 )
  360. }
  361. tracks/2/type = "bezier"
  362. tracks/2/path = NodePath("Body/Right Foot:rotation_degrees")
  363. tracks/2/interp = 1
  364. tracks/2/loop_wrap = true
  365. tracks/2/imported = false
  366. tracks/2/enabled = true
  367. tracks/2/keys = {
  368. "points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ),
  369. "times": PoolRealArray( 0 )
  370. }
  371. tracks/3/type = "bezier"
  372. tracks/3/path = NodePath("Body/Left Foot:position:x")
  373. tracks/3/interp = 1
  374. tracks/3/loop_wrap = true
  375. tracks/3/imported = false
  376. tracks/3/enabled = true
  377. tracks/3/keys = {
  378. "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 ),
  379. "times": PoolRealArray( 0, 0.1, 0.3, 0.4, 0.5, 0.6, 0.8 )
  380. }
  381. tracks/4/type = "bezier"
  382. tracks/4/path = NodePath("Body/Left Foot:position:y")
  383. tracks/4/interp = 1
  384. tracks/4/loop_wrap = true
  385. tracks/4/imported = false
  386. tracks/4/enabled = true
  387. tracks/4/keys = {
  388. "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 ),
  389. "times": PoolRealArray( 0, 0.1, 0.3, 0.4, 0.5, 0.6, 0.8 )
  390. }
  391. tracks/5/type = "bezier"
  392. tracks/5/path = NodePath("Body/Left Foot:rotation_degrees")
  393. tracks/5/interp = 1
  394. tracks/5/loop_wrap = true
  395. tracks/5/imported = false
  396. tracks/5/enabled = true
  397. tracks/5/keys = {
  398. "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 ),
  399. "times": PoolRealArray( 0, 0.1, 0.6, 0.8 )
  400. }
  401. [sub_resource type="Animation" id=7]
  402. resource_name = "HandsShuffleA"
  403. length = 0.9
  404. tracks/0/type = "bezier"
  405. tracks/0/path = NodePath("Body/Left Hand:position:x")
  406. tracks/0/interp = 1
  407. tracks/0/loop_wrap = true
  408. tracks/0/imported = false
  409. tracks/0/enabled = true
  410. tracks/0/keys = {
  411. "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 ),
  412. "times": PoolRealArray( 0, 0.2, 0.5, 0.9 )
  413. }
  414. tracks/1/type = "bezier"
  415. tracks/1/path = NodePath("Body/Left Hand:position:y")
  416. tracks/1/interp = 1
  417. tracks/1/loop_wrap = true
  418. tracks/1/imported = false
  419. tracks/1/enabled = true
  420. tracks/1/keys = {
  421. "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 ),
  422. "times": PoolRealArray( 0, 0.2, 0.5, 0.9 )
  423. }
  424. tracks/2/type = "bezier"
  425. tracks/2/path = NodePath("Body/Left Hand:rotation_degrees")
  426. tracks/2/interp = 1
  427. tracks/2/loop_wrap = true
  428. tracks/2/imported = false
  429. tracks/2/enabled = true
  430. tracks/2/keys = {
  431. "points": PoolRealArray( 0, -0.05, 0, 0.25, 0 ),
  432. "times": PoolRealArray( 0 )
  433. }
  434. tracks/3/type = "bezier"
  435. tracks/3/path = NodePath("Body/Right Hand:position:x")
  436. tracks/3/interp = 1
  437. tracks/3/loop_wrap = true
  438. tracks/3/imported = false
  439. tracks/3/enabled = true
  440. tracks/3/keys = {
  441. "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 ),
  442. "times": PoolRealArray( 0, 0.2, 0.5, 0.9 )
  443. }
  444. tracks/4/type = "bezier"
  445. tracks/4/path = NodePath("Body/Right Hand:position:y")
  446. tracks/4/interp = 1
  447. tracks/4/loop_wrap = true
  448. tracks/4/imported = false
  449. tracks/4/enabled = true
  450. tracks/4/keys = {
  451. "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 ),
  452. "times": PoolRealArray( 0, 0.2, 0.5, 0.9 )
  453. }
  454. tracks/5/type = "bezier"
  455. tracks/5/path = NodePath("Body/Right Hand:rotation_degrees")
  456. tracks/5/interp = 1
  457. tracks/5/loop_wrap = true
  458. tracks/5/imported = false
  459. tracks/5/enabled = true
  460. tracks/5/keys = {
  461. "points": PoolRealArray( 0, -0.05, 0, 0.25, 0 ),
  462. "times": PoolRealArray( 0 )
  463. }
  464. [sub_resource type="Animation" id=8]
  465. resource_name = "HandsShuffleB"
  466. length = 2.8
  467. tracks/0/type = "bezier"
  468. tracks/0/path = NodePath("Body/Right Hand:position:x")
  469. tracks/0/interp = 1
  470. tracks/0/loop_wrap = true
  471. tracks/0/imported = false
  472. tracks/0/enabled = true
  473. tracks/0/keys = {
  474. "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 ),
  475. "times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 1, 2, 2.2, 2.4, 2.6, 2.8 )
  476. }
  477. tracks/1/type = "bezier"
  478. tracks/1/path = NodePath("Body/Right Hand:position:y")
  479. tracks/1/interp = 1
  480. tracks/1/loop_wrap = true
  481. tracks/1/imported = false
  482. tracks/1/enabled = true
  483. tracks/1/keys = {
  484. "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 ),
  485. "times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 1, 2, 2.2, 2.4, 2.6, 2.8 )
  486. }
  487. [sub_resource type="Animation" id=9]
  488. resource_name = "LookAtCamera"
  489. length = 0.4
  490. tracks/0/type = "value"
  491. tracks/0/path = NodePath("Body/Head/Sprite:frame")
  492. tracks/0/interp = 1
  493. tracks/0/loop_wrap = true
  494. tracks/0/imported = false
  495. tracks/0/enabled = true
  496. tracks/0/keys = {
  497. "times": PoolRealArray( 0, 0.1, 0.2, 0.3 ),
  498. "transitions": PoolRealArray( 1, 1, 1, 1 ),
  499. "update": 1,
  500. "values": [ 0, 9, 10, 11 ]
  501. }
  502. [sub_resource type="Animation" id=10]
  503. resource_name = "LookDown"
  504. length = 0.1
  505. tracks/0/type = "value"
  506. tracks/0/path = NodePath("Body/Head/Sprite:frame")
  507. tracks/0/interp = 1
  508. tracks/0/loop_wrap = true
  509. tracks/0/imported = false
  510. tracks/0/enabled = true
  511. tracks/0/keys = {
  512. "times": PoolRealArray( 0 ),
  513. "transitions": PoolRealArray( 1 ),
  514. "update": 1,
  515. "values": [ 12 ]
  516. }
  517. [sub_resource type="Animation" id=11]
  518. resource_name = "LookFromCamera"
  519. length = 0.4
  520. tracks/0/type = "value"
  521. tracks/0/path = NodePath("Body/Head/Sprite:frame")
  522. tracks/0/interp = 1
  523. tracks/0/loop_wrap = true
  524. tracks/0/imported = false
  525. tracks/0/enabled = true
  526. tracks/0/keys = {
  527. "times": PoolRealArray( 0, 0.1, 0.2, 0.3 ),
  528. "transitions": PoolRealArray( 1, 1, 1, 1 ),
  529. "update": 1,
  530. "values": [ 11, 10, 9, 0 ]
  531. }
  532. [sub_resource type="Animation" id=12]
  533. length = 1.2
  534. loop = true
  535. step = 0.02
  536. tracks/0/type = "bezier"
  537. tracks/0/path = NodePath("Body:position:x")
  538. tracks/0/interp = 1
  539. tracks/0/loop_wrap = true
  540. tracks/0/imported = false
  541. tracks/0/enabled = true
  542. tracks/0/keys = {
  543. "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 ),
  544. "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 )
  545. }
  546. tracks/1/type = "bezier"
  547. tracks/1/path = NodePath("Body:position:y")
  548. tracks/1/interp = 1
  549. tracks/1/loop_wrap = true
  550. tracks/1/imported = false
  551. tracks/1/enabled = true
  552. tracks/1/keys = {
  553. "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 ),
  554. "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 )
  555. }
  556. tracks/2/type = "bezier"
  557. tracks/2/path = NodePath("Body:rotation_degrees")
  558. tracks/2/interp = 1
  559. tracks/2/loop_wrap = true
  560. tracks/2/imported = false
  561. tracks/2/enabled = true
  562. tracks/2/keys = {
  563. "points": PoolRealArray( 4, -0.05, 0, 0.05, 0, 4, -0.05, 0, 0.05, 0 ),
  564. "times": PoolRealArray( 0, 1.2 )
  565. }
  566. tracks/3/type = "bezier"
  567. tracks/3/path = NodePath("Body/Head:rotation_degrees")
  568. tracks/3/interp = 1
  569. tracks/3/loop_wrap = true
  570. tracks/3/imported = false
  571. tracks/3/enabled = true
  572. tracks/3/keys = {
  573. "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 ),
  574. "times": PoolRealArray( 0, 0.1, 0.4, 0.7, 1, 1.2 )
  575. }
  576. tracks/4/type = "bezier"
  577. tracks/4/path = NodePath("Body/Right Hand:position:x")
  578. tracks/4/interp = 1
  579. tracks/4/loop_wrap = true
  580. tracks/4/imported = false
  581. tracks/4/enabled = true
  582. tracks/4/keys = {
  583. "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 ),
  584. "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 )
  585. }
  586. tracks/5/type = "bezier"
  587. tracks/5/path = NodePath("Body/Right Hand:position:y")
  588. tracks/5/interp = 1
  589. tracks/5/loop_wrap = true
  590. tracks/5/imported = false
  591. tracks/5/enabled = true
  592. tracks/5/keys = {
  593. "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 ),
  594. "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 )
  595. }
  596. tracks/6/type = "bezier"
  597. tracks/6/path = NodePath("Body/Left Hand:position:x")
  598. tracks/6/interp = 1
  599. tracks/6/loop_wrap = true
  600. tracks/6/imported = false
  601. tracks/6/enabled = true
  602. tracks/6/keys = {
  603. "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 ),
  604. "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 )
  605. }
  606. tracks/7/type = "bezier"
  607. tracks/7/path = NodePath("Body/Left Hand:position:y")
  608. tracks/7/interp = 1
  609. tracks/7/loop_wrap = true
  610. tracks/7/imported = false
  611. tracks/7/enabled = true
  612. tracks/7/keys = {
  613. "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 ),
  614. "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 )
  615. }
  616. tracks/8/type = "bezier"
  617. tracks/8/path = NodePath("Body/Right Foot:position:x")
  618. tracks/8/interp = 1
  619. tracks/8/loop_wrap = true
  620. tracks/8/imported = false
  621. tracks/8/enabled = true
  622. tracks/8/keys = {
  623. "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 ),
  624. "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 )
  625. }
  626. tracks/9/type = "bezier"
  627. tracks/9/path = NodePath("Body/Right Foot:position:y")
  628. tracks/9/interp = 1
  629. tracks/9/loop_wrap = true
  630. tracks/9/imported = false
  631. tracks/9/enabled = true
  632. tracks/9/keys = {
  633. "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 ),
  634. "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 )
  635. }
  636. tracks/10/type = "bezier"
  637. tracks/10/path = NodePath("Body/Right Foot:rotation_degrees")
  638. tracks/10/interp = 1
  639. tracks/10/loop_wrap = true
  640. tracks/10/imported = false
  641. tracks/10/enabled = true
  642. tracks/10/keys = {
  643. "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 ),
  644. "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 )
  645. }
  646. tracks/11/type = "bezier"
  647. tracks/11/path = NodePath("Body/Left Foot:position:x")
  648. tracks/11/interp = 1
  649. tracks/11/loop_wrap = true
  650. tracks/11/imported = false
  651. tracks/11/enabled = true
  652. tracks/11/keys = {
  653. "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 ),
  654. "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 )
  655. }
  656. tracks/12/type = "bezier"
  657. tracks/12/path = NodePath("Body/Left Foot:position:y")
  658. tracks/12/interp = 1
  659. tracks/12/loop_wrap = true
  660. tracks/12/imported = false
  661. tracks/12/enabled = true
  662. tracks/12/keys = {
  663. "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 ),
  664. "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 )
  665. }
  666. tracks/13/type = "bezier"
  667. tracks/13/path = NodePath("Body/Left Foot:rotation_degrees")
  668. tracks/13/interp = 1
  669. tracks/13/loop_wrap = true
  670. tracks/13/imported = false
  671. tracks/13/enabled = true
  672. tracks/13/keys = {
  673. "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 ),
  674. "times": PoolRealArray( 0, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  675. }
  676. [sub_resource type="Animation" id=13]
  677. resource_name = "Walk"
  678. length = 1.6
  679. loop = true
  680. tracks/0/type = "value"
  681. tracks/0/path = NodePath("Body:position")
  682. tracks/0/interp = 1
  683. tracks/0/loop_wrap = true
  684. tracks/0/imported = false
  685. tracks/0/enabled = true
  686. tracks/0/keys = {
  687. "times": PoolRealArray( 0.00350559, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4 ),
  688. "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
  689. "update": 0,
  690. "values": [ Vector2( -0.75, 0.75 ), Vector2( -0.75, 2 ), Vector2( -0.75, 0 ), Vector2( -0.75, -0.75 ), Vector2( -0.75, 0.75 ), Vector2( -0.75, 2 ), Vector2( -0.75, 0 ), Vector2( -0.75, -0.75 ) ]
  691. }
  692. tracks/1/type = "value"
  693. tracks/1/path = NodePath("Body:rotation_degrees")
  694. tracks/1/interp = 1
  695. tracks/1/loop_wrap = true
  696. tracks/1/imported = false
  697. tracks/1/enabled = true
  698. tracks/1/keys = {
  699. "times": PoolRealArray( 0.00350559 ),
  700. "transitions": PoolRealArray( 1 ),
  701. "update": 0,
  702. "values": [ 0.0 ]
  703. }
  704. tracks/2/type = "value"
  705. tracks/2/path = NodePath("Body/Right Hand:position")
  706. tracks/2/interp = 1
  707. tracks/2/loop_wrap = true
  708. tracks/2/imported = false
  709. tracks/2/enabled = true
  710. tracks/2/keys = {
  711. "times": PoolRealArray( 0.00350559, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4 ),
  712. "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
  713. "update": 0,
  714. "values": [ Vector2( -4.91311, -0.216038 ), Vector2( -6.95929, -1.06861 ), Vector2( -2.52591, 0.380762 ), Vector2( 3.4421, 1.06282 ), Vector2( 5.31776, 1.06282 ), Vector2( 6.59661, 0.210247 ), Vector2( 0.287579, 1.65962 ), Vector2( -2.52591, 0.977562 ) ]
  715. }
  716. tracks/3/type = "value"
  717. tracks/3/path = NodePath("Body/Left Hand:position")
  718. tracks/3/interp = 1
  719. tracks/3/loop_wrap = true
  720. tracks/3/imported = false
  721. tracks/3/enabled = true
  722. tracks/3/keys = {
  723. "times": PoolRealArray( -2.32831e-10, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4 ),
  724. "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
  725. "update": 0,
  726. "values": [ Vector2( 8.62523, -0.728951 ), Vector2( 10.5009, -0.643694 ), Vector2( 5.81174, -0.217408 ), Vector2( 0.696301, 0.379392 ), Vector2( -3.39605, 0.549907 ), Vector2( -4.84542, 0.294136 ), Vector2( 1.63413, 1.573 ), Vector2( 6.74957, 1.14671 ) ]
  727. }
  728. tracks/4/type = "value"
  729. tracks/4/path = NodePath("Body/Right Foot:position")
  730. tracks/4/interp = 1
  731. tracks/4/loop_wrap = true
  732. tracks/4/imported = false
  733. tracks/4/enabled = true
  734. tracks/4/keys = {
  735. "times": PoolRealArray( -2.32831e-10, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4 ),
  736. "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
  737. "update": 0,
  738. "values": [ Vector2( 4.0753, 8.96484 ), Vector2( 4.41633, 8.02701 ), Vector2( 0.750264, 10.1584 ), Vector2( -2.40425, 10.4995 ), Vector2( -5.13249, 8.87957 ), Vector2( -6.15558, 8.19752 ), Vector2( -2.9158, 9.05009 ), Vector2( 2.28489, 9.30586 ) ]
  739. }
  740. tracks/5/type = "value"
  741. tracks/5/path = NodePath("Body/Right Foot:rotation_degrees")
  742. tracks/5/interp = 1
  743. tracks/5/loop_wrap = true
  744. tracks/5/imported = false
  745. tracks/5/enabled = true
  746. tracks/5/keys = {
  747. "times": PoolRealArray( -0.00350559, 0.2, 0.4, 0.8, 1, 1.2, 1.4 ),
  748. "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1 ),
  749. "update": 0,
  750. "values": [ -23.6647, 0.0, 0.0, 45.6642, 93.5603, 93.5603, 60.3923 ]
  751. }
  752. tracks/6/type = "value"
  753. tracks/6/path = NodePath("Body/Left Foot:position")
  754. tracks/6/interp = 1
  755. tracks/6/loop_wrap = true
  756. tracks/6/imported = false
  757. tracks/6/enabled = true
  758. tracks/6/keys = {
  759. "times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4 ),
  760. "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
  761. "update": 0,
  762. "values": [ Vector2( -3.95593, 8.46182 ), Vector2( -3.78541, 7.95027 ), Vector2( -0.630892, 9.22913 ), Vector2( 4.05826, 9.05862 ), Vector2( 6.27495, 9.14388 ), Vector2( 5.59289, 8.12079 ), Vector2( 1.84157, 9.9112 ), Vector2( -3.78541, 9.99646 ) ]
  763. }
  764. tracks/7/type = "value"
  765. tracks/7/path = NodePath("Body/Left Foot:rotation_degrees")
  766. tracks/7/interp = 1
  767. tracks/7/loop_wrap = true
  768. tracks/7/imported = false
  769. tracks/7/enabled = true
  770. tracks/7/keys = {
  771. "times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4 ),
  772. "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
  773. "update": 0,
  774. "values": [ 30.2969, 101.405, 101.405, 49.9436, -33.5517, 0.0, 0.0, 49.7383 ]
  775. }
  776. [sub_resource type="AnimationNodeAnimation" id=14]
  777. animation = "Walk"
  778. [sub_resource type="AnimationNodeAnimation" id=15]
  779. animation = "Run"
  780. [sub_resource type="AnimationNodeAnimation" id=16]
  781. animation = "Breath"
  782. [sub_resource type="AnimationNodeTimeScale" id=17]
  783. [sub_resource type="AnimationNodeBlendTree" id=18]
  784. nodes/Animation/node = SubResource( 16 )
  785. nodes/Animation/position = Vector2( 60, 120 )
  786. nodes/BreathRate/node = SubResource( 17 )
  787. nodes/BreathRate/position = Vector2( 280, 120 )
  788. nodes/output/position = Vector2( 680, 140 )
  789. node_connections = [ "output", 0, "BreathRate", "BreathRate", 0, "Animation" ]
  790. [sub_resource type="AnimationNodeBlend2" id=19]
  791. [sub_resource type="AnimationNodeAnimation" id=20]
  792. animation = "Blink"
  793. [sub_resource type="AnimationNodeAnimation" id=21]
  794. animation = "Eyebrow"
  795. [sub_resource type="AnimationNodeAnimation" id=22]
  796. animation = "HandsShuffleA"
  797. [sub_resource type="AnimationNodeAnimation" id=23]
  798. animation = "HandsShuffleB"
  799. [sub_resource type="AnimationNodeAnimation" id=24]
  800. animation = "FootShuffleA"
  801. [sub_resource type="AnimationNodeAnimation" id=25]
  802. animation = "Base"
  803. [sub_resource type="AnimationNodeOneShot" id=26]
  804. [sub_resource type="AnimationNodeTransition" id=27]
  805. input_count = 3
  806. input_0/name = "Blink"
  807. input_0/auto_advance = false
  808. input_1/name = "EyeBrow"
  809. input_1/auto_advance = false
  810. input_2/name = "ShakeHead"
  811. input_2/auto_advance = false
  812. [sub_resource type="AnimationNodeOneShot" id=28]
  813. [sub_resource type="AnimationNodeTransition" id=29]
  814. input_count = 2
  815. input_0/name = "Fidget"
  816. input_0/auto_advance = false
  817. input_1/name = "Contemplate"
  818. input_1/auto_advance = false
  819. [sub_resource type="AnimationNodeOneShot" id=30]
  820. [sub_resource type="AnimationNodeAnimation" id=31]
  821. animation = "LookAtCamera"
  822. [sub_resource type="AnimationNodeAnimation" id=32]
  823. animation = "LookAtCamera"
  824. [sub_resource type="AnimationNodeAnimation" id=33]
  825. animation = "LookFromCamera"
  826. [sub_resource type="AnimationNodeAnimation" id=34]
  827. animation = "LookFromCamera"
  828. [sub_resource type="AnimationNodeStateMachineTransition" id=35]
  829. switch_mode = 2
  830. auto_advance = true
  831. [sub_resource type="AnimationNodeStateMachineTransition" id=36]
  832. switch_mode = 2
  833. auto_advance = true
  834. [sub_resource type="AnimationNodeStateMachineTransition" id=37]
  835. switch_mode = 2
  836. auto_advance = true
  837. [sub_resource type="AnimationNodeStateMachine" id=38]
  838. states/LookAtCamera/node = SubResource( 32 )
  839. states/LookAtCamera/position = Vector2( 382, 12 )
  840. "states/LookAtCamera 2/node" = SubResource( 31 )
  841. "states/LookAtCamera 2/position" = Vector2( 338, 257 )
  842. states/LookFromCamera/node = SubResource( 33 )
  843. states/LookFromCamera/position = Vector2( 601, 135 )
  844. states/ShakeHead/node = SubResource( 34 )
  845. states/ShakeHead/position = Vector2( 122, 143 )
  846. transitions = [ "LookFromCamera", "LookAtCamera 2", SubResource( 35 ), "LookAtCamera 2", "ShakeHead", SubResource( 36 ), "LookAtCamera", "LookFromCamera", SubResource( 37 ) ]
  847. start_node = "LookAtCamera"
  848. end_node = "ShakeHead"
  849. graph_offset = Vector2( -163, -106 )
  850. [sub_resource type="AnimationNodeBlendTree" id=39]
  851. graph_offset = Vector2( -40.5663, 152.619 )
  852. nodes/Animation/node = SubResource( 25 )
  853. nodes/Animation/position = Vector2( 400, 160 )
  854. "nodes/Animation 2/node" = SubResource( 20 )
  855. "nodes/Animation 2/position" = Vector2( 120, 300 )
  856. "nodes/Animation 3/node" = SubResource( 21 )
  857. "nodes/Animation 3/position" = Vector2( 120, 420 )
  858. "nodes/Animation 4/node" = SubResource( 22 )
  859. "nodes/Animation 4/position" = Vector2( 580, 380 )
  860. "nodes/Animation 5/node" = SubResource( 23 )
  861. "nodes/Animation 5/position" = Vector2( 580, 500 )
  862. "nodes/Animation 6/node" = SubResource( 24 )
  863. "nodes/Animation 6/position" = Vector2( 1100, 80 )
  864. nodes/Expression/node = SubResource( 26 )
  865. nodes/Expression/position = Vector2( 600, 160 )
  866. nodes/FaceState/node = SubResource( 27 )
  867. nodes/FaceState/position = Vector2( 380, 340 )
  868. nodes/Feet/node = SubResource( 28 )
  869. nodes/Feet/position = Vector2( 1400, 80 )
  870. nodes/HandState/node = SubResource( 29 )
  871. nodes/HandState/position = Vector2( 860, 400 )
  872. nodes/Hands/node = SubResource( 30 )
  873. nodes/Hands/position = Vector2( 1080, 200 )
  874. nodes/ShakeHead/node = SubResource( 38 )
  875. nodes/ShakeHead/position = Vector2( 120, 540 )
  876. nodes/output/position = Vector2( 1820, 120 )
  877. node_connections = [ "output", 0, "Feet", "Expression", 0, "Animation", "Expression", 1, "FaceState", "FaceState", 0, "Animation 2", "FaceState", 1, "Animation 3", "FaceState", 2, "ShakeHead", "Feet", 0, "Hands", "Feet", 1, "Animation 6", "HandState", 0, "Animation 4", "HandState", 1, "Animation 5", "Hands", 0, "Expression", "Hands", 1, "HandState" ]
  878. [sub_resource type="AnimationNodeTransition" id=40]
  879. input_count = 4
  880. input_0/name = "Idle"
  881. input_0/auto_advance = false
  882. input_1/name = "Run"
  883. input_1/auto_advance = false
  884. input_2/name = "Walk"
  885. input_2/auto_advance = false
  886. input_3/name = "Jump"
  887. input_3/auto_advance = false
  888. [sub_resource type="AnimationNodeBlendTree" id=41]
  889. graph_offset = Vector2( 3.22357, 70.3737 )
  890. nodes/Animation/node = SubResource( 15 )
  891. nodes/Animation/position = Vector2( 160, 260 )
  892. "nodes/Animation 2/node" = SubResource( 14 )
  893. "nodes/Animation 2/position" = Vector2( 140, 400 )
  894. nodes/Breath/node = SubResource( 18 )
  895. nodes/Breath/position = Vector2( 640, 340 )
  896. nodes/BreathCtrl/node = SubResource( 19 )
  897. nodes/BreathCtrl/position = Vector2( 900, 220 )
  898. nodes/Idle/node = SubResource( 39 )
  899. nodes/Idle/position = Vector2( 140, 160 )
  900. nodes/State/node = SubResource( 40 )
  901. nodes/State/position = Vector2( 660, 120 )
  902. nodes/output/position = Vector2( 1180, 240 )
  903. node_connections = [ "output", 0, "BreathCtrl", "BreathCtrl", 0, "State", "BreathCtrl", 1, "Breath", "State", 0, "Idle", "State", 1, "Animation", "State", 2, "Animation 2" ]
  904. [sub_resource type="AnimationNodeStateMachinePlayback" id=42]
  905. [node name="Player" type="KinematicBody2D"]
  906. position = Vector2( 0, -0.174824 )
  907. script = ExtResource( 3 )
  908. [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
  909. shape = SubResource( 1 )
  910. [node name="Body" type="Position2D" parent="."]
  911. position = Vector2( -0.75, 0.75 )
  912. [node name="Sprite" type="Sprite" parent="Body"]
  913. position = Vector2( 0.424996, 0 )
  914. scale = Vector2( 1.07694, 1 )
  915. texture = ExtResource( 1 )
  916. vframes = 16
  917. hframes = 16
  918. frame = 16
  919. [node name="Head" type="Position2D" parent="Body"]
  920. position = Vector2( 0.291992, -5.2558 )
  921. rotation = -0.014155
  922. [node name="Sprite" type="Sprite" parent="Body/Head"]
  923. position = Vector2( 0.291992, -2.04392 )
  924. texture = ExtResource( 1 )
  925. vframes = 16
  926. hframes = 16
  927. [node name="Right Hand" type="Position2D" parent="Body"]
  928. position = Vector2( -2.83482, -0.404972 )
  929. [node name="Sprite" type="Sprite" parent="Body/Right Hand"]
  930. position = Vector2( 0.404972, 0.728954 )
  931. texture = ExtResource( 1 )
  932. region_enabled = true
  933. region_rect = Rect2( 5, 32, 5, 5 )
  934. [node name="Left Hand" type="Position2D" parent="Body"]
  935. show_behind_parent = true
  936. position = Vector2( 6.0746, -0.728951 )
  937. [node name="Sprite" type="Sprite" parent="Body/Left Hand"]
  938. position = Vector2( 0.404972, 0.728954 )
  939. texture = ExtResource( 1 )
  940. region_enabled = true
  941. region_rect = Rect2( 5, 36, 5, 5 )
  942. [node name="Right Foot" type="Position2D" parent="Body"]
  943. position = Vector2( -1.29591, 9.47638 )
  944. [node name="Sprite" type="Sprite" parent="Body/Right Foot"]
  945. position = Vector2( 0.485966, 0.890942 )
  946. texture = ExtResource( 1 )
  947. region_enabled = true
  948. region_rect = Rect2( 0, 32, 5, 4 )
  949. [node name="Left Foot" type="Position2D" parent="Body"]
  950. show_behind_parent = true
  951. position = Vector2( 2.26785, 9.31439 )
  952. [node name="Sprite" type="Sprite" parent="Body/Left Foot"]
  953. position = Vector2( 0.485966, 0.890942 )
  954. texture = ExtResource( 1 )
  955. region_enabled = true
  956. region_rect = Rect2( 0, 36, 5, 4 )
  957. [node name="icon" type="Sprite" parent="."]
  958. visible = false
  959. position = Vector2( 0.0053978, 44.3479 )
  960. texture = ExtResource( 2 )
  961. [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
  962. anims/Base = SubResource( 2 )
  963. anims/Blink = SubResource( 3 )
  964. anims/Breath = SubResource( 4 )
  965. anims/Eyebrow = SubResource( 5 )
  966. anims/FootShuffleA = SubResource( 6 )
  967. anims/HandsShuffleA = SubResource( 7 )
  968. anims/HandsShuffleB = SubResource( 8 )
  969. anims/LookAtCamera = SubResource( 9 )
  970. anims/LookDown = SubResource( 10 )
  971. anims/LookFromCamera = SubResource( 11 )
  972. anims/Run = SubResource( 12 )
  973. anims/Walk = SubResource( 13 )
  974. [node name="AnimationTree" type="AnimationTree" parent="."]
  975. tree_root = SubResource( 41 )
  976. anim_player = NodePath("../AnimationPlayer")
  977. active = true
  978. parameters/Breath/BreathRate/scale = 1.0
  979. parameters/BreathCtrl/blend_amount = 0.5
  980. parameters/Idle/Expression/active = false
  981. parameters/Idle/FaceState/current = 2
  982. parameters/Idle/Feet/active = false
  983. parameters/Idle/HandState/current = 0
  984. parameters/Idle/Hands/active = false
  985. parameters/Idle/ShakeHead/playback = SubResource( 42 )
  986. parameters/State/current = 0