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; | ||
|  | } |