104 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			104 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | 
 | ||
|  | function checkExecutableSkill_IceOrbEx(obj) | ||
|  | { | ||
|  | 	if (!obj) return false; | ||
|  | 
 | ||
|  | 	local useSkill = obj.sq_IsUseSkill(SKILL_ICE_ORB_EX); | ||
|  | 	if (useSkill) { | ||
|  | 		obj.sq_AddSetStatePacket(STATE_ICE_ORB_EX, STATE_PRIORITY_IGNORE_FORCE, false); | ||
|  | 		return true; | ||
|  | 	} | ||
|  | 	return false; | ||
|  | } | ||
|  | 
 | ||
|  | function checkCommandEnable_IceOrbEx(obj) | ||
|  | { | ||
|  | 	if(!obj) return false; | ||
|  | 	local state = obj.sq_GetState(); | ||
|  | 
 | ||
|  | 	if(state == STATE_ATTACK) { | ||
|  | 		// 念瘫潍缣怃朝 ?姜蝶鉴虏 警蜗桧 陛栋?栖棻. 蒙机濠:姜霞热 [2012.04.20] | ||
|  | 		return obj.sq_IsCommandEnable(SKILL_ICE_ORB_EX); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	return true; | ||
|  | } | ||
|  | 
 | ||
|  | function onSetState_IceOrbEx(obj, state, datas, isResetTimer) | ||
|  | { | ||
|  | 	if(!obj) return;	 | ||
|  | 	 | ||
|  | 	obj.sq_StopMove(); | ||
|  | 	obj.sq_SetCurrentAnimation(CUSTOM_ANI_ICE_ORB_EX); | ||
|  | 	obj.sq_PlaySound("MW_ICEORB"); | ||
|  | } | ||
|  | 
 | ||
|  | function onEndCurrentAni_IceOrbEx(obj) | ||
|  | { | ||
|  | 	if(!obj) return; | ||
|  | 
 | ||
|  | 	local substate = obj.getSkillSubState();	 | ||
|  | 	obj.sq_AddSetStatePacket(STATE_STAND, STATE_PRIORITY_USER, false);	// 拥栖 部釭贼 蝶鼹萄煎. | ||
|  | } | ||
|  | 
 | ||
|  | function onKeyFrameFlag_IceOrbEx(obj, flagIndex) | ||
|  | { | ||
|  | 
 | ||
|  | 	if(!obj) return false; | ||
|  | 
 | ||
|  | 	local substate = obj.getSkillSubState();	 | ||
|  | 	local level		  = sq_GetSkillLevel(obj, SKILL_ICE_ORB_EX); | ||
|  | 	 | ||
|  | 	if(flagIndex == 1) { | ||
|  | 		// ?卫粽 嫦饵. | ||
|  | 		if(obj.isMyControlObject()) | ||
|  | 		{ | ||
|  | 			local distance = sq_GetIntData(obj, SKILL_ICE_ORB_EX, 0); // 0. 鼠殓溘 剪葬  | ||
|  | 			 | ||
|  | 			 | ||
|  | 			local leftPress = sq_IsKeyDown(OPTION_HOTKEY_MOVE_LEFT, ENUM_SUBKEY_TYPE_ALL); | ||
|  | 			local rightPress = sq_IsKeyDown(OPTION_HOTKEY_MOVE_RIGHT, ENUM_SUBKEY_TYPE_ALL); | ||
|  | 				 | ||
|  | 			if(leftPress && rightPress)  // 翕卫缣 寰扬毓击阳 籀葬. 翕卫缣 扬毓击 隆 酝除戏煎. | ||
|  | 			{ | ||
|  | 				//蛤?? 高桧晦缣 嬴鼠匙紫 ?虽强挤. | ||
|  | 			}			 | ||
|  | 			else if((sq_GetDirection(obj) == ENUM_DIRECTION_RIGHT && rightPress)  // 伪擎 寞?击 扬毓击阳. | ||
|  | 				|| (sq_GetDirection(obj) == ENUM_DIRECTION_LEFT && leftPress))  | ||
|  | 			{ | ||
|  | 				distance = sq_GetIntData(obj, SKILL_ICE_ORB_EX, 1); // STATIC 1. 姜寞? 剪葬 | ||
|  | 			} | ||
|  | 			else if(leftPress || rightPress) // ?釭塭紫 殓溘 腑棻贼 羲寞? | ||
|  | 			{ | ||
|  | 				distance = sq_GetIntData(obj, SKILL_ICE_ORB_EX, 2); // STATIC 2. 羲寞? 剪葬 | ||
|  | 			} | ||
|  | 			 | ||
|  | 			 | ||
|  | 			local speed = sq_GetIntData(obj, SKILL_ICE_ORB_EX, 3);// STATIC 3. 掘羹 嫦饵 楼紫  | ||
|  | 			 | ||
|  | 			local level			= sq_GetSkillLevel(obj, SKILL_ICE_ORB_EX);	 | ||
|  | 			local gap			= sq_GetIntData(obj, SKILL_ICE_ORB_EX, 4); // STATIC 4. 陛卫 当撩 卫除 除问 | ||
|  | 			local pricklePower  = obj.sq_GetBonusRateWithPassive(SKILL_ICE_ORB_EX , STATE_ICE_ORB_EX, 0, 1.0);	// LEVEL 0. 陛卫 奢问溘 | ||
|  | 			local lastPower		= obj.sq_GetBonusRateWithPassive(SKILL_ICE_ORB_EX , STATE_ICE_ORB_EX, 1, 1.0);	// LEVEL 1. 虞颤 奢问溘 | ||
|  | 			local maxCount		= sq_GetLevelData(obj, SKILL_ICE_ORB_EX, 2, level);	// LEVEL 2. 陛卫 当撩 ?热			 | ||
|  | 			local direction		= sq_GetDirection(obj); | ||
|  | 			local targetPos		= sq_GetDistancePos(obj.getXPos(), direction, distance); | ||
|  | 		 | ||
|  | 			// 卫除 = 剪葬/楼溘 | ||
|  | 			obj.sq_StartWrite(); | ||
|  | 			obj.sq_WriteDword(speed);  // 陈嬴陛朝 楼紫.	 | ||
|  | 			obj.sq_WriteDword(gap); | ||
|  | 			obj.sq_WriteFloat(pricklePower.tofloat()); //挤热橾热紫 毡晦阳侥缣 float?戏煎 尔鱼棻. sqr缣摹 DWORD ?击 濠翕戏煎 int?戏煎 夥脯 舆韩 强晦 阳侥. | ||
|  | 			obj.sq_WriteFloat(lastPower.tofloat());			 | ||
|  | 			obj.sq_WriteDword(maxCount); | ||
|  | 			obj.sq_WriteWord(direction); | ||
|  | 			obj.sq_WriteDword(targetPos);			 | ||
|  | 			 | ||
|  | 			obj.sq_SendCreatePassiveObjectPacket(24235, 0, 100, 0, 50);	// 橡挤掘 当撩, 100,50暧 谢?缣 当撩 | ||
|  | 		} | ||
|  | 	} | ||
|  | 
 | ||
|  | 	return true; | ||
|  | 
 | ||
|  | } |