484 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			484 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| /************************************************
 | |
| ************************************************
 | |
| // 议葛搅 嫔纂缣怃 当撩肾朝 赎 ?嫦 螃粽薛?
 | |
| ************************************************
 | |
| ************************************************/
 | |
| 
 | |
| // ?热赀檩 牖怃煎 嫦翕脾
 | |
| // 楼撩嫦翕缣 暧?怃 摹鸥胀 楼撩桧 陛潍 葆虽虞缣 嫦翕腌栖棻.
 | |
| SUB_STATE_ELEMENTAL_BUSTER_START	<- 0
 | |
| 
 | |
| VAR_ELEMENTAL_BUSTER_COUNT			<- 0;
 | |
| VAR_ELEMENTAL_BUSTER_TYPE			<- 1;
 | |
| VAR_ELEMENTAL_BUSTER_IS_LAST		<- 2;
 | |
| 
 | |
| function isElementalBusterCastingState(subState)
 | |
| {
 | |
| 	return subState%2 == 0;
 | |
| }
 | |
| 
 | |
| function isLastElementalBusterAttack(obj)
 | |
| {
 | |
| 	local var = obj.getVar();
 | |
| 	local count = var.getInt(VAR_ELEMENTAL_BUSTER_COUNT);		
 | |
| 	local maxCount = obj.sq_GetLevelData(SKILL_ELEMENTAL_BUSTER, 4);
 | |
| 	
 | |
| 	if(count+1 >= maxCount)
 | |
| 		return true;
 | |
| 	return false;
 | |
| }
 | |
| 
 | |
| function getStartElementalBuster(element, totalCount)
 | |
| {	
 | |
| 	if(element == ENUM_ELEMENT_NONE)
 | |
| 		return ENUM_ELEMENT_FIRE;
 | |
| 		
 | |
| 	if (element == ENUM_ELEMENT_FIRE)
 | |
| 		element = ENUM_ELEMENT_LIGHT;
 | |
| 	else if (element == ENUM_ELEMENT_WATER)
 | |
| 		element = ENUM_ELEMENT_FIRE;
 | |
| 	else if (element == ENUM_ELEMENT_DARK)
 | |
| 		element = ENUM_ELEMENT_WATER;
 | |
| 	else if (element == ENUM_ELEMENT_LIGHT)
 | |
| 		element = ENUM_ELEMENT_DARK;
 | |
| 				
 | |
| 	totalCount = totalCount-1;
 | |
| 	if(totalCount <= 1)
 | |
| 		return element;
 | |
| 		
 | |
| 	return getStartElementalBuster(element, totalCount)
 | |
| }
 | |
| 
 | |
| // 县溯诠骁 帼蝶搅 蝶鉴嫦翕
 | |
| function checkExecutableSkill_ElementalBuster(obj)
 | |
| {
 | |
| 	if (!obj) return false;
 | |
| 
 | |
| 	local isUseSkill = obj.sq_IsUseSkill(SKILL_ELEMENTAL_BUSTER);
 | |
| 	if (isUseSkill)
 | |
| 	{
 | |
| 		// ?营 摹鸥胀 楼撩擎, 陛潍 葆虽虞缣 嫦翕?棻.
 | |
| 		local element = obj.getThrowElement();
 | |
| 		local maxCount = obj.sq_GetLevelData(SKILL_ELEMENTAL_BUSTER, 4);
 | |
| 		element = getStartElementalBuster(element, maxCount);
 | |
| 		
 | |
| 		printc("element : "+ element);
 | |
| 		obj.sq_IntVectClear();
 | |
| 		obj.sq_IntVectPush(SUB_STATE_ELEMENTAL_BUSTER_START);		
 | |
| 		obj.sq_IntVectPush(element);
 | |
| 		obj.sq_AddSetStatePacket(STATE_ELEMENTAL_BUSTER, STATE_PRIORITY_IGNORE_FORCE, true);
 | |
| 		return true;
 | |
| 	}	
 | |
| 
 | |
| 	return false;
 | |
| }
 | |
| 
 | |
| function checkCommandEnable_ElementalBuster(obj)
 | |
