266 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			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;
 | |
| } |