106 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			106 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								POI_CUSTOM_ANI_SMALL_ICE	<- 0;
							 | 
						|||
| 
								 | 
							
								POI_CUSTOM_ANI_SMOKE		<- 1;
							 | 
						|||
| 
								 | 
							
								POI_CUSTOM_ANI_DODGE		<- 2;
							 | 
						|||
| 
								 | 
							
								POI_CUSTOM_ANI_SMALL_DODGE	<- 3;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								PIECE_OF_ICE_EXPLOSION <- 2;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function setCustomData_po_ATPieceOfIce(obj, reciveData)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									local isSmall = reciveData.readWord() < 2;
							 | 
						|||
| 
								 | 
							
									local horizonAngle = reciveData.readFloat(); //谢办 彰嫔
							 | 
						|||
| 
								 | 
							
									local verticalAngle = reciveData.readFloat(); //鼻? 彰嫔
							 | 
						|||
| 
								 | 
							
									local lifeTime = reciveData.readWord();
							 | 
						|||
| 
								 | 
							
									local attackPower = 0;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local mage = obj.getTopCharacter();
							 | 
						|||
| 
								 | 
							
									mage = sq_ObjectToSQRCharacter(mage);	
							 | 
						|||
| 
								 | 
							
									if (mage) {
							 | 
						|||
| 
								 | 
							
										attackPower = mage.sq_GetBonusRateWithPassive(SKILL_PIECE_OF_ICE , STATE_PIECE_OF_ICE, 0, 1.0);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
									obj.sq_SetMoveParticle("Particle/ATPieceOfice.ptl", horizonAngle.tofloat(), verticalAngle.tofloat());
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local iceAni;
							 | 
						|||
| 
								 | 
							
									if(isSmall)	
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										obj.setCurrentAnimation(obj.getCustomAnimation(POI_CUSTOM_ANI_SMALL_ICE));
							 | 
						|||
| 
								 | 
							
										iceAni = obj.getCurrentAnimation();		
							 | 
						|||
| 
								 | 
							
												
							 | 
						|||
| 
								 | 
							
										local dodge = sq_CreateAnimation("PassiveObject/Character/Mage/Animation/ATPieceOfIce/","06_piece_dodge_1.ani");
							 | 
						|||
| 
								 | 
							
										iceAni.addLayerAnimation(1,dodge,true);// 游虽		
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
									{		
							 | 
						|||
| 
								 | 
							
										iceAni = obj.getCurrentAnimation();			
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										local dodge = sq_CreateAnimation("PassiveObject/Character/Mage/Animation/ATPieceOfIce/","06_piece_dodge.ani");
							 | 
						|||
| 
								 | 
							
										iceAni.addLayerAnimation(1,dodge,true);// 游虽	
							 | 
						|||
| 
								 | 
							
									}	
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									sq_SetCustomRotate(obj,sq_ToRadian(-horizonAngle.tofloat()/3.0));	
							 | 
						|||
| 
								 | 
							
									obj.setTimeEvent(0,lifeTime,1,false);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), attackPower);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function setState_po_ATPieceOfIce(obj, state, datas)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(state == PIECE_OF_ICE_EXPLOSION) {
							 | 
						|||
| 
								 | 
							
										obj.sq_RemoveMoveParticle();
							 | 
						|||
| 
								 | 
							
										local explosionAni = obj.getCustomAnimation(POI_CUSTOM_ANI_SMOKE);		
							 | 
						|||
| 
								 | 
							
										obj.setCurrentAnimation(explosionAni);		
							 | 
						|||
| 
								 | 
							
									}	
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function procAppend_po_ATPieceOfIce(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(obj.isMyControlObject())
							 | 
						|||
| 
								 | 
							
									{	
							 | 
						|||
| 
								 | 
							
										local mage = obj.getTopCharacter();
							 | 
						|||
| 
								 | 
							
										mage = sq_ObjectToSQRCharacter(mage);	
							 | 
						|||
| 
								 | 
							
										if (mage) {
							 | 
						|||
| 
								 | 
							
											if(!mage.isMovablePos(obj.getXPos(), obj.getYPos()))
							 | 
						|||
| 
								 | 
							
												obj.sendStateOnlyPacket(PIECE_OF_ICE_EXPLOSION);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								}		
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function onTimeEvent_po_ATPieceOfIce(obj, timeEventIndex, timeEventCount)
							 | 
						|||
| 
								 | 
							
								{		
							 | 
						|||
| 
								 | 
							
									if(!obj)
							 | 
						|||
| 
								 | 
							
										return false;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if(timeEventIndex == 0)
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										obj.sendStateOnlyPacket(PIECE_OF_ICE_EXPLOSION);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
										return true; // true贼 属寥 酝钦
							 | 
						|||
| 
								 | 
							
									}	
							 | 
						|||
| 
								 | 
							
									return false;	
							 | 
						|||
| 
								 | 
							
								} 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function onEndCurrentAni_po_ATPieceOfIce(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(obj.isMyControlObject())
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										sq_SendDestroyPacketPassiveObject(obj); // 顶睡缣怃 ismycontrol 羹觼
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								 |