111
This commit is contained in:
74
character/atmage/pushout/ap_pushout.nut
Normal file
74
character/atmage/pushout/ap_pushout.nut
Normal file
@@ -0,0 +1,74 @@
|
||||
|
||||
function sq_AddFunctionName(appendage)
|
||||
{
|
||||
appendage.sq_AddFunctionName("proc", "proc_appendage_PushOut")
|
||||
appendage.sq_AddFunctionName("onStart", "onStart_appendage_PushOut")
|
||||
appendage.sq_AddFunctionName("onEnd", "onEnd_appendage_PushOut")
|
||||
}
|
||||
|
||||
function sq_AddEffect(appendage)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
function proc_appendage_PushOut(appendage)
|
||||
{
|
||||
if(!appendage || !appendage.isValid()) {
|
||||
return;
|
||||
}
|
||||
|
||||
local parentObj = appendage.getParent();
|
||||
local sourceObj = appendage.getSource();
|
||||
|
||||
if(!sourceObj || !parentObj) {
|
||||
appendage.setValid(false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (parentObj.getState() == STATE_HOLD)
|
||||
{
|
||||
if (parentObj.getState() == STATE_HOLD && !sq_IsInCategory(parentObj,CATEGORY_ETC_FIXTURE))
|
||||
{
|
||||
// 虽姜胀 寞?渠煎 鬼薯 瞪?
|
||||
parentObj.setCurrentDirection(sq_GetOppositeDirection(sourceObj.getDirection()));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// ?萄卫郦晦
|
||||
if (parentObj.isMyControlObject() && parentObj.getState() != STATE_DIE && !parentObj.isDead())
|
||||
{
|
||||
sq_IntVectorClear(sq_GetGlobalIntVector());
|
||||
sq_IntVectorPush(sq_GetGlobalIntVector(),0);
|
||||
sq_IntVectorPush(sq_GetGlobalIntVector(),0);
|
||||
sq_AddSetStatePacketActiveObject(parentObj,STATE_HOLD, sq_GetGlobalIntVector(), STATE_PRIORITY_FORCE);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function onEnd_appendage_PushOut(appendage)
|
||||
{
|
||||
if(!appendage) {
|
||||
return;
|
||||
}
|
||||
|
||||
local parentObj = appendage.getParent();
|
||||
|
||||
if(!parentObj) {
|
||||
appendage.setValid(false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (parentObj.getState() == STATE_HOLD) {
|
||||
appendage.setValid(false);
|
||||
parentObj.sendStateOnlyPacket(STATE_STAND);
|
||||
}
|
||||
|
||||
//local ao = sq_GetCNRDObjectToActiveObject(parentObj);
|
||||
//if(ao && sq_IsMyControlObject(ao) && !ao.isMovablePos(ao.getXPos(),ao.getYPos())) {
|
||||
//sq_SimpleMoveToNearMovablePos(ao,100); // 桧翕碳陛 虽羲缣 毡棻贼 桧翕陛栋虽羲戏煎 桧翕
|
||||
//}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user