248 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			248 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function sq_AddFunctionName(appendage)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									appendage.sq_AddFunctionName("proc", "proc_appendage_grab_icemagic")
							 | 
						|||
| 
								 | 
							
									appendage.sq_AddFunctionName("prepareDraw", "prepareDraw_appendage_grab_icemagic")
							 | 
						|||
| 
								 | 
							
									appendage.sq_AddFunctionName("onStart", "onStart_appendage_grab_icemagic")
							 | 
						|||
| 
								 | 
							
									appendage.sq_AddFunctionName("onEnd", "onEnd_appendage_grab_icemagic")
							 | 
						|||
| 
								 | 
							
									appendage.sq_AddFunctionName("isEnd", "isEnd_appendage_grab_icemagic")
							 | 
						|||
| 
								 | 
							
									appendage.sq_AddFunctionName("onDestroyObject", "onDestroyObject_appendage_grab_icemagic")
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function sq_AddEffect(appendage)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function proc_appendage_grab_icemagic(appendage)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!appendage)
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										return;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(!appendage.isValid())
							 | 
						|||
| 
								 | 
							
										return;
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
									local obj = appendage.getParent();	
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if (obj.getState() != STATE_HOLD && obj.getState() != STATE_DIE)
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										//  湍螳虽朝 渠鼻桧 HOLD陛 嬴栖贼
							 | 
						|||
| 
								 | 
							
										if (obj.isMyControlObject())
							 | 
						|||
| 
								 | 
							
										{
							 | 
						|||
| 
								 | 
							
											//  HOLD煎 瞪?
							 | 
						|||
| 
								 | 
							
											local pIntVec = sq_GetGlobalIntVector();
							 | 
						|||
| 
								 | 
							
											sq_IntVectorClear(pIntVec);
							 | 
						|||
| 
								 | 
							
											sq_IntVectorPush(pIntVec, Z_ACCEL_TYPE_CONST);
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											obj.addSetStatePacket(STATE_HOLD, pIntVec, STATE_PRIORITY_FORCE, false, "");
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											obj.flushSetStatePacket();
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function onDestroyObject_appendage_grab_icemagic(appendage, destroyObj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!appendage)
							 | 
						|||
| 
								 | 
							
										return true;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if (destroyObj == appendage.sq_GetSourceChrTarget())
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										appendage.setValid(false);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
									return true;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function onStart_appendage_grab_icemagic(appendage)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!appendage)
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										return;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									local obj = appendage.getParent();	
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if(!obj)
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										return;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									appendage.getVar().clear_vector();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									appendage.getVar().push_vector(0); // 0
							 | 
						|||
| 
								 | 
							
									appendage.getVar().push_vector(0); // 1
							 | 
						|||
| 
								 | 
							
									appendage.getVar().push_vector(0); // 2
							 | 
						|||
| 
								 | 
							
									appendage.getVar().push_vector(0); // 3
							 | 
						|||
| 
								 | 
							
									appendage.getVar().push_vector(0); // 4
							 | 
						|||
| 
								 | 
							
									appendage.getVar().push_vector(0); // 5
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									sq_SetCustomDamageType(obj, true, 1); // DAMAGETYPE_SUPERARMOR = 1
							 | 
						|||
| 
								 | 
							
									sq_SetGrabable(obj, false);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if (sq_IsValidActiveStatus(obj, ACTIVESTATUS_STUN))
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										//  STUN 勘溥毡戏贼 ?薯卫霁. STATE_STAND煎 给嬴陛虽 强啪 disable卫霁
							 | 
						|||
| 
								 | 
							
										obj.setEnableChangeState(false);
							 | 
						|||
| 
								 | 
							
										sq_IsSetActiveStatus(obj, ACTIVESTATUS_STUN, 0.0);
							 | 
						|||
