193 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			193 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | 
 | |||
|  | APPENDAGE_INDEX_STATE <- 0 | |||
|  | APPENDAGE_INDEX_ISEND <- 1 | |||
|  | 
 | |||
|  | function sq_AddFunctionName(appendage) | |||
|  | { | |||
|  | 	appendage.sq_AddFunctionName("proc", "proc_appendage_atmage_bodyeffect") | |||
|  | 	appendage.sq_AddFunctionName("prepareDraw", "prepareDraw_appendage_atmage_bodyeffect") | |||
|  | 	appendage.sq_AddFunctionName("onStart", "onStart_appendage_atmage_bodyeffect") | |||
|  | 	appendage.sq_AddFunctionName("onEnd", "onEnd_appendage_atmage_bodyeffect") | |||
|  | 	appendage.sq_AddFunctionName("drawAppend", "drawAppend_appendage_atmage_bodyeffect") | |||
|  | 	appendage.sq_AddFunctionName("isEnd", "isEnd_appendage_atmage_bodyeffect") | |||
|  | } | |||
|  | 
 | |||
|  | 
 | |||
|  | function sq_AddEffect(appendage) | |||
|  | { | |||
|  | } | |||
|  | 
 | |||
|  | function proc_appendage_atmage_bodyeffect(appendage) | |||
|  | { | |||
|  | 	if(!appendage) { | |||
|  | 		return; | |||
|  | 	} | |||
|  | 	 | |||
|  | } | |||
|  | 
 | |||
|  | 
 | |||
|  | function onStart_appendage_atmage_bodyeffect(appendage) | |||
|  | { | |||
|  | 	if(!appendage) { | |||
|  | 		return; | |||
|  | 	} | |||
|  | 	 | |||
|  | 	local obj = appendage.getParent();	 | |||
|  | 	 | |||
|  | 	appendage.getVar().clear_vector(); | |||
|  | 	appendage.getVar().push_vector(0); | |||
|  | 	appendage.getVar().push_vector(0); | |||
|  | 	 | |||
|  | 	 | |||
|  | } | |||
|  | 
 | |||
|  | 
 | |||
|  | function prepareDraw_appendage_atmage_bodyeffect(appendage) | |||
|  | { | |||
|  | 	if(!appendage) { | |||
|  | 		return; | |||
|  | 	} | |||
|  | 	 | |||
|  | 	local obj = appendage.getParent();	 | |||
|  | } | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | function onEnd_appendage_atmage_bodyeffect(appendage) | |||
|  | { | |||
|  | 	if(!appendage) { | |||
|  | 		return; | |||
|  | 	} | |||
|  | 	 | |||
|  | 	local obj = appendage.getParent(); | |||
|  | } | |||
|  | 
 | |||
