87 lines
2.3 KiB
Plaintext
87 lines
2.3 KiB
Plaintext
|
|
PEND_EX_PO_IS_MOVING <- 0;
|
||
|
|
PEND_EX_PO_POS_X <- 1;
|
||
|
|
PEND_EX_PO_SPEED <- 2;
|
||
|
|
PEND_EX_MOVE_MAX <- 3;
|
||
|
|
|
||
|
|
function setCustomData_po_PandemoniumEx(obj,reciveData)
|
||
|
|
{
|
||
|
|
local scale = reciveData.readWord();
|
||
|
|
local speed = reciveData.readWord();
|
||
|
|
local maxTime = reciveData.readWord();
|
||
|
|
local maxDistance = reciveData.readWord();
|
||
|
|
local dmg = reciveData.readDword();
|
||
|
|
|
||
|
|
local posX = obj.getXPos();
|
||
|
|
|
||
|
|
local pAttack = sq_GetCurrentAttackInfo(obj);
|
||
|
|
sq_SetCurrentAttackBonusRate(pAttack, dmg);
|
||
|
|
|
||
|
|
//scale 暧 彰嫔朝 0~4 0桧贼 蒙擎 饵桧锷 斜桧谖缚 赎饵桧锷
|
||
|
|
local ani = obj.getCurrentAnimation();
|
||
|
|
local addAni = null;
|
||
|
|
if(scale == 0) {
|
||
|
|
obj.setCurrentAnimation(obj.getCustomAnimation(1));
|
||
|
|
ani = obj.getCurrentAnimation();
|
||
|
|
addAni = obj.getCustomAnimation(2);
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
addAni = obj.getCustomAnimation(0);
|
||
|
|
}
|
||
|
|
|
||
|
|
if(ani && addAni)
|
||
|
|
ani.addLayerAnimation(2,addAni,false);
|
||
|
|
|
||
|
|
if(ani)
|
||
|
|
ani.setFrameDelay(4,maxTime,true);
|
||
|
|
|
||
|
|
|
||
|
|
obj.sq_var.setBool(PEND_EX_PO_IS_MOVING,false);
|
||
|
|
obj.sq_var.setInt(PEND_EX_PO_POS_X, posX);
|
||
|
|
obj.sq_var.setInt(PEND_EX_PO_SPEED, speed);
|
||
|
|
obj.sq_var.setInt(PEND_EX_MOVE_MAX, maxDistance);
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
function procAppend_po_PandemoniumEx(obj)
|
||
|
|
{
|
||
|
|
if(obj.sq_var.getBool(PEND_EX_PO_IS_MOVING))
|
||
|
|
{
|
||
|
|
local currentTime = obj.sq_var.get_ct_vector(0);
|
||
|
|
local posX = obj.getXPos();
|
||
|
|
local posY = obj.getYPos();
|
||
|
|
local posZ = obj.getZPos();
|
||
|
|
local speed = obj.sq_var.getInt(PEND_EX_PO_SPEED);
|
||
|
|
local maxDistanceX = obj.sq_var.getInt(PEND_EX_MOVE_MAX);
|
||
|
|
|
||
|
|
local startPosX = obj.sq_var.getInt(PEND_EX_PO_POS_X);
|
||
|
|
local distanceX = sq_GetUniformVelocity(0, speed, currentTime.Get(), maxDistanceX);
|
||
|
|
|
||
|
|
posX = sq_GetDistancePos(startPosX, obj.getDirection(), distanceX);
|
||
|
|
obj.setCurrentPos(posX, posY, posZ);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
function onKeyFrameFlag_po_PandemoniumEx(obj,flagIndex)
|
||
|
|
{
|
||
|
|
if(flagIndex == 0) {
|
||
|
|
//if(obj.sq_isMyControlObject()) // 霞翕,廓翻 桧??朝 釭缣啪虏 尔樯棻.
|
||
|
|
// obj.sq_setShake(obj,3,150);
|
||
|
|
obj.sq_var.push_ct_vector();
|
||
|
|
local currentTime = obj.sq_var.get_ct_vector(0);
|
||
|
|
|
||
|
|
currentTime.Start(9999999,0);
|
||
|
|
|
||
|
|
obj.sq_var.setBool(PEND_EX_PO_IS_MOVING,true);
|
||
|
|
|
||
|
|
|
||
|
|
//sq_SendDestroyPacketPassiveObject(obj);
|
||
|
|
|
||
|
|
}
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
function onEndCurrentAni_po_PandemoniumEx(obj)
|
||
|
|
{
|
||
|
|
sq_SendDestroyPacketPassiveObject(obj);
|
||
|
|
}
|