429 lines
		
	
	
		
			9.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			429 lines
		
	
	
		
			9.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function createIceSmallRing(obj, dx, dy, dz)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj)
							 | 
						|||
| 
								 | 
							
										return;
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
									local x = sq_GetXPos(obj) + dx;
							 | 
						|||
| 
								 | 
							
									local y = sq_GetYPos(obj) + dy;
							 | 
						|||
| 
								 | 
							
									local z = sq_GetZPos(obj) + dz;
							 | 
						|||
| 
								 | 
							
									local ani = 0;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									ani = sq_CreateAnimation("", "PassiveObject/Character/Mage/Animation/ATIceChakram/cast/04_schakra_normal.ani");
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local ring_obj = sq_CreatePooledObject(ani,false);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									ring_obj.setCurrentPos(x,y,z);
							 | 
						|||
| 
								 | 
							
									obj.getVar().push_obj_vector(ring_obj); // 罹晦怃 
							 | 
						|||
| 
								 | 
							
									sq_AddObject(obj, ring_obj, OBJECTTYPE_DRAWONLY, false);
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function procSmallRing(obj, currentT)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									local object_num = obj.getVar().get_obj_vector_size();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local i = 0;
							 | 
						|||
| 
								 | 
							
									local startLen = 140;
							 | 
						|||
| 
								 | 
							
									local endLen = 210;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local x = sq_GetXPos(obj);
							 | 
						|||
| 
								 | 
							
									local y = sq_GetYPos(obj);
							 | 
						|||
| 
								 | 
							
									local z = sq_GetZPos(obj);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									local size = 5;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									local sr_angle_l = [];
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									sr_angle_l.resize(size);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									sr_angle_l[0] = 90;
							 | 
						|||
| 
								 | 
							
									sr_angle_l[1] = 60;
							 | 
						|||
| 
								 | 
							
									sr_angle_l[2] = 120;
							 | 
						|||
| 
								 | 
							
									sr_angle_l[3] = 70;
							 | 
						|||
| 
								 | 
							
									sr_angle_l[4] = 110;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local sr_len_l =[];
							 | 
						|||
| 
								 | 
							
									sr_len_l.resize(size);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									sr_len_l[0] = 180;
							 | 
						|||
| 
								 | 
							
									sr_len_l[1] = 160;
							 | 
						|||
| 
								 | 
							
									sr_len_l[2] = 140;
							 | 
						|||
| 
								 | 
							
									sr_len_l[3] = 245;
							 | 
						|||
| 
								 | 
							
									sr_len_l[4] = 240;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									for(i = 0; i < object_num; i++)
							 | 
						|||
