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 羹觼
 | ||
| 	}
 | ||
| }
 | ||
|  |