194 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			194 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
 | ||
| 
 | ||
| // state蒂 撮??坚 籀挤戏煎 菟横螃啪 腌栖棻. 陕谦 葬模蝶蒂 撮??栖棻. 
 | ||
| function onSetState_DashAttack(obj, state, datas, isResetTimer)
 | ||
| {	
 | ||
| 	if(!obj) return;
 | ||
| 	if(isAvengerAwakenning(obj) == false) {
 | ||
| 		return;
 | ||
| 	}
 | ||
| 	
 | ||
| 	obj.sq_stopMove();
 | ||
| 	
 | ||
| 	local posX = obj.getXPos();
 | ||
| 	local posY = obj.getYPos();
 | ||
| 	local posZ = obj.getZPos(); 	
 | ||
| 	
 | ||
| 	local v = 450;
 | ||
| 	local dstX = sq_GetDistancePos(posX, obj.getDirection(), v);
 | ||
| 	
 | ||
| 	obj.getVar().clear_vector();
 | ||
| 	obj.getVar().push_vector(posX); // 卫蒙薄 0
 | ||
| 	obj.getVar().push_vector(dstX); // 紫杂薄 1
 | ||
| 	obj.getVar().push_vector(posX); // 渠莲部薄 2
 | ||
| 	obj.getVar().push_vector(0); // 渠莲桧翕 ?楚斜 3 - 桧翕碳陛虽羲击 虏陬击 阳 涡桧鼻 桧翕击 跤?紫烟 ?晦 嫔?殓栖棻..
 | ||
| 
 | ||
| 	obj.sq_setShake(obj, 1, 1600);
 | ||
| 	
 | ||
| 	local sq_var = obj.getVar();
 | ||
| 	local particle = sq_var.GetparticleCreaterMap("FastMove", "Character/Priest/Effect/Particle/Fastmove.ptl", obj);
 | ||
| 	// 试虽??赝 颤桧该 撮?
 | ||
| 	sq_var.clear_timer_vector();
 | ||
| 	sq_var.push_timer_vector(); // 0廓樯策蝶 试虽??赝 颤桧该
 | ||
| 	sq_var.push_timer_vector(); // 1廓樯策蝶 棻钦?? 颤桧该			
 | ||
| 	
 | ||
| 	local t = sq_var.get_timer_vector(0);
 | ||
| 	t.setParameter(60, -1);
 | ||
| 	t.resetInstant(0);
 | ||
| 	
 | ||
| 	
 | ||
| 	//棻钦?? 热姜
 | ||
| 	
 | ||
| 		local dashFrm = 13;
 | ||
| 		
 | ||
| 		local pAni = obj.sq_getCurrentAni();
 | ||
| 		local dashT = pAni.getDelaySum(0, dashFrm); // 
 | ||
| 		
 | ||
| 		local hitCnt = obj.sq_getIntData(SKILL_AVENGER_AWAKENING, 2); // 渠卫奢问 棻钦?? 譆渠 ?热
 | ||
| 		
 | ||
| 		local term = 1;
 | ||
| 		if(hitCnt > 0) {
 | ||
| 			term = dashT / hitCnt;
 | ||
| 		}
 | ||
| 				
 | ||
| 		local multiT = sq_var.get_timer_vector(1);
 | ||
| 		multiT.setParameter(term, hitCnt);
 | ||
| 		multiT.resetInstant(0);		
 | ||
| 	
 | ||
| 	//
 | ||
|     
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| // prepareDraw ?热 殓栖棻..
 | ||
| function prepareDraw_DashAttack(obj)
 | ||
| {
 | ||
| 	if(!obj) return;
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| // loop 睡碟殓栖棻 ismycontrol煎 马谆虽 强擎 翱念胀 赅苌 object菟桧 桧够击 剪纂啪腌栖棻.
 | ||
| function onProc_DashAttack(obj)
 | ||
| {
 | ||
| 	if(!obj) return;
 | ||
| 	if(isAvengerAwakenning(obj) == false) {
 | ||
| 		return;
 | ||
| 	}
 | ||
| 	
 | ||
| 	local substate = obj.getSkillSubState();
 | ||
| 	
 | ||
| 	local posX = obj.getXPos();
 | ||
| 	local posY = obj.getYPos();
 | ||
| 	local posZ = obj.getZPos();
 | ||
| 	
 | ||
| 	local pAni = obj.sq_getCurrentAni();
 | ||
|     local frmIndex = obj.sq_ani_GetCurrentFrameIndex(pAni);
 | ||
| 	local currentT = sq_GetCurrentTime(pAni);
 | ||
| 	
 | ||
| 	local dashFrm = 13;
 | ||
| 	
 | ||
| 	local dashT = pAni.getDelaySum(0, dashFrm); // 
 | ||
| 	
 | ||
| 	if(frmIndex <= dashFrm) {
 | ||
| 		local srcX = obj.getVar().get_vector(0); // 卫蒙薄	
 | ||
| 		local dstX = obj.getVar().get_vector(1); // 紫杂薄
 | ||
| 		
 | ||
| 		
 | ||
| 		//local currentX = sq_GetUniformVelocity(srcX, dstX, currentT, dashT);
 | ||
| 		local currentX = sq_GetAccel(srcX, dstX, currentT, dashT, true);
 | ||
| 		
 | ||
| 		if(obj.isMovablePos(currentX, posY) && !obj.getVar().get_vector(3)) {
 | ||
| 			obj.setCurrentPos(currentX, posY, posZ);
 | ||
| 		}
 | ||
| 		else {
 | ||
| 			obj.getVar().set_vector(3, 1); // 渠莲桧翕 ?楚斜 3 - 桧翕碳陛虽羲击 虏陬击 阳 涡桧鼻 桧翕击 跤?紫烟 ?晦 嫔?殓栖棻..		
 | ||
| 		}	
 | ||
| 		
 | ||
| 		obj.getVar().set_vector(2, posX); // 紫杂薄
 | ||
| 	}
 | ||
| 	else {		
 | ||
| 	
 | ||
| 		//local delayT = 240;
 | ||
| 		//local len = 50;
 | ||
| 		//local srcX = obj.getVar().get_vector(2); // 卫蒙薄	
 | ||
| 		//
 | ||
| 		////local v = sq_GetAccel(0, len, currentT - dashT, delayT, true);
 | ||
| 		//local v = sq_GetUniformVelocity(0, len, currentT - dashT, delayT);
 | ||
| 		//
 | ||
| 		//local currentX = sq_GetDistancePos(srcX, obj.getDirection(), v);
 | ||
| 			 //
 | ||
| 		//if(obj.isMovablePos(currentX, posY)) {
 | ||
| 			//obj.setCurrentPos(currentX, posY, posZ);
 | ||
| 		//}
 | ||
| 	}
 | ||
| 	
 | ||
| 	// 试虽 ??赝 当撩
 | ||
| 	local sq_var = obj.getVar();
 | ||
| 	local t = sq_var.get_timer_vector(0);
 | ||
| 	
 | ||
| 	//print( "t:" + t);
 | ||
| 	if(t)
 | ||
| 	{
 | ||
| 		if(t.isOnEvent(currentT) == true) {
 | ||
| 			local particleCreater = sq_var.GetparticleCreaterMap("FastMove", "Character/Priest/Effect/Particle/Fastmove.ptl", obj);				
 | ||
| 				
 | ||
| 			particleCreater.Restart(0);
 | ||
| 			//particleCreater.SetPos(posX, posY, posZ-1);				
 | ||
| 			local dstX = sq_GetDistancePos(posX, obj.getDirection(), -20);				
 | ||
| 			particleCreater.SetPos(dstX, posY, posZ+28);	
 | ||
| 			
 | ||
| 			sq_AddParticleObject(obj, particleCreater);
 | ||
| 		}
 | ||
| 	}
 | ||
| 	else
 | ||
| 	{
 | ||
| 		sq_var.push_timer_vector();
 | ||
| 		sq_var.push_timer_vector();
 | ||
| 		local ti = sq_var.get_timer_vector(0)
 | ||
| 		ti.setParameter(60, -1);
 | ||
| 		ti.resetInstant(0);
 | ||
| 	}
 | ||
| 	
 | ||
| 	// 棻钦?? 扑姜
 | ||
| 	local multiT = sq_var.get_timer_vector(1);
 | ||
| 	
 | ||
| 	if (multiT.isOnEvent(currentT) == true)
 | ||
| 		obj.resetHitObjectList();
 | ||
| 	
 | ||
| 	
 | ||
| }
 | ||
| 
 | ||
| // loop 睡碟殓栖棻 ismycontrol ?蝶?陛 狱樯桧 object陛 桧够击 菟横骨栖棻. setstate 撮?桧釭 ?卫粽螃粽薛? 当撩 , 蛔蛔 籀葬?栖棻.
 | ||
| function onProcCon_DashAttack(obj)
 | ||
| {
 | ||
| 	if(!obj) return;
 | ||
| 	if(isAvengerAwakenning(obj) == false) {
 | ||
| 		return;
 | ||
| 	}
 | ||
| 	
 | ||
| 	local pAni = obj.sq_getCurrentAni();
 | ||
| 	local bEnd = obj.sq_ani_IsEnd(pAni);
 | ||
|     local frmIndex = obj.sq_ani_GetCurrentFrameIndex(pAni);
 | ||
| 	
 | ||
| 	
 | ||
| 
 | ||
| 	
 | ||
|     local substate = obj.getSkillSubState();
 | ||
|         
 | ||
| 	if(bEnd) {
 | ||
| 	}
 | ||
| }
 | ||
| 
 | ||
| function onAfterSetState_DashAttack(obj, state, datas, isResetTimer)
 | ||
| {
 | ||
| 	if(!obj) return;
 | ||
| 	
 | ||
| 	if(isAvengerAwakenning(obj) == false) {
 | ||
| 		return;
 | ||
| 	}
 | ||
| 	
 | ||
| 	obj.sq_setCurrentAttackInfo(CUSTOM_ATTACKINFO_AW_DASHATTACK);
 | ||
| 	
 | ||
|     local power = obj.sq_getBonusRateWithPassive(SKILL_AVENGER_AWAKENING, state, SL_DASH_MAGIC_ATK,1.0);
 | ||
|     obj.sq_setCurrentAttackBonusRate(power);
 | ||
| } |