213 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			213 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
 | ||
| function sq_AddFunctionName(appendage)
 | ||
| {
 | ||
| 	appendage.sq_AddFunctionName("proc", "proc_appendage_common_burster")
 | ||
| 	appendage.sq_AddFunctionName("prepareDraw", "prepareDraw_appendage_common_burster")
 | ||
| 	appendage.sq_AddFunctionName("onStart", "onStart_appendage_common_burster")
 | ||
| 	appendage.sq_AddFunctionName("onEnd", "onEnd_appendage_common_burster")
 | ||
| 	appendage.sq_AddFunctionName("isEnd", "isEnd_appendage_common_burster")
 | ||
| 	appendage.sq_AddFunctionName("onStartMap", "onStartMap_appendage_common_burster")
 | ||
| 	appendage.sq_AddFunctionName("onAttackParent", "onAttackParent_appendage_common_burster")
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| function sq_AddEffect(appendage)
 | ||
| {
 | ||
| 	appendage.sq_AddEffectBack("Character/Common/Animation/BusterMode/buster_loop_back_normal.ani");
 | ||
| 	appendage.sq_AddEffectFront("Character/Common/Animation/BusterMode/buster_loop_front_normal.ani");
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| function onStartMap_appendage_common_burster(appendage)
 | ||
| {
 | ||
| 	if(!appendage)
 | ||
| 		return;
 | ||
| 		
 | ||
| 	local obj = appendage.getParent();
 | ||
| 	
 | ||
| 	if(!obj)
 | ||
| 	{
 | ||
| 		appendage.setValid(false);
 | ||
| 		return;
 | ||
| 	}
 | ||
| 		
 | ||
| 	local validT = appendage.getAppendageInfo().getValidTime();
 | ||
| 
 | ||
| 	local useTime = appendage.getTimer().Get();
 | ||
| 
 | ||
| 	local remainT = validT - useTime;
 | ||
| 
 | ||
| 	print(" remain validT:" + remainT);
 | ||
| 
 | ||
| 	if (obj.isMyControlObject())
 | ||
| 	{
 | ||
| 		if (remainT > 0)
 | ||
| 		{
 | ||
| 			sq_flashScreen(obj, 0, remainT, 300, 150, sq_RGB(0,0,0), GRAPHICEFFECT_NONE, ENUM_DRAWLAYER_BOTTOM);
 | ||
| 		}
 | ||
| 	}
 | ||
| }
 | ||
| 
 | ||
| function proc_appendage_common_burster(appendage)
 | ||
| {
 | ||
| 	if(!appendage) {
 | ||
| 		return;
 | ||
| 	}
 | ||
| }
 | ||
| 
 | ||
| function onAttackParent_appendage_common_burster(appendage, realAttacker, damager, boundingBox, isStuck)
 | ||
| {
 | ||
| 	if(!appendage) {
 | ||
| 		return;
 | ||
| 	}
 | ||
| 
 | ||
| 	// 帼蝶搅赅萄煎 蚁棻贼..
 | ||
| 	if (appendage.isValid())
 | ||
| 	{
 | ||
| 		local centerX = sq_GetCenterXPos(boundingBox);
 | ||
| 		local centerZ = sq_GetCenterZPos(boundingBox);
 | ||
| 
 | ||
| 		local posY = damager.getYPos();
 | ||
| 
 | ||
| 		local hitEffAni = sq_CreateAnimation("","Character/Common/Animation/BusterMode/buster_hit_back_normal1.ani");
 | ||
| 		local hitBackEffObj = sq_CreatePooledObject(hitEffAni, true);
 | ||
| 		hitBackEffObj.setCurrentPos(centerX, posY - 1, centerZ);
 | ||
| 		sq_AddObject(realAttacker, hitBackEffObj, OBJECTTYPE_DRAWONLY, false);
 | ||
| 
 | ||
| 		local hitFrontEffAni = sq_CreateAnimation("","Character/Common/Animation/BusterMode/buster_hit_front_dodge.ani");
 | ||
| 		local hitFrontEffObj = sq_CreatePooledObject(hitFrontEffAni, true);
 | ||
| 		hitFrontEffObj.setCurrentPos(centerX, posY + 1, centerZ);
 | ||
| 		sq_AddObject(realAttacker, hitFrontEffObj, OBJECTTYPE_DRAWONLY, false);
 | ||
| 	}
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| function onStart_appendage_common_burster(appendage)
 | ||
| {
 | ||
| 	if(!appendage) {
 | ||
| 		return;
 | ||
| 	}
 | ||
| 	
 | ||
| 	local obj = appendage.getParent();	
 | ||
| 	
 | ||
| 	if (!obj)
 | ||
| 	{
 | ||
| 		appendage.setValid(false);
 | ||
| 		return;
 | ||
| 	}
 | ||
| 
 | ||
| 	local validT = appendage.getAppendageInfo().getValidTime();
 | ||
| 
 | ||
| 	if (obj.isMyControlObject())
 | ||
| 	{
 | ||
| 		print(" sq_flashScreen validTime:" + validT);
 | ||
| 		local fScreen = sq_flashScreen(appendage.getParent(),0,validT - 300,300,150, sq_RGB(0,0,0), GRAPHICEFFECT_NONE, ENUM_DRAWLAYER_BOTTOM);
 | ||
| 	}
 | ||
| 	
 | ||
| 	////////////////////////
 | ||
| 	// 蝶??岁 横?蛤虽 蛔烟
 | ||
| 	///////////////////////
 | ||
| 	local spectrumAppendage = appendage.sq_GetOcularSpectrum("ocularSpectrum");
 | ||
| 	
 | ||
| 	if(!spectrumAppendage)
 | ||
| 	{
 | ||
| 		spectrumAppendage = appendage.sq_AddOcularSpectrum("ocularSpectrum", obj, obj, 100);
 | ||
| 	}
 | ||
| 	
 | ||
| 	sq_SetParameterOcularSpectrum(spectrumAppendage, 800, 100, true, sq_RGBA(20, 80, 200, 255), sq_RGBA(20, 80, 200, 0), 2, 2, 2);
 | ||
| 	sq_SetParameterOcularSpectrum(spectrumAppendage, 800, 100, true, sq_RGBA(20, 80, 200, 255), sq_RGBA(20, 80, 200, 0), 2, 0, 1);
 | ||
| 	///////////////////////	
 | ||
| 
 | ||
| 	local chr = sq_ObjectToSQRCharacter(obj);
 | ||
| 
 | ||
| 	if (chr)
 | ||
| 	{
 | ||
| 		//藤颤歜击 蟾晦? 卫面捡? 蝶鉴菟击 旋煎弊漱搅缣 厥蝗栖棻.
 | ||
| 
 | ||
| 		local bursterSkill = sq_GetSkill(chr, SKILL_BURSTER);
 | ||
| 	
 | ||
| 		local pIntVec = sq_GetGlobalIntVector();
 | ||
| 		sq_IntVectorClear(pIntVec);
 | ||
| 		sq_IntVectorPush(pIntVec, SKILL_BURSTER); // 办摹 帼蝶搅赅萄 蝶鉴 狱樯睡搅 ?卫?栖棻.
 | ||
| 
 | ||
| 		local size = sq_GetCustomIntDataSize(bursterSkill, chr);
 | ||
| 
 | ||
| 		for (local i = 0; i < size; i++)
 | ||
| 		{
 | ||
| 			// 旎虽胀 蝶鉴樯策蝶菟击 椭横蚂棻.
 | ||
| 			local disableSkillIndex = sq_GetIntData(chr, SKILL_BURSTER, i);
 | ||
| 			sq_IntVectorPush(pIntVec, disableSkillIndex);
 | ||
| 		}
 | ||
| 
 | ||
| 		sq_SetStartCoolTime(chr, 0, pIntVec);
 | ||
| 		//
 | ||
| 		print(" pooled obj");
 | ||
| 
 | ||
| 		local posX = chr.getXPos();
 | ||
| 		local posY = chr.getYPos();
 | ||
| 		local posZ = chr.getZPos();
 | ||
| 
 | ||
| 		//local buster_loop_back_normal = sq_CreateAnimation("","Character/Common/Animation/BusterMode/buster_loop_back_normal.ani");
 | ||
| 		//local buster_loop_back_normalObj = chr.sq_CreateCNRDPooledObject(buster_loop_back_normal);
 | ||
| 		//buster_loop_back_normalObj.setCurrentDirection(chr.getDirection());
 | ||
| 		//buster_loop_back_normalObj.setCurrentPos(posX, posY - 1, 0);
 | ||
| 		//chr.sq_AddObject(buster_loop_back_normalObj);
 | ||
| 
 | ||
| 		//local backEffObj = sq_CreateDrawOnlyObject(obj, "Character/Common/Animation/BusterMode/buster_loop_back_normal.ani",
 | ||
| 		//ENUM_DRAWLAYER_NORMAL, false);
 | ||
| 
 | ||
| 		//sq_moveWithParent(chr, backEffObj);
 | ||
| 
 | ||
| 		//local frontEffObj = sq_CreateDrawOnlyObject(obj, "Character/Common/Animation/BusterMode/buster_loop_front_normal.ani",
 | ||
| 		//ENUM_DRAWLAYER_NORMAL, false);
 | ||
| 
 | ||
| 		//frontEffObj.setCurrentPos(posX, posY - 1, 0);
 | ||
| 
 | ||
| 		//sq_moveWithParent(chr, frontEffObj);
 | ||
| 
 | ||
| 		//buster_loop_front_normal.ani.als
 | ||
| 	}
 | ||
| 
 | ||
| 	
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| function prepareDraw_appendage_common_burster(appendage)
 | ||
| {
 | ||
| 	if(!appendage) {
 | ||
| 		return;
 | ||
| 	}
 | ||
| 	
 | ||
| 	local obj = appendage.getParent();	
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| function onEnd_appendage_common_burster(appendage)
 | ||
| {
 | ||
| 	if(!appendage) {
 | ||
| 		return;
 | ||
| 	}
 | ||
| 	
 | ||
| 	
 | ||
| 	local obj = appendage.getParent();
 | ||
| 	
 | ||
| 	local spectrumAppendage = appendage.sq_GetOcularSpectrum("ocularSpectrum");
 | ||
| 	
 | ||
| 	print(" onend burst:" + spectrumAppendage);
 | ||
| 	if(spectrumAppendage)
 | ||
| 	{
 | ||
| 		spectrumAppendage.endCreateSpectrum();
 | ||
| 	}
 | ||
| 	
 | ||
| 	//CNSquirrelAppendage.sq_RemoveAppendage(obj, "Character/Common/Burster/ap_Common_Burster.nut");
 | ||
| 	
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| // 横渐螳 陕撩 渗褐暧 部睡碟
 | ||
| function isEnd_appendage_common_burster(appendage)
 | ||
| {	
 | ||
| 	return false;
 | ||
| } |