148 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			148 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								function checkExecutableSkill_HolongLight(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return false;	
							 | 
						|||
| 
								 | 
							
									local count = obj.getMyPassiveObjectCount(24222);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(count > 0) {
							 | 
						|||
| 
								 | 
							
										local loadSlot = obj.sq_GetSkillLoad(SKILL_HOLONG_LIGHT);
							 | 
						|||
| 
								 | 
							
										if(!loadSlot) {
							 | 
						|||
| 
								 | 
							
											return false;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										local isCool = loadSlot.isCooling();
							 | 
						|||
| 
								 | 
							
										if(!isCool) {			
							 | 
						|||
| 
								 | 
							
											// 陛虽坚 毡朝 ?炀碳 酝缣 桧嘐 嫦饵胀 偃羹陛 嬴栖贼 嫦饵?棻.
							 | 
						|||
| 
								 | 
							
											local holongObj;
							 | 
						|||
| 
								 | 
							
											for(local i=0;i<count;++i) {
							 | 
						|||
| 
								 | 
							
												holongObj = obj.getMyPassiveObject(24222,i);				
							 | 
						|||
| 
								 | 
							
												if(holongObj && holongObj.getState() < HOLONG_LIGHT_STATE_ATTACK) {
							 | 
						|||
| 
								 | 
							
													holongObj.sendStateOnlyPacket(HOLONG_LIGHT_STATE_ATTACK);	
							 | 
						|||
| 
								 | 
							
													local loadSlot = obj.sq_GetSkillLoad(SKILL_HOLONG_LIGHT);	
							 | 
						|||
| 
								 | 
							
													loadSlot.use(1);
							 | 
						|||
| 
								 | 
							
													break;
							 | 
						|||
| 
								 | 
							
												}
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											// 葆虽虞 嫦樯虽蒂 琼嬴 顶朝 睡碟
							 | 
						|||
| 
								 | 
							
											local buffCount = 0;
							 | 
						|||
| 
								 | 
							
											for(local i=0;i<count;++i) {
							 | 
						|||
| 
								 | 
							
												local passiveObj = obj.getMyPassiveObject(24222,i);
							 | 
						|||
| 
								 | 
							
												if(passiveObj && !isSameObject(holongObj,passiveObj) && passiveObj.getState() < HOLONG_LIGHT_STATE_ATTACK) {
							 | 
						|||
| 
								 | 
							
													buffCount++;
							 | 
						|||
| 
								 | 
							
												}
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											// 葆虽虞 嫦桧贼 藤颤歜击 给萼棻.
							 | 
						|||
| 
								 | 
							
											if(buffCount <= 0) { // ?偃 陴擎 鼻?缣摹 藤击 给萼棻.					
							 | 
						|||
| 
								 | 
							
												obj.startSkillCoolTime(SKILL_HOLONG_LIGHT,1,-1);
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
																	
							 | 
						|||
| 
								 | 
							
											return false;			
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(obj.getState() == STATE_STAND || obj.getState() == STATE_DASH || obj.getState() == STATE_ATTACK) {	
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										local b_useskill = obj.sq_IsUseSkill(SKILL_HOLONG_LIGHT);
							 | 
						|||
| 
								 | 
							
										if(b_useskill) {
							 | 
						|||
| 
								 | 
							
											obj.sq_AddSetStatePacket(STATE_HOLONG_LIGHT, STATE_PRIORITY_USER, false);			
							 | 
						|||
| 
								 | 
							
											return true;
							 | 
						|||
| 
								 | 
							
										}	
							 | 
						|||
| 
								 | 
							
									}	
							 | 
						|||
| 
								 | 
							
									return false;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function checkCommandEnable_HolongLight(obj)
							 | 
						|||
| 
								 | 
							
								{	
							 | 
						|||
| 
								 | 
							
									if(!obj) return false;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local count = obj.getMyPassiveObjectCount(24222);	
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//警蜗晦 饷薯 蒙机 (2012.04.12)
							 | 
						|||
| 
								 | 
							
									if(count == 0 && obj.getState() != STATE_STAND && obj.getState() != STATE_DASH && obj.getState() != STATE_ATTACK)
							 | 
						|||
| 
								 | 
							
										return false;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local state = obj.sq_GetState();	
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(state == STATE_ATTACK) {
							 | 
						|||
| 
								 | 
							
										// 念瘫潍缣怃朝 ?姜蝶鉴虏 警蜗桧 陛栋?栖棻. 蒙机濠:姜霞热 [2012.04.20]
							 | 
						|||
| 
								 | 
							
										return obj.sq_IsCommandEnable(SKILL_HOLONG_LIGHT);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
									return true;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function onSetState_HolongLight(obj, state, datas, isResetTimer)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									obj.sq_StopMove();
							 | 
						|||
| 
								 | 
							
									obj.sq_SetCurrentAnimation(CUSTOM_ANI_HOLONG_LIGHT);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									obj.sq_SetStaticSpeedInfo(SPEED_TYPE_CAST_SPEED, SPEED_TYPE_CAST_SPEED,
							 | 
						|||
| 
								 | 
							
											SPEED_VALUE_DEFAULT, SPEED_VALUE_DEFAULT, 1.0, 1.0);
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
									local level		  = sq_GetSkillLevel(obj, SKILL_HOLONG_LIGHT);
							 | 
						|||
| 
								 | 
							
									local lifeTime    = sq_GetLevelData(obj, SKILL_HOLONG_LIGHT, 0, level); //?炀碳 帼? 嵘? 卫除
							 | 
						|||
| 
								 | 
							
									AppendAppendageToSimple(obj, SKILL_HOLONG_LIGHT, "Appendage/Character/ap_atmage_buff.nut", lifeTime, true);
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function onEndCurrentAni_HolongLight(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									obj.sq_AddSetStatePacket(STATE_STAND, STATE_PRIORITY_USER, false);
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function onKeyFrameFlag_HolongLight(obj, flagIndex)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return true;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(flagIndex == 1) {
							 | 
						|||
| 
								 | 
							
										obj.sq_AddSkillLoad(SKILL_HOLONG_LIGHT, 40, 2, 500);
							 | 
						|||
| 
								 | 
							
										local x = -26;
							 | 
						|||
| 
								 | 
							
										local y = 0;
							 | 
						|||
| 
								 | 
							
										local z = 90;		
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										local activeObject = sq_FindShootingTarget(obj, sq_GetDistancePos(sq_GetXPos(obj),obj.getDirection(),x), sq_GetYPos(obj), sq_GetZPos(obj) + z, 0, 0, 4, 14, -1, 300, 100, 50, 100);
							 | 
						|||
| 
								 | 
							
										local horizonAngle = 0.0;
							 | 
						|||
| 
								 | 
							
										local verticalAngle = 0.0;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
										if (activeObject != NULL) {		
							 | 
						|||
| 
								 | 
							
											local maxDistance = abs(activeObject.getXPos() - x);
							 | 
						|||
| 
								 | 
							
											horizonAngle = sq_GetShootingHorizonAngle(activeObject, y, 0, 5, maxDistance);
							 | 
						|||
| 
								 | 
							
											verticalAngle = sq_GetShootingVerticalAngle(activeObject, z, 0, 5, maxDistance, 300);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										local level		  = sq_GetSkillLevel(obj, SKILL_HOLONG_LIGHT);
							 | 
						|||
| 
								 | 
							
										local lifeTime    = sq_GetLevelData(obj, SKILL_HOLONG_LIGHT, 0, level); //?炀碳 帼? 嵘? 卫除
							 | 
						|||
| 
								 | 
							
										local defenceUp   = sq_GetLevelData(obj, SKILL_HOLONG_LIGHT, 1, level);
							 | 
						|||
| 
								 | 
							
										local attackPower = obj.sq_GetBonusRateWithPassive(SKILL_HOLONG_LIGHT,STATE_HOLONG_LIGHT, 2, 1.0);
							 | 
						|||
| 
								 | 
							
										local shotTime	  = sq_GetIntData(obj, SKILL_HOLONG_LIGHT, 0);
							 | 
						|||
| 
								 | 
							
										local coolTime	  = sq_GetIntData(obj, SKILL_HOLONG_LIGHT, 1);
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										for(local i=0;i<2;++i) {					
							 | 
						|||
| 
								 | 
							
											if(obj.isMyControlObject())
							 | 
						|||
| 
								 | 
							
											{
							 | 
						|||
| 
								 | 
							
												obj.sq_StartWrite();
							 | 
						|||
| 
								 | 
							
												obj.sq_WriteBool(i); // 颤殓 A : 桨嫔缣 当撩	
							 | 
						|||
| 
								 | 
							
												obj.sq_WriteFloat(horizonAngle);
							 | 
						|||
| 
								 | 
							
												obj.sq_WriteFloat(verticalAngle);
							 | 
						|||
| 
								 | 
							
												obj.sq_WriteDword(lifeTime);
							 | 
						|||
| 
								 | 
							
												obj.sq_WriteDword(defenceUp);
							 | 
						|||
| 
								 | 
							
												obj.sq_WriteDword(attackPower);
							 | 
						|||
| 
								 | 
							
												obj.sq_WriteDword(shotTime);
							 | 
						|||
| 
								 | 
							
												obj.sq_WriteDword(coolTime);			
							 | 
						|||
| 
								 | 
							
												obj.sq_SendCreatePassiveObjectPacket(24222, x, y, z, 0);
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return true;
							 | 
						|||
| 
								 | 
							
								} |