Sqr/character/atmage/jumpattack/jump_attack.nut

103 lines
4.0 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// state蒂 撮??坚 籀挤戏煎 菟横螃啪 腌栖棻. 陕谦 葬模蝶蒂 撮??栖棻.
function onSetState_JumpAttack(obj, state, datas, isResetTimer)
{
if (!obj) return;
}
function onAfterSetState_JumpAttack(obj, state, datas, isResetTimer)
{
if (!obj) return;
local iceElementalAttackSkillLevel = obj.sq_GetSkillLevel(SKILL_ICE_ELEMENTAL_ATTACK);
if (state == STATE_JUMP_ATTACK && iceElementalAttackSkillLevel <= 0)
{
// ?颤 桧??蒂 称樯棻.
// 勘溥毡朝 帼? 蝶鉴 樯策蝶 塽 怃粽 蝶才桧?缣 评塭怃 尔罹虽朝 桧??陛 棻荤 (楼撩缣评塭怃 称朝 桧??陛 棻荤)
local element = obj.getThrowElement();
local attackIndex = obj.getAttackIndex();
local appendage = obj.GetSquirrelAppendage("Character/ATMage/ElementalChange/ap_ATMage_Elemental_Change.nut");
if (!appendage || !appendage.isValid())
element = ENUM_ELEMENT_NONE;
if (element == ENUM_ELEMENT_FIRE)
{
obj.sq_AddStateLayerAnimation(1, obj.sq_CreateCNRDAnimation("Effect/Animation/ATJumpAttack/fire/attack1_fire_normal.ani"), 0, 0);
obj.sq_AddStateLayerAnimation(2, obj.sq_CreateCNRDAnimation("Effect/Animation/ATJumpAttack/fire/attack1_fire_dodge.ani"), 0, 0);
}
else if (element == ENUM_ELEMENT_WATER)
{
obj.sq_AddStateLayerAnimation(1, obj.sq_CreateCNRDAnimation("Effect/Animation/ATJumpAttack/water/attack1_water_normal.ani"), 0, 0);
obj.sq_AddStateLayerAnimation(2, obj.sq_CreateCNRDAnimation("Effect/Animation/ATJumpAttack/water/attack1_water_dodge.ani"), 0, 0);
}
else if (element == ENUM_ELEMENT_DARK)
{
obj.sq_AddStateLayerAnimation(1, obj.sq_CreateCNRDAnimation("Effect/Animation/ATJumpAttack/dark/attack1_dark_normal.ani"), 0, 0);
obj.sq_AddStateLayerAnimation(2, obj.sq_CreateCNRDAnimation("Effect/Animation/ATJumpAttack/dark/attack1_dark_dodge.ani"), 0, 0);
}
else if (element == ENUM_ELEMENT_LIGHT)
{
obj.sq_AddStateLayerAnimation(1, obj.sq_CreateCNRDAnimation("Effect/Animation/ATJumpAttack/light/attack1_light_normal.ani"), 0, 0);
obj.sq_AddStateLayerAnimation(2, obj.sq_CreateCNRDAnimation("Effect/Animation/ATJumpAttack/light/attack1_light_dodge.ani"), 0, 0);
}
else if (element == ENUM_ELEMENT_NONE)
{
obj.sq_AddStateLayerAnimation(1, obj.sq_CreateCNRDAnimation("Effect/Animation/ATJumpAttack/attack1_none_normal.ani"), 0, 0);
obj.sq_AddStateLayerAnimation(2, obj.sq_CreateCNRDAnimation("Effect/Animation/ATJumpAttack/attack1_none_dodge.ani"), 0, 0);
}
}
}
// 奢问卫 葆彻 掘羹蒂 当撩?棻.
function onKeyFrameFlag_JumpAttack(obj, flagIndex)
{
if(!obj)
return false;
if (obj.sq_IsMyControlObject() && (flagIndex == 1 || flagIndex == 2))
{
local xPos = 29, zPos = 54;
if (flagIndex == 2)
{
xPos = 32, zPos = 76;
}
// 葆彻掘羹蒂 当撩?棻.
createMiniMagicCircle(obj, xPos, zPos, 1, 0); // direction 0:姜贼 1:渠陕摹 2:?钦
if (obj.getDirection() == ENUM_DIRECTION_LEFT)
xPos = -xPos;
local element = obj.getThrowElement();
local effectFile = "Character/Mage/Effect/Animation/ATJumpAttack/attack1_none_dodge_obj.ani";
if (element == ENUM_ELEMENT_FIRE)
effectFile = "Character/Mage/Effect/Animation/ATJumpAttack/fire/attack1_fire_dodge_obj.ani";
else if (element == ENUM_ELEMENT_WATER)
effectFile = "Character/Mage/Effect/Animation/ATJumpAttack/water/attack1_water_dodge_obj.ani";
else if (element == ENUM_ELEMENT_DARK)
effectFile = "Character/Mage/Effect/Animation/ATJumpAttack/dark/attack1_dark_dodge_obj.ani";
else if (element == ENUM_ELEMENT_LIGHT)
effectFile = "Character/Mage/Effect/Animation/ATJumpAttack/light/attack1_light_dodge_obj.ani";
createAnimationPooledObject(obj, effectFile, true, obj.getXPos() + xPos, obj.getYPos() + 1, obj.getZPos() + zPos);
local attackIndex = 0;
playSoundForAtmageAttack(obj, element, attackIndex);
}
else if (flagIndex == 10)
{
// 热樯羹蒂 寡锡击阳, 奢酝缣怃 阳葬贼 瞳桧 2渠蒂 蜃啪脾
obj.resetHitObjectList();
}
return true;
}