@colossus_scale = 24

entity = {
	name = "arthropoid_01_colossus_entity"
	pdxmesh = "avian_01_colossus_frame_mesh"
	
	default_state = "idle"
	state = { name = "idle" animation = "idle" }
	state = { name = "moving" animation = "idle" }
	state = { name = "working" animation = "idle" }
	state = { name = "death" animation = "closed_death" looping = no 
		event = { time = 13.2 node = "frame_ship" particle = "dreadnought_explosion_particle" sound = { soundeffect = ship_destroyed } }
		chance = {
			if_current_state = {
				"idle" = 100
				"moving" = 100
				"death" = 0
				"working" = 0
			}
		}
	}
	state = { name = "death" animation = "opened_death" looping = no 
		event = { time = 9.13 node = "frame_ship" particle = "dreadnought_explosion_particle" sound = { soundeffect = ship_destroyed } }
		chance = {
			if_current_state = {
				"idle" = 0
				"moving" = 0
				"death" = 0
				"working" = 100
			}
		}
	}
	
	locator = { name = "part1" position = { -50 0 0 } }
	locator = { name = "part3" position = { -50 0 0 } }
	
	game_data = {
		size = @colossus_scale
	}
	
	#attach = { frame_ship = "arthropoid_01_colossus_ship_entity" }
}

