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

x040013_g_scriptId = 040013

--副本参数
x040013_g_CSParamIdxCurStage = 0			  --大阶段	
x040013_g_CSParamIdxCurSubStage = 1           --小阶段
x040013_g_CSParam1 = 2
x040013_g_CSParam2 = 3
x040013_g_CSParamAnimationID = 5036           --mov动画ID

x040013_g_MonstorList={}
x040013_g_MonstorList[1]={1003108}                                  --BOSS

x040013_g_TargetList = {}                      --目标
x040013_g_TargetList[1]={1003108}  --第一阶段目标1

x040013_g_Tickout = 7   -- 防止掉线的最小切换副本阶段时间戳，需要减2
x040013_g_FirstMissionId = 1812	-- 第一个任务
x040013_g_SecMissionId = 1815 -- 第二个任务

x040013_g_FirstGroupPoint = 106  -- 一个采集点

x040013_g_MonstorPosList={}
x040013_g_MonstorPosList[1]={{29.97,29.95,-1.57}}

function x040013_OnCopySceneTimeOut(scene)
	ClearPlayer(scene)
end
function x040013_OnCopySceneOpen(scene)
	AddCSMission(scene,x040013_g_FirstMissionId)
	AddCSMission(scene,x040013_g_SecMissionId)
end
function x040013_ClearAllMonster(scene)
	--print(count)
    --DeleMonsterByRoleId(scene,  x040013_g_TargetList[1][1])
    DeleHostileMonster(scene)
    RemoveSceneBuffById(scene, x040013_g_FirstGroupPoint)
end
function  x040013_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 x040013_OnObjEnter(scene, objId)
	SetCopySceneParam(scene, x040013_g_CSParamIdxCurStage, 0)
	SetCopySceneParam(scene, x040013_g_CSParamIdxCurSubStage, 0)
	SetCopySceneParam(scene, x040013_g_CSParam1, 0)
	SetCopySceneParam(scene, x040013_g_CSParam2, 0)
	x040013_ClearAllMonster(scene)
	SetCopySceneParam(scene, 7, 0)
	SynCsStageData(scene, objId, true)
	--AutoCombat(scene,objId,true)
end
function x040013_OnDieCountDown1(scene, rolebaseId,  stage)
	local TargetId = x040013_g_TargetList[stage+1][1]
	if(TargetId == rolebaseId) then
		local OldValue = GetCopySceneParam(scene, x040013_g_CSParam1)
		SetCopySceneParam(scene, x040013_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 x040013_OnObjDie( scene,objId,rolebaseId,killerId )
	local nCurStage = GetCopySceneParam(scene,x040013_g_CSParamIdxCurStage)
	local MonCount = GetHostileMonsterCount(scene)
	local oldStage = GetCopySceneParam(scene, 7)
	x040013_OnDieCountDown1(scene, rolebaseId, oldStage)
	if MonCount == 0 then
		if(rolebaseId == x040013_g_MonstorList[1][1]) then
			x040013_StageControl(scene, 1)
			x040013_Stage_2(scene, 2, 1)
		end
		SetCopySceneParam(scene,x040013_g_CSParamIdxCurStage,nCurStage+1)
		SetCopySceneParam(scene,x040013_g_CSParamIdxCurSubStage,0)
	end
end

--动画/对话回调
function x040013_OnStoryEventEnd(scene,nStoryId,nAnimationId)
	if nAnimationId == x040013_g_CSParamAnimationID then
		local nCurStage = GetCopySceneParam(scene,x040013_g_CSParamIdxCurStage)
		local MonCount = GetHostileMonsterCount(scene)
		if(nCurStage == 0) then
			SetCopySceneParam(scene,x040013_g_CSParamIdxCurStage,1)
			SetCopySceneParam(scene,x040013_g_CSParamIdxCurSubStage,0)
			x040013_Stage_1(scene, 1, 1)
		end
	end
end

--副本Tick
function x040013_OnCopySceneTick(scene,tickCount)
	local curStage = GetCopySceneParam(scene,x040013_g_CSParamIdxCurStage)
	local curSubStage = GetCopySceneParam(scene,x040013_g_CSParamIdxCurSubStage)
	SetCopySceneParam(scene, x040013_g_CSParamIdxCurSubStage, curSubStage+1)
	if curStage == 0 then  
		x040013_Stage_0(scene, curStage, curSubStage)
		if curSubStage >= 20 then
				SetCopySceneParam(scene,x040013_g_CSParamIdxCurStage,1)
			SetCopySceneParam(scene,x040013_g_CSParamIdxCurSubStage,0)
			x040013_Stage_1(scene, 1, 1)	
		end
	end
end

--第0阶段 播放MOV
function x040013_Stage_0(scene ,stage,substage)
	local nCurStage = GetCopySceneParam(scene,x040013_g_CSParamIdxCurStage)
	if substage == 1 then
		StoryAnimation(scene, x040013_g_CSParamAnimationID)
	end
end
--第1阶段 刷NOSS→
function x040013_Stage_1(scene ,stage,substage)
	if substage == 1 then
		OnCSMissionStage(scene,stage-1)
		TellPlayerAutoCombat(scene)
		CreateMonster(scene, x040013_g_MonstorList[1][1], x040013_g_MonstorPosList[1][1][3], x040013_g_MonstorPosList[1][1][1], x040013_g_MonstorPosList[1][1][2])
	end
end

function x040013_Stage_2(scene ,stage,substage)
	if substage == 1 then
		OnCSMissionStage(scene,stage-1)
		--CreateGroupPoint(scene, x040013_g_FirstGroupPoint, 29, 39, 0)
	end
end

function x040013_OnMissionComplete(scene ,ObjId,MissionId)
	print("采集完成")
	if MissionId == x040013_g_SecMissionId then
		local nCurStage = GetCopySceneParam(scene,x040013_g_CSParamIdxCurStage)
		SetCopySceneParam(scene,x040013_g_CSParamIdxCurStage,nCurStage+1)
		SetCopySceneParam(scene,x040013_g_CSParamIdxCurSubStage,0)
		SetCopySceneSuccess(scene)
	end
end
