// COM_20:skillに合わせて行動分岐
//-------------------------------------------------------------
// com動作生成

local comcount = 1; // 最大数
local com = CCom(comcount); // COM用オブジェクト

com.SetGuardAvg( 0 ); // ガード確率

local stmp = 0;
local mtmp = 0;

// pos : 開始pos
local skill_table = 
[
	{ pos=0, jumptag="guard_cro" },
	{ pos=2, jumptag="guard_std" },
	{ pos=4, jumptag="guard_cro" },
	{ pos=9, jumptag="guard_std" },
	{ pos=11, jumptag="guard_cro" },
]

//--------------------------------------------------------------
{ // skillの数にあわせて行動を切り替える
	stmp = com.GetSkill(0);
	stmp.checkfunc = function() // チェック
	{
		return 1; // 常に採用　※これしかないので
	}
	stmp.updatefunc = function() : (skill_table)// 採用時の更新
	{
		local skill_pos = BCom.Tutorial_GetSkillPos();
		
		// print("\n skill_pos:"+skill_pos );

		local find_table_pos = -1;
		for( local i=skill_table.len()-1; i>=0; i--)
		{
			local tmp = skill_table[i];
			if( skill_pos >= tmp.pos )
			{
				find_table_pos = i;
				break;
			}
		}
		if( find_table_pos != -1 )
		{
			BCom.Move_Jump( skill_table[find_table_pos].jumptag );
		}
		
		return 1;
	}

	mtmp = stmp.PlusMove(); // 動き追加
	mtmp.SetTag( "wait" );
	mtmp.Set( 0, 0, 2, 0, 0 );
	
	mtmp = stmp.PlusMove(); // 動き追加
	mtmp.SetTag( "guard_std" );
	mtmp.Set( 4, 0, 2, 0, _eComMoveFlag_StickHold );

	mtmp = stmp.PlusMove(); // 動き追加
	mtmp.SetTag( "guard_cro" );
	mtmp.Set( 1, 0, 2, 0, _eComMoveFlag_StickHold );
}

// 最後にglobal_com_tmpへ渡す
ComBase_GlobalComTmp_Set( com );

print("\n\n>専用com Loaded<\n")

