122 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
 | |
| function onAfterSetState_ElementalChange(obj, state, datas, isResetTimer)
 | |
| {
 | |
| 	obj.sq_SetStaticSpeedInfo(SPEED_TYPE_CAST_SPEED, SPEED_TYPE_CAST_SPEED,
 | |
| 		SPEED_VALUE_DEFAULT, SPEED_VALUE_DEFAULT, 1.0, 1.0);
 | |
| 		
 | |
| 	local throwState = obj.getThrowState();
 | |
| 	
 | |
| 	if (throwState == 1)
 | |
| 	{		
 | |
| 		// 楼撩嫦翕 appendage 勘横舆晦
 | |
| 		local appendage = CNSquirrelAppendage.sq_AppendAppendage(obj, obj, SKILL_ELEMENTAL_CHANGE, false, "Character/ATMage/ElementalChange/ap_ATMage_Elemental_Change.nut", false);
 | |
| 		local skillLevel = sq_GetSkillLevel(obj, SKILL_ELEMENTAL_CHANGE);
 | |
| 		local validTime = sq_GetLevelData(obj, SKILL_ELEMENTAL_CHANGE, 0, skillLevel); 
 | |
| 		
 | |
| 		if (appendage != null)
 | |
| 		{
 | |
| 			// 帼? UI 轿溘 横?萄蒂 勘横舆晦 瞪缣 ?轿肾横捡 ?栖棻.
 | |
| 			appendage.setAppendCauseSkill(BUFF_CAUSE_SKILL, sq_getJob(obj), SKILL_ELEMENTAL_CHANGE, skillLevel);
 | |
| 			appendage.sq_SetValidTime(validTime);			
 | |
| 			appendage.setBuffIconImage(55);
 | |
| 			appendage.setEnableIsBuff(true);
 | |
| 			CNSquirrelAppendage.sq_AppendAppendageID(appendage, obj, obj, APID_SKILL_ELEMENTAL_CHANGE, false);
 | |
| 		}
 | |
| 		
 | |
| 		// 楼撩 尔?暧 楼撩击 夥脯 遽棻.		
 | |
| 		local skillLevel = sq_GetSkillLevel(obj, SKILL_ELEMENTAL_SHIELD);
 | |
| 		if(skillLevel > 0)		
 | |
| 		{				
 | |
| 			sq_RemoveChangeStatus(obj, APID_AT_MAGE_ELEMENT_SHIELD);
 | |
| 			
 | |
| 			local elementalType = obj.getThrowElement();	
 | |
| 			local upValue = sq_GetIntData(obj, SKILL_ELEMENTAL_SHIELD, 0);
 | |
| 			local ap = sq_CreateChangeStatus(CHANGE_STATUS_TYPE_ELEMENT_TOLERANCE_FIRE + elementalType, false, upValue.tofloat() , 0);
 | |
| 			if (ap)
 | |
| 			{
 | |
| 				ap.getAppendageInfo().setValidTime(validTime);				
 | |
| 				ap.sq_Append(obj, obj, APID_AT_MAGE_ELEMENT_SHIELD, 0, null);
 | |
| 			}			
 | |
| 		}
 | |
| 		
 | |
| 		local element = obj.getThrowElement();
 | |
| 		local x = obj.getXPos();
 | |
| 		local y = obj.getYPos() + 1;
 | |
| 		local z = obj.getZPos();
 | |
| 		
 | |
| 		if (element == ENUM_ELEMENT_FIRE)
 | |
| 			createAnimationPooledObject(obj, "Character/Mage/Effect/Animation/ATElementalChange/00_fire_dodge.ani", true, x, y, z);
 | |
| 		else if (element == ENUM_ELEMENT_WATER)
 | |
| 			createAnimationPooledObject(obj, "Character/Mage/Effect/Animation/ATElementalChange/00_ice_dodge.ani", true, x, y, z);
 | |
| 		else if (element == ENUM_ELEMENT_DARK)
 | |
| 			createAnimationPooledObject(obj, "Character/Mage/Effect/Animation/ATElementalChange/01_dark_dodge.ani", true, x, y, z);
 | |
| 		else if (element == ENUM_ELEMENT_LIGHT)
 | |
| 			createAnimationPooledObject(obj, "Character/Mage/Effect/Animation/ATElementalChange/00_light_dodge.ani", true, x, y, z);		
 | |
| 	}
 | |
| 	else if (throwState == 3) 
 | |
| 	{
 | |
| 		obj.sq_PlaySound("PCHANGE");
 | |
| 	}
 | |
| }
 | |
| 
 | |
| function onAfterSetState_ManaBurst(obj, state, datas, isResetTimer)
 | |
| {
 | |
| 	local throwState = obj.getThrowState();
 | |
| 	
 | |
| 	if (throwState == 1)
 | |
| 	{
 | |
| 		obj.sq_PlaySound("MW_FLOODMANA");
 | |
| 		obj.sq_PlaySound("FLOODMANA_CAST");
 | |
| 	
 | |
| 		// 葆釭?舆
 | |
| 		local skillLevel = obj.sq_GetSkillLevel(SKILL_MANABURST);
 | |
| 		local change_time = sq_GetLevelData(obj, SKILL_MANABURST, SKL_LVL_COLUMN_IDX_2, skillLevel);
 | |
| 		
 | |
| 		
 | |
| 		local appendage = CNSquirrelAppendage.sq_AppendAppendage(obj, obj, SKILL_MANABURST, false, 
 | |
| 		"Character/ATMage/ManaBurst/ap_ATMage_ManaBurst.nut", false);
 | |
| 		
 | |
| 		appendage.setAppendCauseSkill(BUFF_CAUSE_SKILL, sq_getJob(obj), SKILL_MANABURST, skillLevel);
 | |
| 		appendage.sq_SetValidTime(change_time); // 横?蛤虽 颤歜 撮?
 | |
| 		
 | |
| 		// 罹晦怃 append 蒙机		
 | |
| 		//CNSquirrelAppendage.sq_Append(appendage, obj, obj);
 | |
| 		CNSquirrelAppendage.sq_Append(appendage, obj, obj, true); // 帼?蚂
 | |
| 	}
 | |
| }
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| function onAfterSetState_Throw(obj, state, datas, isResetTimer)
 | |
| {
 | |
| 	local skillIndex = obj.getThrowIndex();
 | |
| 	
 | |
| 	if (skillIndex == SKILL_ELEMENTAL_CHANGE)
 | |
| 	{
 | |
| 		onAfterSetState_ElementalChange(obj, state, datas, isResetTimer);
 | |
| 		
 | |
| 		if (obj.getThrowState() == 0)
 | |
| 		{
 | |
| 			// 醴蝶签 UI蒂 ?撩? 卫监棻.
 | |
| 			obj.setIsCustomSelectSkill(true);
 | |
| 		}
 | |
| 		else if (obj.getThrowState() == 1)
 | |
| 		{
 | |
| 			obj.sq_PlaySound("PCHANGE_SELECT");
 | |
| 			
 | |
| 			
 | |
| 			if (obj.isMyControlObject())
 | |
| 			{
 | |
| 				sq_BinaryStartWrite();
 | |
| 				sq_BinaryWriteByte(obj.getThrowElement());
 | |
| 				sq_SendChangeSkillEffectPacket(obj, SKILL_ELEMENTAL_CHANGE);
 | |
| 			}
 | |
| 		}		
 | |
| 	}
 | |
| 	else if(skillIndex == SKILL_MANABURST)
 | |
| 	{
 | |
| 		onAfterSetState_ManaBurst(obj, state, datas, isResetTimer);
 | |
| 	}
 | |
| }
 |