|  | function drawAppend_appendage_atmage_bodyeffect(appendage, isOver, x, y, isFlip) | |||
|  | { | |||
|  | 	if(!appendage) { | |||
|  | 		return; | |||
|  | 	} | |||
|  | 	 | |||
|  | 	local obj = appendage.getParent(); | |||
|  | 	 | |||
|  | 	if(!obj) { | |||
|  | 		appendage.setValid(false); | |||
|  | 		return; | |||
|  | 	} | |||
|  | 	 | |||
|  | 	local pAni = sq_GetCurrentAnimation(obj); | |||
|  | 	 | |||
|  | 	if(!pAni) { | |||
|  | 		appendage.setValid(false); | |||
|  | 		return; | |||
|  | 	} | |||
|  | 	 | |||
|  | 	local state = appendage.getVar().get_vector(APPENDAGE_INDEX_STATE); | |||
|  | 	 | |||
|  | 	local currentT = sq_GetCurrentTime(pAni); | |||
|  | 	 | |||
|  | 	local startT = 150; | |||
|  | 	local endT = 250; | |||
|  | 	local effectT = 500; | |||
|  | 	local effectType = GRAPHICEFFECT_DODGE; | |||
|  | 	local rgb = sq_RGB(0, 90, 255); | |||
|  | 	 | |||
|  | 	if(appendage.sq_GetSkillIndex() == SKILL_TELEPORT) | |||
|  | 	{ | |||
|  | 		if(state == 0) | |||
|  | 		{ | |||
|  | 			startT = 50; | |||
|  | 			endT = 200; | |||
|  | 			effectT = 240; | |||
|  | 			effectType = GRAPHICEFFECT_LINEARDODGE; | |||
|  | 			rgb = sq_RGB(255, 255, 255); | |||
|  | 		} | |||
|  | 		else if(state == 1) | |||
|  | 		{ | |||
|  | 			print("state:" + state + " appendage.getTimer().Get():" + appendage.getTimer().Get()); | |||
|  | 			startT = 200; | |||
|  | 			endT = 50; | |||
|  | 			effectT = 200; | |||
|  | 			effectType = GRAPHICEFFECT_LINEARDODGE; | |||
|  | 			rgb = sq_RGB(255, 255, 255); | |||
|  | 		} | |||
|  | 	} | |||
|  | 	else if(appendage.sq_GetSkillIndex() == SKILL_DIEHARD) | |||
|  | 	{ | |||
|  | 		if(state == 0) | |||
|  | 		{ | |||
|  | 			startT = 50; | |||
|  | 			endT = 200; | |||
|  | 			effectT = 700; | |||
|  | 			effectType = GRAPHICEFFECT_LINEARDODGE; | |||
|  | 			rgb = sq_RGB(255, 255, 255); | |||
|  | 		} | |||
|  | 		else if(state == 1) | |||
|  | 		{ | |||
|  | 			startT = 200; | |||
|  | 			endT = 50; | |||
|  | 			effectT = 600; | |||
|  | 			effectType = GRAPHICEFFECT_LINEARDODGE; | |||
|  | 			rgb = sq_RGB(255, 255, 255); | |||
|  | 		} | |||
|  | 	} | |||
|  | 	 | |||
|  | 	 | |||
|  | 	local targetV = endT; | |||
|  | 
 | |||
|  | 	local al = sq_GetUniformVelocity(startT, targetV, appendage.getTimer().Get(), effectT); | |||
|  | 	 | |||
|  | 	local alpha = sq_ALPHA(al); | |||
|  | 	pAni.setEffectLayer(true, effectType, true, rgb, alpha, true, false); | |||
|  | 	 | |||
|  | 	 | |||
|  | 	local size = sq_AniLayerListSize(pAni); | |||
|  | 	 | |||
|  | 	if(size > 0) { | |||
|  | 		for(local i=0;i<size;i+=1) { | |||
|  | 			local aniL = sq_getAniLayerListObject(pAni, i); | |||
|  | 			 | |||
|  | 			if(aniL) { | |||
|  | 				local effect = aniL.GetCurrentFrame().GetGraphicEffect(); | |||
|  | 				 | |||
|  | 				if(effect != GRAPHICEFFECT_LINEARDODGE) { | |||
|  | 					aniL.setEffectLayer(true, effectType, true, rgb, alpha, true, false); | |||
|  | 				} | |||
|  | 			} | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	//if(al == targetV) { | |||
|  | 	if(appendage.getVar().get_vector(APPENDAGE_INDEX_ISEND) == 1) | |||
|  | 	{ | |||
|  | 		appendage.setValid(false); | |||
|  | 	} | |||
|  | 	else if(al == targetV) | |||
|  | 	{ | |||
|  | 		if(appendage.sq_GetSkillIndex() == SKILL_TELEPORT || appendage.sq_GetSkillIndex() == SKILL_DIEHARD) | |||
|  | 		{ | |||
|  | 			if(state == 0) | |||
|  | 			{ | |||
|  | 				appendage.getTimer().Reset(); | |||
|  | 				appendage.getTimer().Start(0,0); | |||
|  | 				appendage.getVar().set_vector(APPENDAGE_INDEX_STATE, 1); | |||
|  | 			} | |||
|  | 			else if(state == 1) | |||
|  | 			{ | |||
|  | 				appendage.getVar().set_vector(APPENDAGE_INDEX_ISEND, 1); | |||
|  | 			} | |||
|  | 		} | |||
|  | 	}	 | |||
|  | 	 | |||
|  | } | |||
|  | 
 | |||
|  | // 横渐螳 陕撩 渗褐暧 部睡碟 | |||
|  | function isEnd_appendage_atmage_bodyeffect(appendage) | |||
|  | { | |||
|  | 	if(!appendage) return false; | |||
|  | 	 | |||
|  | 	local T = appendage.getTimer().Get(); | |||
|  | 	 | |||
|  | 	return false; | |||
|  | } |