{
	"format_version": "1.8.0",
	"animations": {
		"animation.tsu_morph.guardian.scale": {
			"loop": true,
			"bones": {
				"headMorph": {
					"scale": 2.23
				}
			}
		},
		"animation.tsu_morph.guardian.move_eye": {
			"loop": true,
			"bones": {
				"eyeMorph": {
					"position": ["query.eye_target_x_rotation - this", "24 + query.eye_target_y_rotation - this", "-8.25 - this"]
				}
			}
		},
		"animation.tsu_morph.guardian.setup": {
			"loop": true,
			"bones": {
				"spikepart0": {
					"rotation": ["-45.0 - this", "0.0 - this", "0.0 - this"]
				},
				"spikepart1": {
					"rotation": ["45.0 - this", "0.0 - this", "0.0 - this"]
				},
				"spikepart10": {
					"rotation": ["0.0 - this", "0.0 - this", " 135.0 - this"]
				},
				"spikepart11": {
					"rotation": ["0.0 - this", "0.0 - this", " -135.0 - this"]
				},
				"spikepart2": {
					"rotation": ["0.0 - this", "0.0 - this", "45.0 - this"]
				},
				"spikepart3": {
					"rotation": ["0.0 - this", "0.0  - this", "-45.0 - this"]
				},
				"spikepart4": {
					"rotation": ["90.0 - this", "45.0 - this", " 0.0 - this"]
				},
				"spikepart5": {
					"rotation": ["90.0 - this", "-45.0 - this", " 0.0 - this"]
				},
				"spikepart6": {
					"rotation": ["90.0 - this", "-135.0 - this", "0.0 - this"]
				},
				"spikepart7": {
					"rotation": ["90.0 - this", "135.0 - this", " 0.0 - this"]
				},
				"spikepart8": {
					"rotation": ["-135.0 - this", "0.0 - this", " 0.0 - this"]
				},
				"spikepart9": {
					"rotation": ["135.0 - this", "0.0 - this", " 0.0 - this"]
				}
			}
		},
		"animation.tsu_morph.guardian.spikes": {
			"loop": true,
			"bones": {
				"spikepart0": {
					"position": [
						"-this",
						"24 + -8 * (1 + math.cos(query.life_time * 20 * 1.5) * 0.01 + (variable.spike_extension + variable.spike_shake)) - this",
						"8 * (1 + math.cos(query.life_time * 20 * 1.5) * 0.01 - (variable.spike_extension + variable.spike_shake)) - this"
					]
				},
				"spikepart1": {
					"position": [
						"-this",
						"24 + -8 * (1 + math.cos(query.life_time * 20 * 1.5 + 1) * 0.01 + (variable.spike_extension + variable.spike_shake)) - this",
						"-8 * (1 + math.cos(query.life_time * 20 * 1.5 + 1) * 0.01 - (variable.spike_extension + variable.spike_shake)) - this"
					]
				},
				"spikepart10": {
					"position": [
						"8 * (1 + math.cos(query.life_time * 20 * 1.5 + 10) * 0.01 - (variable.spike_extension + variable.spike_shake)) - this",
						"-8 + 8 * (1 + math.cos(query.life_time * 20 * 1.5 + 10) * 0.01 + (variable.spike_extension + variable.spike_shake)) - this",
						"-this"
					]
				},
				"spikepart11": {
					"position": [
						"-8 * (1 + math.cos(query.life_time * 20 * 1.5 + 11) * 0.01 - (variable.spike_extension + variable.spike_shake)) - this",
						"-8 + 8 * (1 + math.cos(query.life_time * 20 * 1.5 + 11) * 0.01 + (variable.spike_extension + variable.spike_shake)) - this",
						"-this"
					]
				},
				"spikepart2": {
					"position": [
						"8 * (1 + math.cos(query.life_time * 20 * 1.5 + 2) * 0.01 - (variable.spike_extension + variable.spike_shake)) - this",
						"24 + -8 * (1 + math.cos(query.life_time * 20 * 1.5 + 2) * 0.01 + (variable.spike_extension + variable.spike_shake)) - this",
						"-this"
					]
				},
				"spikepart3": {
					"position": [
						"-8 * (1 + math.cos(query.life_time * 20 * 1.5 + 3) * 0.01 - (variable.spike_extension + variable.spike_shake)) - this",
						"24 + -8 * (1 + math.cos(query.life_time * 20 * 1.5 + 3) * 0.01 + (variable.spike_extension + variable.spike_shake)) - this",
						0
					]
				},
				"spikepart4": {
					"position": [
						"-8 * (1 + math.cos(query.life_time * 20 * 1.5 + 4) * 0.01 - (variable.spike_extension - variable.spike_shake)) - this",
						"8 - this",
						"-8 * (1 + math.cos(query.life_time * 20 * 1.5 + 4) * 0.01 - (variable.spike_extension - variable.spike_shake)) - this"
					]
				},
				"spikepart5": {
					"position": [
						"8 * (1 + math.cos(query.life_time * 20 * 1.5 + 5) * 0.01 - (variable.spike_extension - variable.spike_shake)) - this",
						"8 - this",
						"-8 * (1 + math.cos(query.life_time * 20 * 1.5 + 5) * 0.01 - (variable.spike_extension - variable.spike_shake)) - this"
					]
				},
				"spikepart6": {
					"position": [
						"8 * (1 + math.cos(query.life_time * 20 * 1.5 + 6) * 0.01 - (variable.spike_extension - variable.spike_shake)) - this",
						"8 - this",
						"8 * (1 + math.cos(query.life_time * 20 * 1.5 + 6) * 0.01 - (variable.spike_extension - variable.spike_shake)) - this"
					]
				},
				"spikepart7": {
					"position": [
						"-8 * (1 + math.cos(query.life_time * 20 * 1.5 + 7) * 0.01 - (variable.spike_extension - variable.spike_shake)) - this",
						"8 - this",
						"8 * (1 + math.cos(query.life_time * 20 * 1.5 + 7) * 0.01 - (variable.spike_extension - variable.spike_shake)) - this"
					]
				},
				"spikepart8": {
					"position": [
						"-this",
						"-8  + 8 * (1 + math.cos(query.life_time * 20 * 1.5 + 8) * 0.01 + (variable.spike_extension + variable.spike_shake)) - this",
						"8 * (1 + math.cos(query.life_time * 20 * 1.5 + 8) * 0.01 - (variable.spike_extension + variable.spike_shake)) - this"
					]
				},
				"spikepart9": {
					"position": [
						"-this",
						"-8 + 8 * (1 + math.cos(query.life_time * 20 * 1.5 + 9) * 0.01 + (variable.spike_extension + variable.spike_shake)) - this",
						"-8 * (1 + math.cos(query.life_time * 20 * 1.5 + 9) * 0.01 - (variable.spike_extension + variable.spike_shake)) - this"
					]
				}
			}
		},
		"animation.tsu_morph.guardian.swim": {
			"loop": true,
			"anim_time_update": "q.anim_time + q.delta_time * (q.is_in_water ? 1 : 2)",
			"bones": {
				"tailpart0": {
					"rotation": [0, "math.sin(q.anim_time * 360) * 10", 0]
				},
				"tailpart1": {
					"rotation": [0, "math.sin(q.anim_time * 360) * 15", 0],
					"position": ["-1.5 - this", "-0.5 - this", "14.0 - this"]
				},
				"tailpart2": {
					"rotation": [0, "math.sin(q.anim_time * 360) * 10", 0],
					"position": ["0.5 - this", "-0.5 - this", "6.0 - this"]
				}
			}
		}
	}
}