'actions' = begin
	'console command' = begin
		clsid : stringz = 'actions/console command';
		
		in_names : stringz = 'activate';
		out_names : stringz = '';
		
		properties = begin
			cmd : stringz = '';
		end;
	end;
	
	'net' = begin
		'make_ready' = begin
			clsid : stringz = 'actions/net/make_ready';
			
			in_names : stringz = 'activate,deactivate';
			out_names : stringz = 'target,finish';
			
			properties = begin
				remove_from_team : bool = False;
			end;
		end;
		
		'respawn' = begin
			clsid : stringz = 'actions/net/respawn';
			
			in_names : stringz = 'activate';
			out_names : stringz = 'pos,ok,fail,instead_of,parent';
			
			properties = begin
				cover_reuse_delay : u32 = 0;
				count : u8 = 1;
				source : 'entity_link, uobject_link' = 65535;
				position : 'entity_link, uobject_link' = 65535;
				team : u8 = 1;
				flags0 : bool8 = 0;
			end;
		end;
		
		'respawn_ex' = begin
			clsid : stringz = 'actions/net/respawn_ex';
			
			in_names : stringz = 'src 1,src 2,src 3';
			out_names : stringz = 'src1,src2,src3,pos,ok,fail,eval,instead_of,parent';
			
			properties = begin
				cover_reuse_delay : u32 = 0;
				count : u8 = 1;
				team : u8 = 1;
				flags0 : bool8 = 0;
				sources_count : u32 = 3;
				ignore_mp_class_type : u8 = 0;
			end;
		end;

		'ui_clone' = begin
			clsid : stringz = 'actions/net/ui_clone';
			
			in_names : stringz = 'activate';
			out_names : stringz = 'parent,ok,fail';
			
			properties = begin
				cover_reuse_delay : u32 = 0;
				count : u8 = 1;
				subtype : u8 = 0;
			end;
		end;

	end;
	
	'engine' = begin
	
		'3d_text' = begin
			clsid : stringz = 'actions/engine/3d_text';
			
			in_names : stringz = 'activate,deactivate';
			out_names : stringz = 'target,finish';
			
			properties = begin
				offset : vec3f = [0, 0, 0];
				rotation : fp32 = 0;
				key : choose;
				key : stringz = '$new_game';
				size : fp32 = 90;
				h_alignment : u8 = 2;
				v_alignment : u8 = 2;
				color : 'color, vec4f' = [0.6156862974, 0.2745098174, 0.01960784383, 1];
				bone : bone_str;
				bone : stringz = 'loc_text';
				font : choose;
				font : stringz = 'main_menu_lcd';
				flags0 : bool8 = 6; { geometry_check, forward_render, forward_post_render, opaque_render, selflit_render, velocity_render, glow, dynamic }
			end;
		end;
		
		'signal' = begin
			clsid : stringz = 'actions/engine/signal';
			
			in_names : stringz = 'activate';
			out_names : stringz = '';
			
			properties = begin
				signal : choose;
				signal : stringz = 'single_tunnel_start';
				mode : u8 = 0;
			end;
		end;
		
		'mp_info' = begin
			clsid : stringz = 'actions/engine/mp_info';
			
			in_names : stringz = 'activate,deactivate';
			out_names : stringz = 'target,finish';
			
			properties = begin
				info_type : u8 = 0;
				draw_empty : bool = False;
			end;
		end;		
	
	end;
	
	'play color cube' = begin
		clsid : stringz = 'actions/play color cube';
		
		in_names : stringz = 'activate,deactivate';
		out_names : stringz = '';
		
		properties = begin
			color_cube : choose;
			color_cube : stringz = 'default';
			blend_time : u32 = 500;
			reset : bool = False;
		end;
	end;
	
	'play patrol path' = begin
		clsid : stringz = 'actions/play patrol path';
	
		in_names : stringz = 'activate,deactivate';
		out_names : stringz = 'entity,finished';
		
		properties = begin
			start_point : 'entity_link, uobject_link' = 65535;
			start_from_nearest : bool = True;
			body_state : stringz = '';
			anim_state : stringz = '';
			movement_type : stringz = '';
			weapon_state : stringz = '';
			action : stringz = '';
			target : 'entity_link, uobject_link' = 65535;
			flags : flags32;
			flags : u32 = 0;
			anim_state_approach_speed : fp32 = 2;
			approaching_accel : fp32 = -1;
			flags0 : bool8 = 0;
		end;
	end;
end;

'entities' = begin
	'entity self' = begin
		clsid : stringz = 'entities/entity self';
		
		in_names : stringz = 'entity';
		out_names : stringz = '';
	end;
	
	'entity ref' = begin
		clsid : stringz = 'entities/entity ref';
		
		in_names : stringz = 'entity';
		out_names : stringz = '';
		
		properties = begin
			target : 'entity_link, uobject_link' = 65535;
		end;
	end;
	
	'entity player' = begin
		clsid : stringz = 'entities/entity player';
		
		in_names : stringz = 'entity';
		out_names : stringz = '';
		
		properties = begin
			team : u8 = 0;
		end;
	end;
	
	'entity player self' = begin
		clsid : stringz = 'entities/entity player self';
		
		in_names : stringz = 'entity';
		out_names : stringz = '';
		
		properties = begin
			team : u8 = 0;
		end;
	end;
	
	'entity user' = begin
		clsid : stringz = 'entities/entity user';
		
		in_names : stringz = 'entity';
		out_names : stringz = '';
		
		properties = begin
			team : u8 = 0;
		end;
	end;
end;

