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