Sqr/character/creatormage/ap_creatormage_guardian.nut

108 lines
2.5 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.

function sq_AddFunctionName(appendage)
{
appendage.sq_AddFunctionName("proc", "proc_appendage_creator_guardian")
appendage.sq_AddFunctionName("prepareDraw", "prepareDraw_appendage_creator_guardian")
appendage.sq_AddFunctionName("onStart", "onStart_appendage_creator_guardian")
appendage.sq_AddFunctionName("onEnd", "onEnd_appendage_creator_guardian")
appendage.sq_AddFunctionName("isEnd", "isEnd_appendage_creator_guardian")
}
function sq_AddEffect(appendage)
{
}
function proc_appendage_creator_guardian(appendage)
{
if (!appendage)
{
return;
}
local cnt = appendage.sq_var.get_vector(I_REMAIN_COUNT);
local isCharge = appendage.sq_var.get_vector(l_CHARGE_ON); // 醱瞪 酝樯虽 羹觼
// 醱瞪赅萄塭贼..
if (isCharge)
{
// 譆渠醱瞪榆击 椭横谛怃 醱瞪击 卫霾栖棻.
local time = appendage.getTimer().Get();
appendage.sq_var.set_vector(I_CURRENT_CHARGE_TIME, time);
local maxCnt = appendage.sq_var.get_vector(I_MAX_COUNT);
local initRemainCnt = appendage.sq_var.get_vector(I_CHARGE_INIT_COUNT);
local maxChargeT = appendage.sq_var.get_vector(I_CHARGE_TIME);
local chargeTime = maxChargeT.tofloat() * ((maxCnt.tofloat() - initRemainCnt.tofloat()) / maxCnt.tofloat());
//print(" guardian charge t:" + maxChargeT);
local currentCnt = sq_GetUniformVelocity(initRemainCnt, maxCnt, time, chargeTime.tointeger());
appendage.sq_var.set_vector(I_REMAIN_COUNT, currentCnt);
// 棻 瓣锡棻贼 醱瞪赅萄 ?薯
if (currentCnt >= maxCnt)
{
appendage.sq_var.set_vector(l_CHARGE_ON, 0);
appendage.sq_var.set_vector(I_CHARGE_INIT_COUNT, 0);
appendage.sq_var.set_vector(I_CURRENT_CHARGE_TIME, 0);
}
}
}
function onStart_appendage_creator_guardian(appendage)
{
if(!appendage) {
return;
}
local obj = appendage.getParent();
local sq_var = appendage.sq_var;
sq_var.clear_timer_vector();
sq_var.push_timer_vector();
local t = sq_var.get_timer_vector(0);
if (t)
{
local eventTerm = 10;
t.setParameter(eventTerm, -1);
t.resetInstant(0);
}
}
function prepareDraw_appendage_creator_guardian(appendage)
{
if(!appendage) {
return;
}
local obj = appendage.getParent();
}
function onEnd_appendage_creator_guardian(appendage)
{
if(!appendage) {
return;
}
local obj = appendage.getParent();
}
function isEnd_appendage_creator_guardian(appendage)
{
if(!appendage) return false;
local T = appendage.getTimer().Get();
return false;
}