| 
								 | 
							
									{ // 绮 螃粽薛? 拥栖诡桧暮击 饵塭虽紫烟 ?朝 拥栖诡桧暮戏煎 赅舒 掖羹?棻..
							 | 
						|||
| 
								 | 
							
										local ringObj = obj.getVar().get_obj_vector(i);
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if(ringObj)
							 | 
						|||
| 
								 | 
							
										{
							 | 
						|||
| 
								 | 
							
											local angle = sr_angle_l[i%5];
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
											local len = sq_GetUniformVelocity(startLen, sr_len_l[i%5] + ((i/5)*10), currentT, 80);
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											local upMovLen = len * sq_SinTable(angle.tointeger());	
							 | 
						|||
| 
								 | 
							
											local lenMovLen = len * sq_CosTable(angle.tointeger());	
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											sq_setCurrentAxisPos(ringObj, 0, x + lenMovLen.tointeger());
							 | 
						|||
| 
								 | 
							
											//sq_setCurrentAxisPos(ringObj, 1, y + 1);
							 | 
						|||
| 
								 | 
							
											//print( " angle:" + angle + " index:" + i + " lenMovLen:" + lenMovLen);
							 | 
						|||
| 
								 | 
							
											sq_setCurrentAxisPos(ringObj, 2, upMovLen.tointeger());
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function procFireSmallRing(obj, currentT, maxT)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									local object_num = obj.getVar().get_obj_vector_size();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local i = 0;
							 | 
						|||
| 
								 | 
							
									local startLen = 180;
							 | 
						|||
| 
								 | 
							
									local endLen = 210;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									for(i = 0; i < object_num; i++)
							 | 
						|||
| 
								 | 
							
									{ // 绮 螃粽薛? 拥栖诡桧暮击 饵塭虽紫烟 ?朝 拥栖诡桧暮戏煎 赅舒 掖羹?棻..
							 | 
						|||
| 
								 | 
							
										local ringObj = obj.getVar().get_obj_vector(i);
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if(ringObj)
							 | 
						|||
| 
								 | 
							
										{
							 | 
						|||
| 
								 | 
							
											if(currentT > maxT)
							 | 
						|||
| 
								 | 
							
											{
							 | 
						|||
| 
								 | 
							
												if(obj.isMyControlObject())
							 | 
						|||
| 
								 | 
							
												{
							 | 
						|||
| 
								 | 
							
													local x_range = 600; //
							 | 
						|||
| 
								 | 
							
													local y_range = 300; //
							 | 
						|||
| 
								 | 
							
													local z_range = 100; //
							 | 
						|||
| 
								 | 
							
												
							 | 
						|||
| 
								 | 
							
													local pChr = obj.getTopCharacter();
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													local targetObj = getPriorityTarget(pChr, -40, x_range, y_range, z_range, obj.getVar("target"), false);
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													if(targetObj)
							 | 
						|||
| 
								 | 
							
													{
							 | 
						|||
| 
								 | 
							
														print( " find Target");
							 | 
						|||
| 
								 | 
							
														obj.getVar("target").push_obj_vector(targetObj);
							 | 
						|||
| 
								 | 
							
														obj.getVar("target").set_vector(0, 1);
							 | 
						|||
| 
								 | 
							
													}
							 | 
						|||
| 
								 | 
							
													else
							 | 
						|||
| 
								 | 
							
													{ // 嬴鼠匙紫 颤啃击 跤琼懊棻贼.. 锰楚 琼懊湍 颤啃桧 毡朝虽 羹觼?尔坚 毡棻贼 斜匙击 厥蝗栖棻.
							 | 
						|||
| 
								 | 
							
														local backTarget = obj.getVar("target").get_obj_vector(0);
							 | 
						|||
| 
								 | 
							
														print( " none find Target:" + backTarget);
							 | 
						|||
| 
								 | 
							
														
							 | 
						|||
| 
								 | 
							
														if(backTarget)
							 | 
						|||
| 
								 | 
							
														{
							 | 
						|||
| 
								 | 
							
															obj.getVar("target").push_obj_vector(backTarget);
							 | 
						|||
| 
								 | 
							
															obj.getVar("target").set_vector(0, 1);
							 | 
						|||
| 
								 | 
							
															
							 | 
						|||
| 
								 | 
							
															targetObj = backTarget;
							 | 
						|||
| 
								 | 
							
														}
							 | 
						|||
| 
								 | 
							
													}
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													local id = sq_GetObjectId(targetObj);
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
													//obj.getVar("chakram").clear_vector();
							 | 
						|||
| 
								 | 
							
													//obj.getVar("chakram").push_vector(createSmallRingNum);
							 | 
						|||
| 
								 | 
							
													//obj.getVar("chakram").push_vector(multiHitNum);
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													//local power = reciveData.readDword(); // 0.蒙擎 橡挤坚葬 棻钦?? 奢问溘(+)
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													local multiHitNum = obj.getVar("chakram").get_vector(1); // 1. 蒙擎 橡挤 坚葬 棻钦?? ?热
							 | 
						|||
| 
								 | 
							
													local power = obj.getVar("chakram").get_vector(2); // power
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													local x = sq_GetXPos(ringObj);
							 | 
						|||
| 
								 | 
							
													local y = sq_GetYPos(ringObj);
							 | 
						|||
| 
								 | 
							
													local z = sq_GetZPos(ringObj);
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													sq_BinaryStartWrite();
							 | 
						|||
| 
								 | 
							
													sq_BinaryWriteDword(id);
							 | 
						|||
| 
								 | 
							
													sq_BinaryWriteDword(multiHitNum);
							 | 
						|||
| 
								 | 
							
													sq_BinaryWriteDword(power);
							 | 
						|||
| 
								 | 
							
													//local moveMode = sq_getRandom(0, 2);
							 | 
						|||
| 
								 | 
							
													local moveMode = 0;
							 | 
						|||
| 
								 | 
							
													sq_BinaryWriteDword(moveMode);		
							 | 
						|||
| 
								 | 
							
													sq_SendCreatePassiveObjectPacketPos(pChr, 24258, 0, x, y, z);
							 | 
						|||
| 
								 | 
							
												}
							 | 
						|||
| 
								 | 
							
												
							 | 
						|||
| 
								 | 
							
												ringObj.setValid(false);
							 | 
						|||
| 
								 | 
							
												obj.getVar().remove_obj_vector(ringObj);
							 | 
						|||
| 
								 | 
							
												
							 | 
						|||
| 
								 | 
							
												return true;
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
											return false;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return false;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function pushSmallRingFireTarget(obj, firstTargetXStartRange, firstTargetXEndRange, firstTargetYRange, targetMaxHeight, pushMaxNum)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj)
							 | 
						|||
| 
								 | 
							
										return null;
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
									local objectManager = obj.getObjectManager();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if (objectManager == null)
							 | 
						|||
| 
								 | 
							
										return null;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									obj.getVar("target").clear_obj_vector();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									local i;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									for(i = 0; i < pushMaxNum; i++)
							 | 
						|||
| 
								 | 
							
									{ // 
							 | 
						|||
| 
								 | 
							
										local targetObj = getPriorityTarget(obj, firstTargetXStartRange, firstTargetXEndRange, firstTargetYRange, targetMaxHeight, obj.getVar("target"));
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										obj.getVar("target").push_obj_vector(targetObj);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function setCustomData_po_ATIceChakramSmallMgr(obj, reciveData)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//sq_BinaryWriteDword(createSmallRingNum); // 
							 | 
						|||
| 
								 | 
							
									//sq_BinaryWriteDword(multiHitNum); // 
							 | 
						|||
| 
								 | 
							
									//sq_BinaryWriteDword(power); // 
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local createSmallRingNum = reciveData.readDword(); // 0. 当撩肾朝 橡挤坚葬 偎热
							 | 
						|||
| 
								 | 
							
									local multiHitNum = reciveData.readDword(); // 1. 蒙擎 橡挤 坚葬 棻钦?? ?热		
							 | 
						|||
| 
								 | 
							
									local power = reciveData.readDword(); // 0.蒙擎 橡挤坚葬 棻钦?? 奢问溘(+)
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									obj.getVar("state").clear_vector(); // state vector
							 | 
						|||
| 
								 | 
							
									obj.getVar("state").push_vector(0);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									obj.getVar("flag").clear_timer_vector();
							 | 
						|||
| 
								 | 
							
									obj.getVar("flag").push_timer_vector();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									obj.getVar("flag").clear_vector();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									obj.getVar("chakram").clear_vector();
							 | 
						|||
| 
								 | 
							
									obj.getVar("chakram").push_vector(createSmallRingNum);
							 | 
						|||
| 
								 | 
							
									obj.getVar("chakram").push_vector(multiHitNum);
							 | 
						|||
| 
								 | 
							
									obj.getVar("chakram").push_vector(power);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									local i;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									for(i = 0; i < createSmallRingNum; i++)
							 | 
						|||
| 
								 | 
							
									{ // 
							 | 
						|||
| 
								 | 
							
										obj.getVar("flag").push_vector(0);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local object_num = obj.getVar("cl").get_obj_vector_size();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									obj.getVar().clear_ct_vector();
							 | 
						|||
| 
								 | 
							
									obj.getVar().push_ct_vector();	
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local t = obj.getVar().get_ct_vector(0);
							 | 
						|||
| 
								 | 
							
									t.Reset();
							 | 
						|||
| 
								 | 
							
									t.Start(10000,0);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									obj.getVar().clear_obj_vector();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									local t = obj.getVar("flag").get_timer_vector(0);
							 | 
						|||
| 
								 | 
							
									t.setParameter(50, 1);
							 | 
						|||
| 
								 | 
							
									t.resetInstant(0);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									obj.getVar("attack").clear_vector();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									obj.getVar().clear_vector();
							 | 
						|||
| 
								 | 
							
									obj.getVar().push_vector(90);
							 | 
						|||
| 
								 | 
							
									obj.getVar().push_vector(45);
							 | 
						|||
| 
								 | 
							
									obj.getVar().push_vector(135);
							 | 
						|||
| 
								 | 
							
									obj.getVar().push_vector(35);
							 | 
						|||
| 
								 | 
							
									obj.getVar().push_vector(155);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									local atk = sq_GetCurrentAttackInfo(obj);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(atk)
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										sq_SetCurrentAttackPower(atk, power);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(obj.isMyControlObject())
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										local pIntVec = sq_GetGlobalIntVector();
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										sq_IntVectorClear(pIntVec);
							 | 
						|||
| 
								 | 
							
										sq_IntVectorPush(pIntVec, 0);
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										obj.addSetStatePacket(PASSIVEOBJ_SUB_STATE_0, pIntVec, STATE_PRIORITY_AUTO, false, "");
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function destroy_po_ATIceChakramSmallMgr(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									destroyObject(obj);
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function setState_po_ATIceChakramSmallMgr(obj, state, datas)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local passiveState = state;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									obj.getVar("state").set_vector(0, passiveState);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									obj.getVar("flag").set_vector(VECTOR_FLAG_0, 0);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									initGetVarTimer(obj, 1, 400, 10);
							 | 
						|||
| 
								 | 
							
									obj.getVar("target").clear_obj_vector();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(passiveState == PASSIVEOBJ_SUB_STATE_0)
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										obj.getVar("target").clear_vector();
							 | 
						|||
| 
								 | 
							
										obj.getVar("target").push_vector(0);
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										local x = sq_GetXPos(obj);
							 | 
						|||
| 
								 | 
							
										local y = sq_GetYPos(obj);
							 | 
						|||
| 
								 | 
							
										local z = sq_GetZPos(obj);
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										//obj.getVar("chakram").push_vector(multiHitNum);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										local smallRingNum = obj.getVar("chakram").get_vector(0); // 0 createSmallRingNum
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										local i;
							 | 
						|||
| 
								 | 
							
										for(i = 0; i < smallRingNum; i++)
							 | 
						|||
| 
								 | 
							
										{		
							 | 
						|||
| 
								 | 
							
											createIceSmallRing(obj, 0, 1, 210);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										local t = obj.getVar().get_ct_vector(0);
							 | 
						|||
| 
								 | 
							
										t.Reset();
							 | 
						|||
| 
								 | 
							
										t.Start(10000,0);		
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(passiveState == PASSIVEOBJ_SUB_STATE_1)
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function procAppend_po_ATIceChakramSmallMgr(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local pChr = obj.getTopCharacter();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(!pChr)
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										if(obj.isMyControlObject())
							 | 
						|||
| 
								 | 
							
										{
							 | 
						|||
| 
								 | 
							
											sq_SendDestroyPacketPassiveObject(obj);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										return;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local chr_state = pChr.getState();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(chr_state != STATE_ICECHAKRAM)
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										if(obj.isMyControlObject())
							 | 
						|||
| 
								 | 
							
										{
							 | 
						|||
| 
								 | 
							
											sq_SendDestroyPacketPassiveObject(obj);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										return;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local objX = sq_GetXPos(obj);
							 | 
						|||
| 
								 | 
							
									local objY = sq_GetYPos(obj);
							 | 
						|||
| 
								 | 
							
									local objZ = sq_GetZPos(obj);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local state = obj.getVar("state").get_vector(0);
							 | 
						|||
| 
								 | 
							
									local passiveState = state;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(passiveState == 0)
							 | 
						|||
| 
								 | 
							
										return;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local t = obj.getVar().get_ct_vector(0);
							 | 
						|||
| 
								 | 
							
									local currentT = 0;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									currentT = t.Get();
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
									if(passiveState == PASSIVEOBJ_SUB_STATE_0)
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										local parentState = obj.sq_GetParentState();
							 | 
						|||
| 
								 | 
							
										local subState = obj.sq_GetParentSkillSubState();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
										procSmallRing(obj, currentT);
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if(parentState == STATE_ICECHAKRAM && subState == SUB_STATE_ICECHAKRAM_2)
							 | 
						|||
| 
								 | 
							
										{
							 | 
						|||
| 
								 | 
							
											if(obj.isMyControlObject())
							 | 
						|||
| 
								 | 
							
											{
							 | 
						|||
| 
								 | 
							
												local frmIndex = sq_GetCurrentFrameIndex(pChr);
							 | 
						|||
| 
								 | 
							
												if(frmIndex > 1)
							 | 
						|||
| 
								 | 
							
												{
							 | 
						|||
| 
								 | 
							
													local pIntVec = sq_GetGlobalIntVector();
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													sq_IntVectorClear(pIntVec);
							 | 
						|||
| 
								 | 
							
													sq_IntVectorPush(pIntVec, 0);
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													obj.addSetStatePacket(PASSIVEOBJ_SUB_STATE_1, pIntVec, STATE_PRIORITY_AUTO, false, "");
							 | 
						|||
| 
								 | 
							
												}
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(passiveState == PASSIVEOBJ_SUB_STATE_1)	
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										local result = procFireSmallRing(obj, currentT, 100);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										if(result == true)
							 | 
						|||
| 
								 | 
							
										{		
							 | 
						|||
| 
								 | 
							
											t.Reset();
							 | 
						|||
| 
								 | 
							
											t.Start(10000,0);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(passiveState == PASSIVEOBJ_SUB_STATE_2)	
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function onChangeSkillEffect_po_ATIceChakramSmallMgr(obj, skillIndex, reciveData)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function onDestroyObject_po_ATIceChakramSmallMgr(obj, object)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function onKeyFrameFlag_po_ATIceChakramSmallMgr(obj, flagIndex)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function onEndCurrentAni_po_ATIceChakramSmallMgr(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								 |