entity = {
	name = "arthropoid_01_colossus_ship_entity"
	pdxmesh = "arthropoid_01_colossus_mesh"
	scale = 1.5

	
	default_state = "idle"
	# Actual idle state when being in idle/moving.
	state = { name = "idle" animation = "idle" looping = no next_state = "idle" animation_blend_time = 5
		chance = {
			if_current_state = {
				"idle" = 100
				"moving" = 100
				"death" = 0
				"working" = 100
				"working_looping" = 0
			}
		}
		start_event = { trigger_once = yes sound = { soundeffect = "arthropoid_colossus_idle" } }
		
		event = { time = 0 node = "light_locator_01" particle = "ship_light_blue_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "light_locator_02" particle = "ship_light_blue_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "light_locator_03" particle = "ship_light_blue_effect" keep_particle = yes trigger_once = yes }
		
		event = { time = 0 node = "large_engine_01" particle = "generic_1_25_exhaust_line_idle" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "large_engine_02" particle = "generic_1_25_exhaust_line_idle" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "large_engine_03" particle = "generic_1_25_exhaust_line_idle" keep_particle = yes trigger_once = yes }
	}
	# Idle state when going from opened state to idle. 
	state = { name = "idle" animation = "closing" looping = no next_state = "idle" 
		chance = {
			if_current_state = {
				"idle" = 0
				"moving" = 0
				"death" = 0
				"working" = 0
				"working_looping" = 100
			}
		}
		event = { trigger_once = yes sound = { soundeffect = "arthropoid_colossus_closing" stop_on_state_change = yes } }
		event = { trigger_once = yes sound = { soundeffect = "arthropoid_colossus_wind_down" stop_on_state_change = yes } }
		
		event = { time = 0 node = "light_locator_01" particle = "ship_light_blue_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "light_locator_02" particle = "ship_light_blue_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "light_locator_03" particle = "ship_light_blue_effect" keep_particle = yes trigger_once = yes }
	
		event = { time = 0 node = "wing_1_effect_1" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_1_effect_2" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_1_effect_3" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_2_effect_1" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_2_effect_2" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_2_effect_3" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_3_effect_1" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_3_effect_2" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_3_effect_3" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
	
		event = { time = 0 node = "large_engine_01" particle = "generic_2_exhaust_line_moving" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "large_engine_02" particle = "generic_2_exhaust_line_moving" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "large_engine_03" particle = "generic_2_exhaust_line_moving" keep_particle = yes trigger_once = yes }
	}
	# Actual moving state if going from idle/moving.
	state = { name = "moving" animation = "idle" looping = yes next_state = "moving"
		chance = {
			if_current_state = {
				"idle" = 100
				"moving" = 100
				"death" = 0
				"working" = 100
				"working_looping" = 0
			}
		}
		event = { trigger_once = yes sound = { soundeffect = "moving_out_colossus" } }
		
		event = { time = 0 node = "light_locator_01" particle = "ship_light_blue_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "light_locator_02" particle = "ship_light_blue_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "light_locator_03" particle = "ship_light_blue_effect" keep_particle = yes trigger_once = yes }
	
		event = { time = 0 node = "large_engine_01" particle = "generic_2_exhaust_line_moving" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "large_engine_02" particle = "generic_2_exhaust_line_moving" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "large_engine_03" particle = "generic_2_exhaust_line_moving" keep_particle = yes trigger_once = yes }
	}
	# Moving state if going from open/working, uses closing animation.
	state = { name = "moving" animation = "closing" looping = no next_state = "moving"
		chance = {
			if_current_state = {
				"idle" = 0
				"moving" = 0
				"death" = 0
				"working" = 0
				"working_looping" = 100
			}
		}
		event = { trigger_once = yes sound = { soundeffect = "arthropoid_colossus_closing" stop_on_state_change = yes } }
		event = { trigger_once = yes sound = { soundeffect = "arthropoid_colossus_wind_down" stop_on_state_change = yes } }
		
		event = { time = 0 node = "light_locator_01" particle = "ship_light_blue_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "light_locator_02" particle = "ship_light_blue_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "light_locator_03" particle = "ship_light_blue_effect" keep_particle = yes trigger_once = yes }
		
		event = { time = 0 node = "wing_1_effect_1" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_1_effect_2" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_1_effect_3" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_2_effect_1" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_2_effect_2" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_2_effect_3" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_3_effect_1" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_3_effect_2" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_3_effect_3" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
	
		event = { time = 0 node = "large_engine_01" particle = "generic_2_exhaust_line_moving" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "large_engine_02" particle = "generic_2_exhaust_line_moving" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "large_engine_03" particle = "generic_2_exhaust_line_moving" keep_particle = yes trigger_once = yes }
	}
	# Opened state, going after "kill_planet".
	state = { name = "working_looping" animation = "open" 
		event = { time = 0	id = "beam_start" }
	
		event = { time = 0 node = "light_locator_01" particle = "ship_light_blue_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "light_locator_02" particle = "ship_light_blue_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "light_locator_03" particle = "ship_light_blue_effect" keep_particle = yes trigger_once = yes }
		
		event = { time = 0 node = "wing_1_effect_1" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_1_effect_2" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_1_effect_3" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_2_effect_1" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_2_effect_2" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_2_effect_3" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_3_effect_1" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_3_effect_2" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_3_effect_3" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		
		event = { time = 0 node = "large_engine_01" particle = "generic_1_25_exhaust_line_idle" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "large_engine_02" particle = "generic_1_25_exhaust_line_idle" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "large_engine_03" particle = "generic_1_25_exhaust_line_idle" keep_particle = yes trigger_once = yes }
	}
	# Opening state, goes into "working_looping" state when done.
	state = { name = "working" animation = "opening" looping = no next_state = "working_looping" 
		event = { trigger_once = yes sound = { soundeffect = "arthropoid_colossus_opening" stop_on_state_change = yes } }
		event = { trigger_once = yes sound = { soundeffect = "arthropoid_colossus_wind_up" stop_on_state_change = yes } }
	
		event = { time = 1000 id = "beam_start" } #will never fire, but lets the game know that an event with this ID exists
	
		event = { time = 0 node = "light_locator_01" particle = "ship_light_blue_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "light_locator_02" particle = "ship_light_blue_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "light_locator_03" particle = "ship_light_blue_effect" keep_particle = yes trigger_once = yes }
		
		event = { time = 0 node = "wing_1_effect_1" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_1_effect_2" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_1_effect_3" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_2_effect_1" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_2_effect_2" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_2_effect_3" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_3_effect_1" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_3_effect_2" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "wing_3_effect_3" particle = "arhtropoid_01_colossus_electricity_effect" keep_particle = yes trigger_once = yes }
	
		event = { time = 0 node = "large_engine_01" particle = "generic_2_exhaust_line_moving" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "large_engine_02" particle = "generic_2_exhaust_line_moving" keep_particle = yes trigger_once = yes }
		event = { time = 0 node = "large_engine_03" particle = "generic_2_exhaust_line_moving" keep_particle = yes trigger_once = yes }
		
		event = { time = 6.33 node = "hatch_smoke_locator_01" particle = "colossus_hatch_smoke_effect" keep_particle = yes trigger_once = yes }
		event = { time = 6.33 node = "hatch_smoke_locator_02" particle = "colossus_hatch_smoke_effect" keep_particle = yes trigger_once = yes }
		event = { time = 6.33 node = "hatch_smoke_locator_03" particle = "colossus_hatch_smoke_effect" keep_particle = yes trigger_once = yes }
		event = { time = 6.33 node = "hatch_smoke_locator_04" particle = "colossus_hatch_smoke_effect" keep_particle = yes trigger_once = yes }
		event = { time = 6.33 node = "hatch_smoke_locator_05" particle = "colossus_hatch_smoke_effect" keep_particle = yes trigger_once = yes }
		event = { time = 6.33 node = "hatch_smoke_locator_06" particle = "colossus_hatch_smoke_effect" keep_particle = yes trigger_once = yes }
		event = { time = 6.33 node = "hatch_smoke_locator_07" particle = "colossus_hatch_smoke_effect" keep_particle = yes trigger_once = yes }
		event = { time = 6.33 node = "hatch_smoke_locator_08" particle = "colossus_hatch_smoke_effect" keep_particle = yes trigger_once = yes }
		event = { time = 6.33 node = "hatch_smoke_locator_09" particle = "colossus_hatch_smoke_effect" keep_particle = yes trigger_once = yes }
		event = { time = 6.33 node = "hatch_smoke_locator_010" particle = "colossus_hatch_smoke_effect" keep_particle = yes trigger_once = yes }
		event = { time = 6.33 node = "hatch_smoke_locator_011" particle = "colossus_hatch_smoke_effect" keep_particle = yes trigger_once = yes }
		event = { time = 6.33 node = "hatch_smoke_locator_012" particle = "colossus_hatch_smoke_effect" keep_particle = yes trigger_once = yes }
		event = { time = 6.33 node = "hatch_smoke_locator_013" particle = "colossus_hatch_smoke_effect" keep_particle = yes trigger_once = yes }
		event = { time = 6.33 node = "hatch_smoke_locator_014" particle = "colossus_hatch_smoke_effect" keep_particle = yes trigger_once = yes }
		event = { time = 6.33 node = "hatch_smoke_locator_015" particle = "colossus_hatch_smoke_effect" keep_particle = yes trigger_once = yes }
	}
	# Closed death state.
	state = { name = "death" animation = "idle" looping = no
		chance = {
			if_current_state = {
				"idle" = 100
				"moving" = 100
				"death" = 0
				"working" = 0
				"working_looping" = 0
			}
		}
		event = { time = 0.0 node = "explosion_locator_01" particle = "ship_explosion_particle" sound = { soundeffect = "ship_destroyed" } keep_particle = yes trigger_once = yes }
		event = { time = 3.0 node = "explosion_locator_02" particle = "ship_explosion_particle" sound = { soundeffect = "ship_destroyed" } keep_particle = yes trigger_once = yes }
		event = { time = 4.0 node = "explosion_locator_03" particle = "ship_explosion_particle" sound = { soundeffect = "ship_destroyed" } keep_particle = yes trigger_once = yes }
		event = { time = 6.0 node = "explosion_locator_04" particle = "ship_explosion_particle" sound = { soundeffect = "ship_destroyed" } keep_particle = yes trigger_once = yes }
		event = { time = 8.0 node = "explosion_locator_05" particle = "ship_explosion_particle" sound = { soundeffect = "ship_destroyed" } keep_particle = yes trigger_once = yes }
	}
	# Opened death state.
	state = { name = "death" animation = "open" looping = no animation_blend_time = 2
		chance = {
			if_current_state = {
				"idle" = 0
				"moving" = 0
				"death" = 0
				"working" = 100
				"working_looping" = 100
			}
		}
		event = { time = 0.0 node = "explosion_locator_01" particle = "ship_explosion_particle" sound = { soundeffect = "ship_destroyed" } keep_particle = yes trigger_once = yes }
		event = { time = 3.0 node = "explosion_locator_02" particle = "ship_explosion_particle" sound = { soundeffect = "ship_destroyed" } keep_particle = yes trigger_once = yes }
		event = { time = 4.0 node = "explosion_locator_03" particle = "ship_explosion_particle" sound = { soundeffect = "ship_destroyed" } keep_particle = yes trigger_once = yes }
		event = { time = 6.0 node = "explosion_locator_04" particle = "ship_explosion_particle" sound = { soundeffect = "ship_destroyed" } keep_particle = yes trigger_once = yes }
		event = { time = 8.0 node = "explosion_locator_05" particle = "ship_explosion_particle" sound = { soundeffect = "ship_destroyed" } keep_particle = yes trigger_once = yes }
	}

	#locator = { name = "planet_killer_gun_01" position = { 0 0 0 } } # Actual locator in mesh.
	
	attach = { core_effect = "arthropoid_01_colossus_core_entity" }
}

animation = {
	name = "arthropoid_01_colossus_idle_animation"
	file = "arthropoid_01_colossus_idle.anim"
}
animation = {
	name = "arthropoid_01_colossus_open_animation"
	file = "arthropoid_01_colossus_open.anim"
}
animation = {
	name = "arthropoid_01_colossus_opening_animation"
	file = "arthropoid_01_colossus_opening.anim"
}
animation = {
	name = "arthropoid_01_colossus_closing_animation"
	file = "arthropoid_01_colossus_closing.anim"
}

#### Colossus Animated Core ####

entity = {
	name = "arthropoid_01_colossus_core_entity"
	pdxmesh = "arthropoid_01_colossus_core_mesh"
		
	game_data = {
		uv_animation_speed   = -0.10
		uv_animation_direction  = { 0.5 1.0 }
	}
}