| 
								 | 
							
										obj.setEnableChangeState(true);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									print("BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB");
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function prepareDraw_appendage_grab_icemagic(appendage)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!appendage) {
							 | 
						|||
| 
								 | 
							
										return;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//if (attacker_->getState() != CNFighter::STATE_SUPLEX)
							 | 
						|||
| 
								 | 
							
									//	return;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(!appendage.isValid())
							 | 
						|||
| 
								 | 
							
										return;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local attacker = appendage.sq_GetSourceChrTarget();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(!attacker)
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										appendage.setValid(false);
							 | 
						|||
| 
								 | 
							
										return;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if (attacker.getState() != STATE_ICEMAN)
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										appendage.setValid(false);
							 | 
						|||
| 
								 | 
							
										return;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(attacker.getState() == STATE_ICEMAN && attacker.getSkillSubState() == SUB_STATE_ICEMAN_4)
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										local frmIndex = sq_GetCurrentFrameIndex(attacker);
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if(frmIndex >= 6)
							 | 
						|||
| 
								 | 
							
										{
							 | 
						|||
| 
								 | 
							
											appendage.setValid(false);
							 | 
						|||
| 
								 | 
							
											return;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//print(" attacker.getSkillSubState():" + attacker.getSkillSubState());
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									local obj = appendage.getParent();	
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if(attacker.getState() == STATE_ICEMAN && attacker.getSkillSubState() == SUB_STATE_ICEMAN_3) // 陪颤翕蒙
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										//appendage.getVar().get_vector(0)
							 | 
						|||
| 
								 | 
							
										local isHit = false;
							 | 
						|||
| 
								 | 
							
										local frmIndex = sq_GetCurrentFrameIndex(attacker);
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if(frmIndex >= 1 && !appendage.getVar().get_vector(0))
							 | 
						|||
| 
								 | 
							
										{
							 | 
						|||
| 
								 | 
							
											isHit = true;
							 | 
						|||
| 
								 | 
							
											appendage.getVar().set_vector(0, 1);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										if(frmIndex >= 4 && !appendage.getVar().get_vector(1))
							 | 
						|||
| 
								 | 
							
										{
							 | 
						|||
| 
								 | 
							
											isHit = true;
							 | 
						|||
| 
								 | 
							
											appendage.getVar().set_vector(1, 1);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										if(frmIndex >= 8 && !appendage.getVar().get_vector(2))
							 | 
						|||
| 
								 | 
							
										{
							 | 
						|||
| 
								 | 
							
											isHit = true;
							 | 
						|||
| 
								 | 
							
											appendage.getVar().set_vector(2, 1);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										if(frmIndex >= 11 && !appendage.getVar().get_vector(3))
							 | 
						|||
| 
								 | 
							
										{
							 | 
						|||
| 
								 | 
							
											isHit = true;
							 | 
						|||
| 
								 | 
							
											appendage.getVar().set_vector(3, 1);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										if(frmIndex >= 16 && !appendage.getVar().get_vector(4))
							 | 
						|||
| 
								 | 
							
										{
							 | 
						|||
| 
								 | 
							
											isHit = true;
							 | 
						|||
| 
								 | 
							
											appendage.getVar().set_vector(4, 1);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if(isHit)
							 | 
						|||
| 
								 | 
							
										{
							 | 
						|||
| 
								 | 
							
											if(attacker.isMyControlObject())
							 | 
						|||
| 
								 | 
							
											{
							 | 
						|||
| 
								 | 
							
												print(" hit");
							 | 
						|||
| 
								 | 
							
												local h = (sq_GetObjectHeight(obj) / 2);
							 | 
						|||
| 
								 | 
							
												//sq_SendHitObjectPacket(attacker,obj,0,0,0);
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									// 桧 横?蛤虽 勘萼吃击 嫡嬴蚂棻
							 | 
						|||
| 
								 | 
							
									// 勘萼吃桧 ?营 HOLD 鼻鹧陛 嬴栖塭贼
							 | 
						|||
| 
								 | 
							
									if (obj.getState() != STATE_HOLD)
							 | 
						|||
| 
								 | 
							
										// 警蜗
							 | 
						|||
| 
								 | 
							
										return;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function onEnd_appendage_grab_icemagic(appendage)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!appendage)
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										return;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local obj = appendage.getParent();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//sq_SetCustomRotate(obj, 0.0);
							 | 
						|||
| 
								 | 
							
									sq_SetCustomDamageType(obj, false, 0); // DAMAGETYPE_NORMAL = 0
							 | 
						|||
| 
								 | 
							
									sq_SetGrabable(obj, true);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//CNSquirrelAppendage.sq_AppendAppendage(damager, pChr, SKILL_ICEMAN, 
							 | 
						|||
| 
								 | 
							
									//false, "Character/ATMage/IceMan/ap_ATIceManMagicCircle.nut", true);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//CNSquirrelAppendage.sq_RemoveAppendage(obj, "Character/ATMage/IceMan/ap_ATIceManMagicCircle.nut");
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(obj.isMyControlObject())
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										//sq_AddSetStatePacketActiveObject(obj, STATE_STAND, null, STATE_PRIORITY_USER);
							 | 
						|||
| 
								 | 
							
										//obj.sq_AddSetStatePacket(STATE_STAND, STATE_PRIORITY_USER, false);
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										//local pIntVec = sq_GetGlobalIntVector();
							 | 
						|||
| 
								 | 
							
										//sq_IntVectorClear(pIntVec);
							 | 
						|||
| 
								 | 
							
										//sq_IntVectorPush(pIntVec, obj.getDirection());
							 | 
						|||
| 
								 | 
							
										//sq_IntVectorPush(pIntVec, 0);
							 | 
						|||
| 
								 | 
							
										//sq_IntVectorPush(pIntVec, DOWN_PARAM_TYPE_FORCE);
							 | 
						|||
| 
								 | 
							
										//sq_IntVectorPush(pIntVec, 0);
							 | 
						|||
| 
								 | 
							
										//sq_IntVectorPush(pIntVec, 10);
							 | 
						|||
| 
								 | 
							
										//obj.addSetStatePacket(STATE_DOWN, pIntVec, STATE_PRIORITY_FORCE, false, "");
							 | 
						|||
| 
								 | 
							
										obj.addSetStatePacket(STATE_STAND, null, STATE_PRIORITY_FORCE, false, "");
							 | 
						|||
| 
								 | 
							
										obj.flushSetStatePacket();
							 | 
						|||
| 
								 | 
							
										print("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 横渐螳 陕撩 渗褐暧 部睡碟
							 | 
						|||
| 
								 | 
							
								function isEnd_appendage_grab_icemagic(appendage)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!appendage) return false;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local T = appendage.getTimer().Get();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return false;
							 | 
						|||
| 
								 | 
							
								} |