| {
 | |
| 	if(!obj) return false;
 | |
| 
 | |
| 	local state = obj.sq_GetState();
 | |
| 	
 | |
| 	if(state == STATE_ATTACK)
 | |
| 	{
 | |
| 		return obj.sq_IsCommandEnable(SKILL_ELEMENTAL_BUSTER); // 念瘫潍缣怃朝 ?姜蝶鉴虏 警蜗桧 陛栋?栖棻. 蒙机濠:姜霞热 [2012.04.20] obj.sq_IsCommandEnable(SKILL_BROKENARROW);
 | |
| 	}
 | |
| 	
 | |
| 	return true;
 | |
| }
 | |
| 
 | |
| 
 | |
| function onProc_ElementalBuster(obj)
 | |
| {
 | |
| 	if (!obj) return;	
 | |
| }
 | |
| 
 | |
| 
 | |
| // state蒂 撮??坚 籀挤戏煎 菟横螃啪 腌栖棻. 陕谦 葬模蝶蒂 撮??栖棻. 
 | |
| function onSetState_ElementalBuster(obj, state, datas, isResetTimer)
 | |
| {	
 | |
| 	if (!obj) return;
 | |
| 		
 | |
| 	local var = obj.getVar();
 | |
| 	local subState = obj.sq_GetVectorData(datas, 0);
 | |
| 	
 | |
| 	local count = 0;
 | |
| 	local isLast = false;
 | |
| 	local element = ENUM_ELEMENT_FIRE;
 | |
| 	if (subState == SUB_STATE_ELEMENTAL_BUSTER_START)
 | |
| 	{		
 | |
| 		element = obj.sq_GetVectorData(datas, 1);
 | |
| 		var.setInt(VAR_ELEMENTAL_BUSTER_COUNT,0);
 | |
| 		var.setInt(VAR_ELEMENTAL_BUSTER_TYPE, element);
 | |
| 		var.setBool(VAR_ELEMENTAL_BUSTER_IS_LAST, false);
 | |
| 	}
 | |
| 	else
 | |
| 	{
 | |
| 		element = var.getInt(VAR_ELEMENTAL_BUSTER_TYPE);
 | |
| 		count = var.getInt(VAR_ELEMENTAL_BUSTER_COUNT);
 | |
| 		isLast = var.getBool(VAR_ELEMENTAL_BUSTER_IS_LAST);	
 | |
| 	}	
 | |
| 	
 | |
| 	local isCast = isElementalBusterCastingState(subState);
 | |
| 	
 | |
| 	obj.setSkillSubState(subState);
 | |
| 	obj.sq_SetStaticMoveInfo(0, 0, 0, false);
 | |
| 	obj.sq_SetStaticMoveInfo(1, 0, 0, false);
 | |
| 
 | |
| 	
 | |
| 	
 | |
| 	local animationIndex = 0;
 | |
| 	local soundTag = "";
 | |
| 	local passiveObjectIndex = 0;
 | |
| 	if (element == ENUM_ELEMENT_FIRE)
 | |
| 	{
 | |
| 		animationIndex = isCast ? 85 : 86;
 | |
| 		passiveObjectIndex = 24290;
 | |
| 		soundTag = "EBUSTER_FIRE";
 | |
| 	}
 | |
| 	else if (element == ENUM_ELEMENT_WATER)
 | |
| 	{
 | |
| 		animationIndex = isCast ? 87 : 88;
 | |
| 		passiveObjectIndex = 24293;
 | |
| 		soundTag = "EBUSTER_ICE";
 | |
| 	}
 | |
| 	else if (element == ENUM_ELEMENT_DARK)
 | |
| 	{
 | |
| 		animationIndex = isCast ? 91 : 92;
 | |
| 		passiveObjectIndex = 24299;
 | |
| 		soundTag = "EBUSTER_DARK";
 | |
| 	}
 | |
| 	else if (element == ENUM_ELEMENT_LIGHT)
 | |
| 	{
 | |
| 		animationIndex = isCast ? 89 : 90;
 | |
| 		passiveObjectIndex = 24296;
 | |
| 		soundTag = "EBUSTER_LIGHT";
 | |
| 	}
 | |
| 			
 | |
| 
 | |
| 	if (subState != SUB_STATE_ELEMENTAL_BUSTER_START)
 | |
| 	{
 | |
| 		// 县溯诠骁 帼蝶搅朝 4楼撩 赅舒 勘横遽棻.
 | |
| 		addElementalChain_ATMage(obj, -1);
 | |
| 	}
 | |
| 	
 | |
| 	local animation = obj.sq_GetCurrentAni();
 | |
| 	local flashTime = 0;
 | |
| 
 | |
| 	// 议蝶?
 | |
| 	//animationIndex = ANIMATION_TABLE[animationIndex];
 | |
| 	obj.sq_SetCurrentAnimation(animationIndex);
 | |
| 	
 | |
| 	
 | |
| 	
 | |
| 	if (subState == SUB_STATE_ELEMENTAL_BUSTER_START)
 | |
| 	{
 | |
| 		local skillLevel = sq_GetSkillLevel(obj, SKILL_ELEMENTAL_BUSTER);
 | |
| 		local castTime  = sq_GetCastTime(obj, SKILL_ELEMENTAL_BUSTER, skillLevel);
 | |
| 		local animation = sq_GetCurrentAnimation(obj);
 | |
| 		local castAniTime = animation.getDelaySum(false);
 | |
| 
 | |
| 		local speedRate = castAniTime.tofloat() / castTime.tofloat();
 | |
| 		obj.sq_SetStaticSpeedInfo(SPEED_TYPE_CAST_SPEED, SPEED_TYPE_CAST_SPEED,
 | |
| 			SPEED_VALUE_DEFAULT, SPEED_VALUE_DEFAULT, speedRate, speedRate);
 | |
| 		sq_StartDrawCastGauge(obj, castAniTime, true);
 | |
| 		obj.sq_PlaySound("MW_EBUSTER_READY");
 | |
| 	}
 | |
| 	else
 | |
| 	{
 | |
| 		obj.sq_SetStaticSpeedInfo(SPEED_TYPE_CONST, SPEED_TYPE_CONST,
 | |
| 			SPEED_VALUE_DEFAULT, SPEED_VALUE_DEFAULT, 1.0, 1.0);
 | |
| 	}
 | |
| 	
 | |
| 	if (!isCast) // 嫦饵
 | |
| 	{
 | |
| 		animation = obj.sq_GetCurrentAni();
 | |
| 		flashTime += animation.getDelaySum(false);
 | |
| 		obj.sq_PlaySound(soundTag);
 | |
| 		
 | |
| 		// 议葛搅 嫔纂缣 当撩肾朝 醴棻坞 ?嫦 螃粽薛?
 | |
| 		local powerIndex = count%3;				
 | |
| 		local sizeRate = obj.sq_GetLevelData(SKILL_ELEMENTAL_BUSTER, 5);
 | |
| 
 | |
| 		local time = 640;
 | |
| 		local shake = 3;
 | |
| 		if (isLastElementalBusterAttack(obj))
 | |
| 		{	// 虞颤朝 饵桧锷陛 觼棻
 | |
| 			sizeRate = obj.sq_GetLevelData(SKILL_ELEMENTAL_BUSTER, 6);
 | |
| 			time = 800
 | |
| 			shake = 5;			
 | |
| 			powerIndex = 3; // ?表紫 ?
 | |
| 			
 | |
| 			print("isLast");
 | |
| 			// 虞颤 饵遴萄
 | |
| 			obj.sq_PlaySound("MW_EBUSTER");
 | |
| 		}
 | |
| 		
 | |
| 		local power = obj.sq_GetBonusRateWithPassive(SKILL_ELEMENTAL_BUSTER, STATE_ELEMENTAL_BUSTER, powerIndex, 1.0);
 | |
| 													
 | |
| 													
 | |
| 		// 虽姜胀 嫔纂缣 ?卫粽 螃粽薛?菟击 当撩?棻
 | |
| 		if (obj.sq_IsMyControlObject())
 | |
| 		{
 | |
| 			obj.sq_StartWrite();
 | |
| 			obj.sq_WriteDword(power);
 | |
| 			obj.sq_WriteWord(sizeRate);
 | |
| 			obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndex, 0, 0, 1, 0);
 | |
| 				
 | |
| 			sq_flashScreen(obj, 0, flashTime, 240, 200, sq_RGB(0,0,0), GRAPHICEFFECT_NONE, ENUM_DRAWLAYER_BOTTOM);
 | |
| 			obj.sq_SetShake(obj, shake, time);
 | |
| 		}
 | |
| 	}
 | |
