--任务副本2
--进入副本→播放MOV→刷NOSS→击杀BOSS→副本完成→传出副本

x040011_g_scriptId = 040011

--副本参数
x040011_g_CSParamIdxCurStage = 0			  --大阶段	
x040011_g_CSParamIdxCurSubStage = 1           --小阶段
x040011_g_CSParam1 = 2
x040011_g_CSParam2 = 3
x040011_g_CSParamAnimationID = 5034           --mov动画ID

x040011_g_MonstorList={}
x040011_g_MonstorList[1]={1003109}                                  --BOSS

x040011_g_TargetList = {}                      --目标
x040011_g_TargetList[1]={1003109}  --第一阶段目标1

x040011_g_Tickout = 7   -- 防止掉线的最小切换副本阶段时间戳，需要减2

x040011_g_FirstMissionId = 1809	-- 第一个任务

x040011_g_MonstorPosList={}
x040011_g_MonstorPosList[1]={{28.91,29.22,-1.57}}

function x040011_OnCopySceneTimeOut(scene)
	ClearPlayer(scene)
end
function x040011_ClearAllMonster(scene)
	--print(count)
    --DeleMonsterByRoleId(scene,  x040011_g_TargetList[1][1])
    DeleHostileMonster(scene)
end
function x040011_OnCopySceneOpen(scene)
	AddCSMission(scene,x040011_g_FirstMissionId)
end
function  x040011_StageControl(scene,nstage)
	SetCopySceneParam(scene, 2, 0)
	SetCopySceneParam(scene, 3, 0)
	SetCopySceneParam(scene, 4, 0)
	SetCopySceneParam(scene, 7, nstage)
	local nUserCount = GetSceneUserCount(scene)
	for j=0,nUserCount-1 do   
		local nUserObjId = GetUserObjIdByIdx(scene,j)   
		SynCsStageData(scene, nUserObjId)
	end 


end
function x040011_OnObjEnter(scene, objId)
	SetCopySceneParam(scene, x040011_g_CSParamIdxCurStage, 0)
	SetCopySceneParam(scene, x040011_g_CSParamIdxCurSubStage, 0)
	SetCopySceneParam(scene, x040011_g_CSParam1, 0)
	SetCopySceneParam(scene, x040011_g_CSParam2, 0)
	x040011_ClearAllMonster(scene)
	SetCopySceneParam(scene, 7, 0)
	SynCsStageData(scene, objId, true)
	--AutoCombat(scene,objId,true)
end
function x040011_OnDieCountDown1(scene, rolebaseId,  stage)
	local TargetId = x040011_g_TargetList[stage+1][1]
	if(TargetId == rolebaseId) then
		local OldValue = GetCopySceneParam(scene, x040011_g_CSParam1)
		SetCopySceneParam(scene, x040011_g_CSParam1, OldValue+1)
		local nUserCount = GetSceneUserCount(scene)
		for i=0,nUserCount-1 do   
			local nUserObjId = GetUserObjIdByIdx(scene,i)   
			SynCsStageData(scene, nUserObjId)
		end    
	end
end
--死亡回调
function x040011_OnObjDie( scene,objId,rolebaseId,killerId )
	local nCurStage = GetCopySceneParam(scene,x040011_g_CSParamIdxCurStage)
	local MonCount = GetHostileMonsterCount(scene)
	local oldStage = GetCopySceneParam(scene, 7)
	x040011_OnDieCountDown1(scene, rolebaseId, oldStage)
	if MonCount == 0 then
		if(rolebaseId == x040011_g_MonstorList[1][1]) then
			x040011_StageControl(scene, 1)
			SetCopySceneSuccess(scene)
		end
		SetCopySceneParam(scene,x040011_g_CSParamIdxCurStage,nCurStage+1)
		SetCopySceneParam(scene,x040011_g_CSParamIdxCurSubStage,0)
	end
end

--动画/对话回调
function x040011_OnStoryEventEnd(scene,nStoryId,nAnimationId)
	if nAnimationId == x040011_g_CSParamAnimationID then
		local nCurStage = GetCopySceneParam(scene,x040011_g_CSParamIdxCurStage)
		local MonCount = GetHostileMonsterCount(scene)
		if(nCurStage == 0) then
			SetCopySceneParam(scene,x040011_g_CSParamIdxCurStage,1)
			SetCopySceneParam(scene,x040011_g_CSParamIdxCurSubStage,0)
			x040011_Stage_1(scene, 1, 1)
		end
	end
end

--副本Tick
function x040011_OnCopySceneTick(scene,tickCount)
	local curStage = GetCopySceneParam(scene,x040011_g_CSParamIdxCurStage)
	local curSubStage = GetCopySceneParam(scene,x040011_g_CSParamIdxCurSubStage)
	SetCopySceneParam(scene, x040011_g_CSParamIdxCurSubStage, curSubStage+1)
	if curStage == 0 then  
		x040011_Stage_0(scene, curStage, curSubStage)
		if(curSubStage >= 20) then
			SetCopySceneParam(scene,x040011_g_CSParamIdxCurStage,1)
			SetCopySceneParam(scene,x040011_g_CSParamIdxCurSubStage,0)
			x040011_Stage_1(scene, 1, 1)
		end
	end
end

--第0阶段 播放MOV
function x040011_Stage_0(scene ,stage,substage)
	local nCurStage = GetCopySceneParam(scene,x040011_g_CSParamIdxCurStage)
	if substage == 1 then
		StoryAnimation(scene, x040011_g_CSParamAnimationID)

	end
end

--第1阶段 刷NOSS→
function x040011_Stage_1(scene ,stage,substage)
	if substage == 1 then
		OnCSMissionStage(scene,stage-1)
		TellPlayerAutoCombat(scene)
		CreateMonster(scene, x040011_g_MonstorList[1][1], x040011_g_MonstorPosList[1][1][3], x040011_g_MonstorPosList[1][1][1], x040011_g_MonstorPosList[1][1][2])
	end
end

