91 lines
2.2 KiB
Plaintext
91 lines
2.2 KiB
Plaintext
|
|
PIECE_OF_ICE_CORE_STATE_STAY <- 2;
|
|||
|
|
PIECE_OF_ICE_CORE_STATE_DAMAGE <- 3;
|
|||
|
|
PIECE_OF_ICE_CORE_STATE_END <- 4;
|
|||
|
|
|
|||
|
|
PIECE_OF_ICE_CORE_VAR_START_X <- 0;
|
|||
|
|
PIECE_OF_ICE_CORE_VAR_SHAKE_END_TIME <- 1;
|
|||
|
|
|
|||
|
|
function setCustomData_po_ATPieceOfIceCore(obj, reciveData)
|
|||
|
|
{
|
|||
|
|
if(!obj) return;
|
|||
|
|
|
|||
|
|
local var = obj.getVar();
|
|||
|
|
local x = obj.getXPos();
|
|||
|
|
var.setInt(PIECE_OF_ICE_CORE_VAR_START_X, x);
|
|||
|
|
var.push_ct_vector();
|
|||
|
|
local timer = var.get_ct_vector(0);
|
|||
|
|
obj.sendStateOnlyPacket(PIECE_OF_ICE_CORE_STATE_STAY);
|
|||
|
|
|
|||
|
|
var.setInt(PIECE_OF_ICE_CORE_VAR_SHAKE_END_TIME, 0);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function setState_po_ATPieceOfIceCore(obj, state, datas)
|
|||
|
|
{
|
|||
|
|
if(!obj) return;
|
|||
|
|
|
|||
|
|
if(state == PIECE_OF_ICE_CORE_STATE_DAMAGE)
|
|||
|
|
{
|
|||
|
|
local ani = obj.getCurrentAnimation();
|
|||
|
|
|
|||
|
|
local var = obj.getVar();
|
|||
|
|
if(ani) {
|
|||
|
|
local currentIndex = sq_GetVectorData(datas, 0) + 3;
|
|||
|
|
ani.setCurrentFrameWithChildLayer(currentIndex);
|
|||
|
|
}
|
|||
|
|
local timer = var.get_ct_vector(0);
|
|||
|
|
var.setInt(PIECE_OF_ICE_CORE_VAR_SHAKE_END_TIME, timer.Get() + 50);
|
|||
|
|
sq_SetMyShake(obj,2,80);
|
|||
|
|
}
|
|||
|
|
else if(state == PIECE_OF_ICE_CORE_STATE_END)
|
|||
|
|
{
|
|||
|
|
local ani = obj.getCurrentAnimation();
|
|||
|
|
|
|||
|
|
if(ani)
|
|||
|
|
ani.setCurrentFrameWithChildLayer(10); // 葆虽虞 ?溯歜
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function procAppend_po_ATPieceOfIceCore(obj)
|
|||
|
|
{
|
|||
|
|
if(!obj) return;
|
|||
|
|
|
|||
|
|
local var = obj.getVar();
|
|||
|
|
local timer = var.get_ct_vector(0);
|
|||
|
|
|
|||
|
|
local shakeEndTime = var.getInt(PIECE_OF_ICE_CORE_VAR_SHAKE_END_TIME);
|
|||
|
|
local shakeValue = 0;
|
|||
|
|
if(timer.Get() < shakeEndTime && obj.getState() != PIECE_OF_ICE_CORE_STATE_END)
|
|||
|
|
shakeValue = (sq_GetShuttleValue(0, 6,sq_GetObjectTime(obj),100)-3);
|
|||
|
|
|
|||
|
|
local x = var.getInt(PIECE_OF_ICE_CORE_VAR_START_X) + shakeValue;
|
|||
|
|
local y = obj.getYPos();
|
|||
|
|
local z = sq_GetShuttleValue(55, 65,sq_GetObjectTime(obj),1200);
|
|||
|
|
|
|||
|
|
sq_SetCurrentPos(obj, x, y, z);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function onKeyFrameFlag_po_ATPieceOfIceCore(obj, flagIndex)
|
|||
|
|
{
|
|||
|
|
if(!obj)
|
|||
|
|
return false;
|
|||
|
|
|
|||
|
|
if(flagIndex == 1)
|
|||
|
|
{
|
|||
|
|
sq_SetMyShake(obj,3,100);
|
|||
|
|
}
|
|||
|
|
if(flagIndex == 2)
|
|||
|
|
{
|
|||
|
|
obj.sendStateOnlyPacket(PIECE_OF_ICE_CORE_STATE_END);
|
|||
|
|
}
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function onEndCurrentAni_po_ATPieceOfIceCore(obj)
|
|||
|
|
{
|
|||
|
|
if(!obj) return;
|
|||
|
|
|
|||
|
|
if(obj.isMyControlObject()) {
|
|||
|
|
sq_SendDestroyPacketPassiveObject(obj);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|