DNF/sqr/character/priest/awakenningturnoff.nut

165 lines
4.6 KiB
Plaintext
Raw Normal View History

2024-03-30 00:19:16 +08:00
// state蒂 撮??坚 籀挤戏煎 菟横螃啪 腌栖棻. 陕谦 葬模蝶蒂 撮??栖棻.
function onSetState_AwakenningTurnOff(obj, state, datas, isResetTimer)
{
if(!obj) return;
local substate = obj.sq_getVectorData(datas, 0); // 罗廓箪 substate殓栖棻..
obj.setSkillSubState(substate); //set substate
obj.sq_stopMove();
local posX = obj.getXPos();
local posY = obj.getYPos();
local posZ = obj.getZPos();
local sq_var = obj.getVar();
if(obj.getVar("takingAwakenSkillBack").size_vector() > 0) {
obj.getVar("takingAwakenSkillBack").set_vector(0, 0);
}
sq_var.clear_vector();
sq_var.push_vector(0);
local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_awakening.nut");
if(appendage) {
if(appendage.isValid()) {
appendage.setValid(false);
}
// 葬橡 寨葬萄 ?楚斜煎 噩 詹帼殓栖棻.. 谒 桧楛冲桧 腑傍贼..
// 横渐荡陛 state_stand鼻鹧缣怃虏 渗褐?薯陛 肾横捡 ?栖棻
// 斜楚怃 valid陛 false陛 胀棻坚 ?怃 埠潍 渗褐?薯 腑棻坚 除舆?怃朝 寰腌栖棻 罹楝寞彻击 当陕?鱼 念娄 桧 寞彻桧 陛潍 梃莠?剪 伪嬴怃 殓栖棻..
// 该 噙桧朝 够紫 桡戏栖梱
appendage.sq_var.set_vector(I_AVENGER_AWAKENING_VALID, 0);
obj.setObjectHeight(-1);
}
if(substate == 0) {
//obj.sq_setCurrentAnimation(CUSTOM_ANI_AWAKENING_TURN_OFF);
local turn_off_ani = obj.getVar().GetAnimationMap("AWAKENING_TURN_OFF", "Character/Priest/Animation/AwakeningTurnoff.ani"); // 蝶监嬴夥颤 阳侥缣 谖睡缣怃 拥栖诡桧暮击 陛虽坚 谛捡 ?栖棻..
obj.setCurrentAnimation(turn_off_ani);
}
else if(substate == 1) {
obj.sq_setCurrentAnimation(CUSTOM_ANI_AWAKENING_TURN_OFF_2);
//if(sq_var.get_vector(0) == 0) {
// sq_var.set_vector(0, 1);
//才嬴釭 嵘葬枭虽朝 ?娄
local particleCreater = sq_var.GetparticleCreaterMap("BellatrixGlass", "Character/Priest/Effect/Particle/AwakeningTurnOff.ptl", obj);
particleCreater.Restart(0);
//local dstX = sq_GetDistancePos(posX, obj.getDirection(), -20);
particleCreater.SetPos(posX, posY + 2, posZ+70);
sq_AddParticleObject(obj, particleCreater);
//}
}
}
// prepareDraw ?热 殓栖棻..
function prepareDraw_AwakenningTurnOff(obj)
{
if(!obj) return;
}
// loop 睡碟殓栖棻 ismycontrol煎 马谆虽 强擎 翱念胀 赅苌 object菟桧 桧够击 剪纂啪腌栖棻.
function onProc_AwakenningTurnOff(obj)
{
if(!obj) return;
local substate = obj.getSkillSubState();
local posX = obj.getXPos();
local posY = obj.getYPos();
local posZ = obj.getZPos();
local pAni = obj.sq_getCurrentAni();
local frmIndex = obj.sq_ani_GetCurrentFrameIndex(pAni);
local currentT = sq_GetCurrentTime(pAni);
local sq_var = obj.getVar();
}
// loop 睡碟殓栖棻 ismycontrol ?蝶?陛 狱樯桧 object陛 桧够击 菟横骨栖棻. setstate 撮?桧釭 ?卫粽螃粽薛? 当撩 , 蛔蛔 籀葬?栖棻.
function onProcCon_AwakenningTurnOff(obj)
{
if(!obj) return;
local substate = obj.getSkillSubState();
local pAni = obj.sq_getCurrentAni();
local bEnd = obj.sq_ani_IsEnd(pAni);
local frmIndex = obj.sq_ani_GetCurrentFrameIndex(pAni);
local substate = obj.getSkillSubState();
if(bEnd) {
if(substate == 0) {
obj.sq_IntVectClear();
obj.sq_IntVectPush(1);
obj.sq_addSetStatePacket(STATE_AWAKENING_TURN_OFF, STATE_PRIORITY_USER, true);
}
else if(substate == 1) {
obj.setObjectHeight(-1);
obj.sq_addSetStatePacket(STATE_STAND, STATE_PRIORITY_USER, false);
}
}
}
// irdcharacter缣怃 setstate() -> IRDActiveObject::setState -> aftersetstate() 桧楛牖怃缣怃 葆虽虞 setstate殓栖棻. skill?撩缣 评塭怃 ?轿? ?蹂陛
// 毡棻贼 桧 ?热蒂 桧辨?栖棻.
function onAfterSetState_AwakenningTurnOff(obj, state, datas, isResetTimer)
{
if(!obj) return;
}
// onbeforeattack 属寥?热 殓栖棻
function onBeforeAttack_AwakenningTurnOff(obj, damager, boundingBox)
{
}
// onAttack 属寥?热 殓栖棻
function onAttack_AwakenningTurnOff(obj, damager, boundingBox)
{
}
// onAfterAttack 属寥?热 殓栖棻
function onAfterAttack_AwakenningTurnOff(obj, damager, boundingBox)
{
}
// onBeforeDamage 属寥?热 殓栖棻
function onBeforeDamage_AwakenningTurnOff(obj, attacker, boundingBox)
{
}
// onDamage 属寥?热 殓栖棻
function onDamage_AwakenningTurnOff(obj, attacker, boundingBox)
{
}
// onAfterDamage 属寥?热 殓栖棻
function onAfterDamage_AwakenningTurnOff(obj, attacker, boundingBox)
{
}