| 	else
 | |
| 	{
 | |
| 		if (element == ENUM_ELEMENT_FIRE)		
 | |
| 			obj.sq_PlaySound("EBUSTER_CAST_01");
 | |
| 		else if (element == ENUM_ELEMENT_WATER)		
 | |
| 			obj.sq_PlaySound("EBUSTER_CAST_02");
 | |
| 		else if (element == ENUM_ELEMENT_DARK)		
 | |
| 			obj.sq_PlaySound("EBUSTER_CAST_04");
 | |
| 		else if (element == ENUM_ELEMENT_LIGHT)
 | |
| 			obj.sq_PlaySound("EBUSTER_CAST_03");		
 | |
| 	}
 | |
| }
 | |
| 
 | |
| 
 | |
| // 缣栖诡桧暮桧 部陬挤.
 | |
| function onEndCurrentAni_ElementalBuster(obj)
 | |
| {
 | |
| 	if (!obj) return;
 | |
| 	local subState = obj.getSkillSubState();
 | |
| 	
 | |
| 	local nextAnimationIndex = obj.getVar().get_vector(0) + 1;
 | |
| 	local nextSubState = subState + 1;
 | |
| 	local isLast = false;
 | |
| 	if(!isElementalBusterCastingState(subState)) // 奢问 拥栖陛 部陬棻贼
 | |
| 	{
 | |
| 		setNextElementalType(obj); // 怃粽蝶才桧?陛 奢问桧历棻贼 棻挤 锰模煎 渗?
 | |
| 		
 | |
| 		local var = obj.getVar();
 | |
| 		local count = var.getInt(VAR_ELEMENTAL_BUSTER_COUNT);		
 | |
| 		local maxCount = obj.sq_GetLevelData(SKILL_ELEMENTAL_BUSTER, 4);
 | |
| 		
 | |
| 		count = count + 1;
 | |
| 		if(count >= maxCount)
 | |
| 		{
 | |
| 			var.setBool(VAR_ELEMENTAL_BUSTER_IS_LAST, true);
 | |
| 			isLast = true;
 | |
| 		}
 | |
| 			
 | |
| 		var.setInt(VAR_ELEMENTAL_BUSTER_COUNT, count);		
 | |
| 	}
 | |
| 		
 | |
| 	if (subState == SUB_STATE_ELEMENTAL_BUSTER_START)
 | |
| 	{
 | |
| 		sq_EndDrawCastGauge(obj);
 | |
| 	}
 | |
| 	
 | |
| 	
 | |
| 	if (!isLast)
 | |
| 	{
 | |
| 		if (obj.sq_IsMyControlObject())
 | |
| 		{
 | |
| 		
 | |
| 			obj.sq_IntVectClear();
 | |
| 			obj.sq_IntVectPush(nextSubState);
 | |
| 			obj.sq_IntVectPush(nextAnimationIndex);
 | |
| 			obj.sq_AddSetStatePacket(STATE_ELEMENTAL_BUSTER, STATE_PRIORITY_IGNORE_FORCE, true);
 | |
| 		}
 | |
| 	}
 | |
| 	else
 | |
| 	{
 | |
| 		if (obj.sq_IsMyControlObject())
 | |
| 			obj.sq_AddSetStatePacket(STATE_STAND, STATE_PRIORITY_USER, false);
 | |
| 	}
 | |
| }	
 | |