'logic' = begin
	'counter' = begin
		clsid : stringz = 'logic/counter';
		
		in_names : stringz = 'touch,inc,dec,reset';
		out_names : stringz = 'propagate';
		
		properties = begin
			value : s32 = 7;
			current_value : s32 = -2147483647;
		end;
	end;
	
	'delay' = begin
		clsid : stringz = 'logic/delay';
		
		in_names : stringz = 'start,activate,deactivate';
		out_names : stringz = 'out';
		
		properties = begin
			min : u32 = 100;
			max : u32 = 0;
			dflags : bool8 = 2;
		end;
	end;
	
	'delay hud' = begin
		clsid : stringz = 'logic/delay hud';
		
		in_names : stringz = 'start,activate,deactivate,stop,restart,Delta_+,Delta_-,Lock_respawn,Unlock_respawn,Allow_respawn';
		out_names : stringz = 'out,entity';
		
		properties = begin
			min : u32 = 100;
			max : u32 = 0;
			dflags : bool8 = 2;
			delta : u32 = 0;
			priority : u32 = 0;
			font_position : vec2f = [ 10.0, 10.0 ];
			font_size : fp32 = 10.0;
			font_color : 'color, vec4f' = [ 1, 1, 1, 1 ];
			team_vis : u8 = 0;
			show_minutes : bool = True;
			respawn_time : bool = True;
			timer_locked : bool = False;
			buy_respawn : bool = True;
			cost_respawn : u32 = 100;
			buy_time : fp32 = 10000;
			buy_coeff : u8 = 1;
			buy_cost_coeff : fp32 = 1.0;
			ctf_logic : bool = False;	
		end;
	end;
end;

'triggers' = begin

	'engine/signal' = begin
		clsid : stringz = 'triggers/engine/signal';
		
		in_names : stringz = 'enable,disable';
		out_names : stringz = 'out';
		
		properties = begin
			active : bool = True;
			signal : choose;
			signal : stringz = '';
		end;
	end;
	
	'startgame' = begin
		clsid : stringz = 'triggers/startgame';
		
		in_names : stringz = 'enable,disable';
		out_names : stringz = 'out';
		
		properties = begin
			active : bool = True;
			flags : bool8 = 0;
		end;
	end;
	
	'use' = begin
		clsid : stringz = 'triggers/use';
		
		in_names : stringz = 'enable,disable';
		out_names : stringz = 'on_use,unk2,entity';
		
		properties = begin
			active : bool = False;
			player : bool = True;
			usage_distance : fp32 = 2;
			use_action : choose;
			use_action : stringz = 'filter_take';
			use_offset : vec2f = [0, -0.1000000015];
			blink_distance : fp32 = 10;
			flags8 : bool8 = 3;
			user_team : u8 = 0;
			in_reloading : bool = False;
			mp_classes : u8_array = [];
		end;
	end;
	
	net = begin
		'log_start_game' = begin
			clsid : stringz = 'triggers/net/log_start_game';
			
			in_names : stringz = 'activate';
			out_names : stringz = '';
		end;
		'log_spawn' = begin
			clsid : stringz = 'triggers/net/log_spawn';
			
			in_names : stringz = 'activate';
			out_names : stringz = 'target';
		end;
		'log_spawn' = begin
			clsid : stringz = 'triggers/net/log_spawn';
			
			in_names : stringz = 'activate';
			out_names : stringz = 'target';
		end;
		
		'mp' = begin
			'avenger' = begin
				clsid : stringz = 'triggers/net/mp/avenger';
				
				in_names : stringz = 'activate,deactivate';
				out_names : stringz = 'Event,target';
				
				properties = begin
					active : bool = True;
					delay : u32 = 0;
				end;
			end;
		end;
		
		'state' = begin
			clsid : stringz = 'triggers/net/state';
			
			in_names : stringz = 'activate,deactivate';
			out_names : stringz = 'connect,map,qload,ready,play,disconnect,target';
			
			properties = begin
				active : bool = True;
			end;
		end;
	end;
	
	'game/spectator trigger-1' = begin
		clsid : stringz = 'triggers/game/spectator trigger';
		
		in_names : stringz = 'enable,disable,Camera_Reset';
		out_names : stringz = 'target,Deactivated';
		
		properties = begin
			active : bool = False;
			camera_team : 'entity_link, uobject_link' = 65535;
			current_object : u32 = 0;
			objects_count_pre : u32 = 1;
			object_0_name : stringz = '';
			object_0_link : 'entity_link, uobject_link' = 65535;
			object_0_lamp : 'entity_link, uobject_link' = 65535;
			object_0_camera : 'entity_link, uobject_link' = 65535;
			objects_count : u32 = 1;
			team : u8 = 0;
		end;
	end;
	
	'game/spectator trigger-2' = begin
		clsid : stringz = 'triggers/game/spectator trigger';
		
		in_names : stringz = 'enable,disable,Camera_Reset';
		out_names : stringz = 'target,Deactivated';
		
		properties = begin
			active : bool = False;
			camera_team : 'entity_link, uobject_link' = 65535;
			current_object : u32 = 0;
			objects_count_pre : u32 = 2;
			object_0_name : stringz = '';
			object_0_link : 'entity_link, uobject_link' = 65535;
			object_0_lamp : 'entity_link, uobject_link' = 65535;
			object_0_camera : 'entity_link, uobject_link' = 65535;
			object_1_name : stringz = '';
			object_1_link : 'entity_link, uobject_link' = 65535;
			object_1_lamp : 'entity_link, uobject_link' = 65535;
			object_1_camera : 'entity_link, uobject_link' = 65535;
			objects_count : u32 = 2;
			team : u8 = 0;
		end;
	end;

end;