Sqr/character/atmage/tundrasoul/ap_atmage_tundrasoul.nut

266 lines
6.9 KiB
Plaintext

////////////////////////////////////////////////////////////////////
function enableAuraEffect_AuraTundraSoul(appendage, target)
{
//print(" auratundra");
local isAppend = CNSquirrelAppendage.sq_IsAppendAppendage(target, "Character/ATMage/TundraSoul/ap_ATMage_TundraSoulCS.nut");
print( "isAppend:" + isAppend);
local parentObject = appendage.getParent();
local parentObj = sq_ObjectToSQRCharacter(parentObject);
if(!parentObj)
return;
if(isAppend)
{
if(sq_IsValidActiveStatus(target, ACTIVESTATUS_FREEZE) || !parentObj.isInBattle())
{
CNSquirrelAppendage.sq_RemoveAppendage(target, "Character/ATMage/TundraSoul/ap_ATMage_TundraSoulCS.nut");
}
return;
}
local appendage = CNSquirrelAppendage.sq_AppendAppendage(target, parentObj, SKILL_TUNDRASOUL, false,
"Character/ATMage/TundraSoul/ap_ATMage_TundraSoulCS.nut", true);
local skillLevel = parentObj.sq_GetSkillLevel(SKILL_TUNDRASOUL);
// 0.橡晦梱虽 勘葬朝 卫除 1.彩念溯涟 2.彩念?徽 3.彩念卫除 4.橡横毡朝 瞳 跷陛 等嘐虽
local frozenWaitTime = parentObj.sq_GetLevelData(SKILL_TUNDRASOUL, 0, skillLevel); // 0.橡晦梱虽 勘葬朝 卫除
local frozenLevel = parentObj.sq_GetLevelData(SKILL_TUNDRASOUL, 1, skillLevel); // 1.彩念溯涟
local frozenRate = parentObj.sq_GetLevelData(SKILL_TUNDRASOUL, 2, skillLevel); // 2.彩念?徽
local frozenTime = parentObj.sq_GetLevelData(SKILL_TUNDRASOUL, 3, skillLevel); // 3.彩念卫除
local frozenAddDamageRate = parentObj.sq_GetLevelData(SKILL_TUNDRASOUL, 4, skillLevel); // 4.橡横毡朝 瞳 跷陛 等嘐虽
appendage.getVar("skl").clear_vector();
appendage.getVar("skl").push_vector(frozenWaitTime);
appendage.getVar("skl").push_vector(frozenLevel);
appendage.getVar("skl").push_vector(frozenRate);
appendage.getVar("skl").push_vector(frozenTime);
appendage.getVar("skl").push_vector(frozenAddDamageRate);
}
function disableAuraEffect_AuraTundraSoul(appendage, target)
{
if(!sq_IsValidActiveStatus(target, ACTIVESTATUS_FREEZE))
{
CNSquirrelAppendage.sq_RemoveAppendage(target, "Character/ATMage/TundraSoul/ap_ATMage_TundraSoulCS.nut");
}
//print(" disable");
}
function isInAuraRange_AuraTundraSoul(appendage, target)
{
//print(" \n aa:" + target);
if(sq_IsValidActiveStatus(target, ACTIVESTATUS_FREEZE))
{
local isAppend = CNSquirrelAppendage.sq_IsAppendAppendage(target, "Character/ATMage/TundraSoul/ap_ATMage_TundraSoulCS.nut");
if(isAppend)
{
//CNSquirrelAppendage.sq_RemoveAppendage(target, "Character/ATMage/TundraSoul/ap_ATMage_TundraSoulCS.nut");
}
return false;
}
if(!sq_IsInBattle())
return false;
return true;
}
////////////////////////////////////////////////////////////////////
function sq_AddFunctionName(appendage)
{
appendage.sq_AddFunctionName("proc", "proc_appendage_atmage_tundrasoul")
appendage.sq_AddFunctionName("prepareDraw", "prepareDraw_appendage_atmage_tundrasoul")
appendage.sq_AddFunctionName("onStart", "onStart_appendage_atmage_tundrasoul")
appendage.sq_AddFunctionName("onEnd", "onEnd_appendage_atmage_tundrasoul")
appendage.sq_AddFunctionName("isEnd", "isEnd_appendage_atmage_tundrasoul")
appendage.sq_AddFunctionName("onSetHp", "onSetHp_appendage_atmage_tundrasoul")
}
function sq_AddEffect(appendage)
{
}
function proc_appendage_atmage_tundrasoul(appendage)
{
if(!appendage) {
return;
}
local parentObj = appendage.getParent();
local currentT = appendage.getTimer().Get();
local rebirthTime_ = appendage.sq_var.get_vector(VECTOR_I_REBIRTH_TIME);
if(!parentObj)
{
appendage.setValid(false);
return;
}
local parentChr = sq_GetCNRDObjectToSQRCharacter(parentObj);
if(!parentChr)
{
appendage.setValid(false);
return;
}
local skill = sq_GetSkill(parentChr, SKILL_TUNDRASOUL);
if(skill)
{
local auraAppendage = 0;
local appendage = CNSquirrelAppendage.sq_GetAppendage(parentChr, "Character/ATMage/TundraSoul/ap_ATMage_TundraSoul.nut");
if(appendage)
{
auraAppendage = appendage.sq_getSquirrelAuraMaster("AuraTundraSoul");
}
if(!parentChr.isInBattle())
{ // 瞪潍酝桧 嬴栖塭贼.. on桧苌 off苌 鼠亵勒 aura ?娄蒂 疏捡?栖棻.
if(auraAppendage)
{
if(parentChr.isMyControlObject())
{
sq_BinaryStartWrite();
sq_BinaryWriteDword(1); //
sq_SendChangeSkillEffectPacket(parentChr, SKILL_TUNDRASOUL);
}
}
}
else
{ // 瞪潍酝桧塭贼..
if(skill.isSealFunction())
{ // off樯等 嬴办塭陛 毡戏贼 疏捡?栖棻.
if(auraAppendage)
{
//print(" parentChr.isInBattle():" + parentChr.isInBattle() + " auraAppendage:" + auraAppendage);
if(parentChr.isMyControlObject())
{
sq_BinaryStartWrite();
sq_BinaryWriteDword(1); //
sq_SendChangeSkillEffectPacket(parentChr, SKILL_TUNDRASOUL);
}
}
}
else
{ // on樯等 嬴办塭陛 桡戏贼 面捡?栖棻.
if(parentObj.getState() == STATE_DIE) // 避擎鼻鹧塭贼 嬴办塭蒂 橾钦 疏捡?栖棻.
{
if(auraAppendage)
{
if(parentChr.isMyControlObject())
{
sq_BinaryStartWrite();
sq_BinaryWriteDword(1); //
sq_SendChangeSkillEffectPacket(parentChr, SKILL_TUNDRASOUL);
}
}
}
else
{
if(!auraAppendage)
{
if(parentChr.isMyControlObject())
{
//print(" parentChr.isInBattle():" + parentChr.isInBattle() + " auraAppendage:" + auraAppendage);
sq_BinaryStartWrite();
sq_BinaryWriteDword(0); //
sq_SendChangeSkillEffectPacket(parentChr, SKILL_TUNDRASOUL);
}
}
else
{ // 嬴办塭陛 毡棻朝 鼻鹧桧虽虏 valid陛 false橾 热 毡蝗栖棻.
if(!auraAppendage.isValid())
{ // 嬴办塭陛 isvalid陛 false塭贼.. 橾钦 虽表捡?栖棻.
print( " \n\n valid:" + auraAppendage.isValid());
sq_BinaryStartWrite();
sq_BinaryWriteDword(1); //
sq_SendChangeSkillEffectPacket(parentChr, SKILL_TUNDRASOUL);
}
}
}
}
}
}
}
function onStart_appendage_atmage_tundrasoul(appendage)
{
if(!appendage) {
return;
}
local obj = appendage.getParent();
appendage.sq_var.clear_timer_vector();
appendage.sq_var.push_timer_vector();
appendage.sq_var.push_timer_vector();
appendage.sq_var.clear_vector();
appendage.sq_var.push_vector(0); // state
local t = appendage.sq_var.get_timer_vector(0);
t.setParameter(400, -1);
t.resetInstant(0);
local sqrObj = sq_GetCNRDObjectToSQRCharacter(obj);
if(sqrObj)
{
}
}
function prepareDraw_appendage_atmage_tundrasoul(appendage)
{
if(!appendage) {
return;
}
local obj = appendage.getParent();
}
function onEnd_appendage_atmage_tundrasoul(appendage)
{
if(!appendage) {
return;
}
local obj = appendage.getParent();
local sqrObj = sq_GetCNRDObjectToSQRCharacter(obj);
if(sqrObj)
{
}
}
// 横渐螳 陕撩 渗褐暧 部睡碟
function isEnd_appendage_atmage_tundrasoul(appendage)
{
if(!appendage)
return false;
local T = appendage.getTimer().Get();
return false;
}