| 	
 | |
| 
 | |
| function onEndState_ElementalBuster(obj, newState)
 | |
| {
 | |
| 	if (!obj) return;
 | |
| 	
 | |
| }
 | |
| 
 | |
| function createElementalBusterCircle(obj, element, isLast, flagIndex)
 | |
| {
 | |
| 	if (obj.sq_IsMyControlObject())
 | |
| 	{
 | |
| 		local passiveObjectIndexBig = 24291;	// ?
 | |
| 		local passiveObjectIndexSmall = 24292;
 | |
| 		if (element == ENUM_ELEMENT_FIRE)
 | |
| 		{
 | |
| 			passiveObjectIndexBig = 24291;	// ?
 | |
| 			passiveObjectIndexSmall = 24292;
 | |
| 		}
 | |
| 		else if (element == ENUM_ELEMENT_WATER)
 | |
| 		{
 | |
| 			passiveObjectIndexBig = 24294;		// 热
 | |
| 			passiveObjectIndexSmall = 24295;
 | |
| 		}
 | |
| 		else if (element == ENUM_ELEMENT_LIGHT)
 | |
| 		{
 | |
| 			passiveObjectIndexBig = 24297;		// 赀
 | |
| 			passiveObjectIndexSmall = 24298;
 | |
| 		}
 | |
| 		else if (element == ENUM_ELEMENT_DARK)
 | |
| 		{
 | |
| 			passiveObjectIndexBig = 24300;		// 檩
 | |
| 			passiveObjectIndexSmall = 24301;
 | |
| 		}
 | |
| 		
 | |
| 
 | |
| 		// 议葛搅 嫔纂缣 当撩肾朝 醴棻坞 ?嫦 螃粽薛?	
 | |
| 		local var = obj.getVar();
 | |
| 		local count = var.getInt(VAR_ELEMENTAL_BUSTER_COUNT);
 | |
| 		local powerIndex = count%3;		
 | |
| 		local sizeIndex = 5;
 | |
| 		if (isLastElementalBusterAttack(obj))
 | |
| 		{
 | |
| 			powerIndex = 3; // 虞颤辨 ?表
 | |
| 			sizeIndex = 6;
 | |
| 		}
 | |
| 			
 | |
| 		local power = obj.sq_GetBonusRateWithPassive(SKILL_ELEMENTAL_BUSTER,
 | |
| 											STATE_ELEMENTAL_BUSTER, powerIndex, 1.0);
 | |
| 		local sizeRate = obj.sq_GetLevelData(SKILL_ELEMENTAL_BUSTER, sizeIndex);
 | |
| 	
 | |
| 	
 | |
| 		obj.sq_StartWrite();
 | |
| 		obj.sq_WriteDword(power);
 | |
| 		obj.sq_WriteWord(sizeRate);
 | |
| 														
 | |
| 		local isLastAttack = isLastElementalBusterAttack(obj);							
 | |
| 		if (flagIndex == 1)
 | |
| 		{	// 赎 ?嫦 螃粽薛?
 | |
| 			obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexBig, 0, 150, 2, 110);
 | |
| 			if (isLastAttack && element != ENUM_ELEMENT_MAX)
 | |
| 			{	// 葆虽虞 桧塭贼 涡 当撩?
 | |
| 				obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexBig, 0, 100, 0, 110);
 | |
| 				obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexBig, 0, 80, 0, 110);
 | |
| 			}
 | |
