111
This commit is contained in:
86
passiveobject/character/priest/po_pendemoniumexdevil.nut
Normal file
86
passiveobject/character/priest/po_pendemoniumexdevil.nut
Normal file
@@ -0,0 +1,86 @@
|
||||
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);
|
||||
}
|
||||
Reference in New Issue
Block a user