| 		}
 | |
| 		else if (flagIndex == 2)
 | |
| 		{
 | |
| 			// 蒙擎 ?嫦 螃粽薛?
 | |
| 			obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexSmall, 0, 187, 2, 229);
 | |
| 			
 | |
| 			// 赎 ?嫦 螃粽薛?
 | |
| 			obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexBig, 0, 308, 2, 208);
 | |
| 			
 | |
| 			if (isLastAttack && element != ENUM_ELEMENT_MAX)
 | |
| 			{	// 葆虽虞 桧塭贼 涡 当撩?
 | |
| 				obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexSmall, 0, -4, 2, 239);
 | |
| 				obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexSmall, 0, 157, 0, 229);
 | |
| 				obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexSmall, 0, 157, 0, 229);
 | |
| 				obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexBig, 0, 208, 0, 208);
 | |
| 				obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexBig, 0, 208, 0, 208);
 | |
| 			}
 | |
| 		}
 | |
| 		else if (flagIndex == 3)
 | |
| 		{	// 蒙擎 ?嫦 螃粽薛?
 | |
| 			obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexSmall, 0, 310, 2, 98);
 | |
| 			
 | |
| 			if (isLastAttack && element != ENUM_ELEMENT_MAX)
 | |
| 			{	// 葆虽虞 桧塭贼 涡 当撩?
 | |
| 				// 赎 ?嫦 螃粽薛?
 | |
| 				obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexBig, 0, 278, 2, 328);
 | |
| 				obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexSmall, 0, 250, 0, 98);
 | |
| 				obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexSmall, 0, 250, 0, 98);
 | |
| 				obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexBig, 0, 278, 2, 110);
 | |
| 			}
 | |
| 		}
 | |
| 		else if (flagIndex == 4)
 | |
| 		{
 | |
| 			// 赎 ?嫦 螃粽薛?
 | |
| 			obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexBig, 0, 468, 2, 91);
 | |
| 			
 | |
| 			if (isLastAttack && element != ENUM_ELEMENT_MAX)
 | |
| 			{	// 葆虽虞 桧塭贼 涡 当撩?
 | |
| 				// 蒙擎 ?嫦 螃粽薛?
 | |
| 				obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexSmall, 0, 569, 2, 242);
 | |
| 				obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexBig, 0, 358, 0, 200);
 | |
| 				obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexBig, 0, 418, 0, 150);
 | |
| 				obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexBig, 0, 550, 0, 250);
 | |
| 				obj.sq_SendCreatePassiveObjectPacket(passiveObjectIndexBig, 0, 620, 0, 150);
 | |
| 				
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| function setNextElementalType(obj)
 | |
| {
 | |
| 	print("setNextElementalType");
 | |
| 	local var = obj.getVar();
 | |
| 	local element = var.getInt(VAR_ELEMENTAL_BUSTER_TYPE);
 | |
| 	
 | |
| 	if(element == ENUM_ELEMENT_NONE)
 | |
| 		return element;
 | |
| 			
 | |
| 	local newElement;
 | |
| 	
 | |
| 	switch(element)
 | |
| 	{
 | |
| 	case ENUM_ELEMENT_FIRE : newElement = ENUM_ELEMENT_WATER; break;
 | |
| 	case ENUM_ELEMENT_WATER : newElement = ENUM_ELEMENT_DARK; break;
 | |
| 	case ENUM_ELEMENT_DARK : newElement = ENUM_ELEMENT_LIGHT; break;
 | |
| 	case ENUM_ELEMENT_LIGHT : newElement = ENUM_ELEMENT_FIRE; break;	
 | |
| 	}
 | |
| 	
 | |
| 	var.setInt(VAR_ELEMENTAL_BUSTER_TYPE, newElement);
 | |
| 	
 | |
| 	return element;
 | |
| }
 | |
| 
 | |
| // 奢问卫 葆彻 掘羹蒂 当撩?棻.
 | |
| function onKeyFrameFlag_ElementalBuster(obj, flagIndex)
 | |
| {
 | |
| 	if (!obj) return false;
 | |
| 	local var = obj.getVar();
 | |
| 	local subState = obj.getSkillSubState();
 | |
| 	local element = var.getInt(VAR_ELEMENTAL_BUSTER_TYPE);
 | |
| 	local isLast  = (var.getBool(VAR_ELEMENTAL_BUSTER_IS_LAST)) && (obj.getThrowElement() != ENUM_ELEMENT_NONE);	
 | |
| 	
 | |
| 	createElementalBusterCircle(obj, element, isLast, flagIndex);	
 | |
| 	return true;
 | |
| }
 | |
| 
 | |
| 
 | |
| function getScrollBasisPos_ElementalBuster(obj)
 | |
| {
 | |
| 	if (!obj) return;
 | |
| 	local subState = obj.getSkillSubState();
 | |
| 
 | |
| 	if (obj.isMyControlObject())
 | |
| 	{
 | |
| 		local destX = sq_GetDistancePos(obj.getXPos(), obj.getDirection(), 300);
 | |
| 		local xPos = obj.getXPos();
 | |
| 		local var = obj.getVar();
 | |
| 		local isLast  = var.getBool(VAR_ELEMENTAL_BUSTER_IS_LAST);
 | |
| 		
 | |
| 		if (subState == SUB_STATE_ELEMENTAL_BUSTER_START)
 | |
| 		{
 | |
| 			// 蝶鉴 卫瞪 : 蝶觼煤 卫蒙
 | |
| 			local stateTimer = obj.sq_GetStateTimer();
 | |
| 			xPos = sq_GetUniformVelocity(xPos, destX, stateTimer, 300);
 | |
| 		}
 | |
| 		else if (isLast)
 | |
| 		{
 | |
| 			// 蝶鉴 谦猿 : 蝶觼煤 谦猿
 | |
| 			local stateTimer = obj.sq_GetStateTimer();
 | |
| 			xPos = sq_GetUniformVelocity(destX, xPos, stateTimer, 300);
 | |
| 		}
 | |
| 		else
 | |
| 		{
 | |
| 			xPos = destX;
 | |
| 		}
 | |
| 		
 | |
| 		obj.sq_SetCameraScrollPosition(xPos, obj.getYPos(), 0);
 | |
| 		return true;
 | |
| 	}
 | |
| 	
 | |
| 	return false;
 | |
| }
 |