386 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			386 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | getroottable()["ElementalRainCreatePos"] <- {}; | |||
|  | getroottable()["ElementalRainCreatePos"] = [[-76,27],[-108,44],[-129,67],[-79,57],[-50,66], | |||
|  | 											[-93,83],[-120,118],[-58,109],[-121,152],[-82,145], | |||
|  | 											[-92,180],[39,143],[-49,180],[-5,128],[-7,171], | |||
|  | 											[-24,221],[25,184],[-5,128],[43,113],[58,143]]; | |||
|  | 
 | |||
|  | // 县溯诠骁 溯樯 怃粽 蝶才桧? | |||
|  | SUB_STATE_ELEMENTAL_RAIN_CAST		<- 0	// 议蝶? | |||
|  | SUB_STATE_ELEMENTAL_RAIN_JUMP		<- 1	// 薄? | |||
|  | SUB_STATE_ELEMENTAL_RAIN_CHARGE		<- 2	// 醱瞪(薄? 渠晦) | |||
|  | SUB_STATE_ELEMENTAL_RAIN_FIRE		<- 3	// 葆彻掘 嫦饵 | |||
|  | SUB_STATE_ELEMENTAL_RAIN_LAST		<- 4	// 醱瞪 塽 ?嫦掘 当撩, 阶戏煎暧 杂虽 | |||
|  | 
 | |||
|  | 
 | |||
|  | // 县溯诠骁 溯樯 蝶鉴嫦翕 | |||
|  | function checkExecutableSkill_ElementalRain(obj) | |||
|  | { | |||
|  | 	if (!obj) return false; | |||
|  | 
 | |||
|  | 	local isUseSkill = obj.sq_IsUseSkill(SKILL_ELEMENTAL_RAIN); | |||
|  | 	if (isUseSkill) | |||
|  | 	{ | |||
|  | 		obj.sq_IntVectClear(); | |||
|  | 		obj.sq_IntVectPush(SUB_STATE_ELEMENTAL_RAIN_CAST); | |||
|  | 		obj.sq_AddSetStatePacket(STATE_ELEMENTAL_RAIN, STATE_PRIORITY_IGNORE_FORCE, true); | |||
|  | 		return true; | |||
|  | 	}	 | |||
|  | 
 | |||
|  | 	return false; | |||
|  | } | |||
|  | 
 | |||
|  | function checkCommandEnable_ElementalRain(obj) | |||
|  | { | |||
|  | 	if(!obj) return false; | |||
|  | 
 | |||
|  | 	local state = obj.sq_GetState(); | |||
|  | 	 | |||
|  | 	if(state == STATE_ATTACK) | |||
|  | 	{ | |||
|  | 		return obj.sq_IsCommandEnable(SKILL_ELEMENTAL_RAIN); // 念瘫潍缣怃朝 ?姜蝶鉴虏 警蜗桧 陛栋?栖棻. 蒙机濠:姜霞热 [2012.04.20] obj.sq_IsCommandEnable(SKILL_BROKENARROW); | |||
|  | 	} | |||
|  | 
 | |||
|  | 	return true | |||
|  | } | |||
|  | 
 | |||
|  | 
 | |||
|  | function onProc_ElementalRain(obj) | |||
|  | { | |||
|  | 	if (!obj) return;	 | |||
|  | 	local subState = obj.getSkillSubState(); | |||
|  | 	 | |||
|  | 	// 橾姜 堪桧桧鼻 薄??棻贼 夸辞 | |||
|  | 	if (subState == SUB_STATE_ELEMENTAL_RAIN_JUMP) | |||
|  | 	{ | |||
|  | 		local zPos = obj.sq_GetIntData(SKILL_ELEMENTAL_RAIN, 2); | |||
|  | 		 | |||
|  | 		if (sq_GetZPos(obj) >= zPos) | |||
|  | 		{		 | |||
|  | 			obj.sq_SetCurrentPos(obj, obj.getXPos(), obj.getYPos(), zPos); | |||
|  | 			 | |||
|  | 			if (obj.sq_IsMyControlObject()) | |||
|  | 			{ | |||
|  | 				obj.sq_IntVectClear(); | |||
|  | 				obj.sq_IntVectPush(SUB_STATE_ELEMENTAL_RAIN_CHARGE); | |||
|  | 				obj.sq_AddSetStatePacket(STATE_ELEMENTAL_RAIN, STATE_PRIORITY_IGNORE_FORCE, true); | |||
|  | 			} | |||
|  | 		} | |||
|  | 	} | |||
|  | } | |||
|  | 
 | |||
|  | 
 | |||
|  | // state蒂 撮??坚 籀挤戏煎 菟横螃啪 腌栖棻. 陕谦 葬模蝶蒂 撮??栖棻.  | |||
|  | function onSetState_ElementalRain(obj, state, datas, isResetTimer) | |||
|  | {	 | |||
|  | 	if (!obj) return; | |||
|  | 		 | |||
|  | 	local var = obj.getVar(); | |||
|  | 	local oldSubState = obj.getSkillSubState(); | |||
|  | 	local subState = obj.sq_GetVectorData(datas, 0); | |||
|  | 	obj.setSkillSubState(subState); | |||
|  | 	obj.sq_SetStaticMoveInfo(0, 0, 0, false); | |||
|  | 	obj.sq_SetStaticMoveInfo(1, 0, 0, false); | |||
|  | 
 | |||
|  | 	if (subState == SUB_STATE_ELEMENTAL_RAIN_CAST) | |||
|  | 	{ | |||
|  | 		obj.sq_ZStop(); | |||
|  | 		// 议蝶? | |||
|  | 		obj.sq_SetCurrentAnimation(CUSTOM_ANI_ELEMENTAL_RAIN_CAST); | |||
|  | 		 | |||
|  | 		// 桧?? 缣栖诡桧暮 | |||
|  | 		obj.sq_AddStateLayerAnimation(1, | |||
|  | 			obj.sq_CreateCNRDAnimation("Effect/Animation/ATElementalRain/Cast/1_under_dodge.ani"), 0, 0); | |||
|  | 		obj.sq_AddStateLayerAnimation(2, | |||
|  | 			obj.sq_CreateCNRDAnimation("Effect/Animation/ATElementalRain/Cast/20_body_dodge.ani"), 0, 0); | |||
|  | 			 | |||
|  | 		// 议蝶? 楼紫蒂 评塭陛紫烟 扑姜 | |||
|  | 		// 议蝶? 楼紫陛 渗唳肾贼, 缣栖诡桧暮 楼紫紫 渗唳 腌栖棻. | |||
|  | 		// 议蝶? 啪桧虽紫 ?卫蒂 ?鄹栖棻. | |||
|  | 		local skillLevel = sq_GetSkillLevel(obj, SKILL_ELEMENTAL_RAIN); | |||
|  | 		local castTime  = sq_GetCastTime(obj, SKILL_ELEMENTAL_RAIN, 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_ERAIN_READY"); | |||
|  | 
 | |||
|  | 		// 县溯诠骁 溯樯擎 4楼撩 赅舒 勘横遽棻.		 | |||
|  | 		addElementalChain_ATMage(obj, -1); | |||
|  | 	} | |||
|  | 	else if (subState == SUB_STATE_ELEMENTAL_RAIN_JUMP) | |||
|  | 	{ | |||
|  | 		obj.sq_SetCurrentAnimation(CUSTOM_ANI_ELEMENTAL_RAIN_JUMP); | |||
|  | 		 | |||
|  | 		sq_SetZVelocity(obj, 750, -1200); | |||
|  | 	} | |||
|  | 	else if (subState == SUB_STATE_ELEMENTAL_RAIN_CHARGE) | |||
|  | 	{ | |||
|  | 		local zPos = obj.sq_GetIntData(SKILL_ELEMENTAL_RAIN, 2); | |||
|  | 		obj.sq_SetCurrentPos(obj, obj.getXPos(), obj.getYPos(), zPos); | |||
|  | 		obj.sq_PlaySound("MW_ERAIN"); | |||
|  | 		 | |||
|  | 		obj.sq_ZStop(); | |||
|  | 		// 醱瞪 | |||
|  | 		obj.sq_SetCurrentAnimation(CUSTOM_ANI_ELEMENTAL_RAIN_JUMP_STAY); | |||
|  | 		 | |||
|  | 			 | |||
|  | 		// 桧?? 缣栖诡桧暮 | |||
|  | 		obj.sq_AddStateLayerAnimation(1, | |||
|  | 			obj.sq_CreateCNRDAnimation("Effect/Animation/ATElementalRain/Charge/26_handup_dodge.ani"), 0, 0); | |||
|  | 		obj.sq_AddStateLayerAnimation(2, | |||
|  | 			obj.sq_CreateCNRDAnimation("Effect/Animation/ATElementalRain/Charge/25_shoot_dodge.ani"), 0, 0);			 | |||
|  | 			 | |||
|  | 			 | |||
|  | 		local skillLevel = sq_GetSkillLevel(obj, SKILL_ELEMENTAL_RAIN); | |||
|  | 		local maxNumber = obj.sq_GetLevelData(SKILL_ELEMENTAL_RAIN, 0, skillLevel); | |||
|  | 		 | |||
|  | 		// 譆模高娄 譆渠高 饵桧暧 楠浑? 璋濠蒂 陛螳褥.  | |||
|  | 		// 钦, ?廓 陛螳蚂 高擎 罗廓箪 ?塭嘐搅陛 true陛 肾虽 强朝 ?擎 舒廓 棻卫 釭螃虽 强挤. | |||
|  | 		// -1桧 釭螃贼 谦猿. 涡桧鼻 高桧 桡挤. | |||
|  | 		// min 高挤 0 桧?陛 腆热 桡挤. | |||
|  | 		local index = sq_getRandomUnique(true, 0, ::ElementalRainCreatePos.len()); // 蟾晦?				 | |||
|  | 
 | |||
|  | 		if (obj.sq_IsMyControlObject()) | |||
|  | 		{		 | |||
|  | 			for (local i = 0; i < maxNumber; ++i) | |||
|  | 			{ | |||
|  | 				if (index < 0) | |||
|  | 					break; | |||
|  | 					 | |||
|  | 				local pos = ::ElementalRainCreatePos[index];	 | |||
|  | 				local x = pos[0]; | |||
|  | 				local y = sq_getRandom(0, 2)-1; | |||
|  | 				local z = pos[1]; | |||
|  | 
 | |||
|  | 				local randElementalType = sq_getRandom(ENUM_ELEMENT_FIRE, ENUM_ELEMENT_MAX);				 | |||
|  | 				obj.sq_StartWrite(); | |||
|  | 				obj.sq_WriteWord(randElementalType); | |||
|  | 				obj.sq_SendCreatePassiveObjectPacket(24233, 0, x, y, z); | |||
|  | 
 | |||
|  | 				index = sq_getRandomUnique(false, 0, i % ::ElementalRainCreatePos.len()); | |||
|  | 			} | |||
|  | 		} | |||
|  | 	} | |||
|  | 	else if (subState == SUB_STATE_ELEMENTAL_RAIN_FIRE) | |||
|  | 	{		 | |||
|  | 		// 葆彻掘 嫦饵 | |||
|  | 		obj.sq_SetCurrentAnimation(CUSTOM_ANI_ELEMENTAL_RAIN_SHOOT); | |||
|  | 		 | |||
|  | 		// 桧?? 缣栖诡桧暮 | |||
|  | 		local angle = sq_GetIntData(obj, SKILL_ELEMENTAL_RAIN, 5); | |||
|  | 		local animation = obj.sq_CreateCNRDAnimation("Effect/Animation/ATElementalRain/Shoot/25_shoot_dodge.ani"); | |||
|  | 		sq_SetfRotateAngle(animation, sq_ToRadian(-angle.tofloat())); | |||
|  | 		obj.sq_AddStateLayerAnimation(1, animation, 0, 0); | |||
|  | 		sq_SetCustomRotate(obj, sq_ToRadian(-angle.tofloat())); | |||
|  | 		 | |||
|  | 	} | |||
|  | 	else if (subState == SUB_STATE_ELEMENTAL_RAIN_LAST) | |||
|  | 	{ | |||
|  | 		// 醱瞪 塽 ?嫦掘 当撩, 阶戏煎暧 杂虽 | |||
|  | 		obj.sq_SetCurrentAnimation(CUSTOM_ANI_ELEMENTAL_RAIN_CHARGE_SHOOT); | |||
|  | 		 | |||
|  | 		 | |||
|  | 		// 桧?? 缣栖诡桧暮 | |||
|  | 		obj.sq_AddStateLayerAnimation(1, | |||
|  | 			obj.sq_CreateCNRDAnimation("Effect/Animation/ATElementalRain/ChargeShoot/21_circle_normal.ani"), 0, 0); | |||
|  | 		obj.sq_AddStateLayerAnimation(2, | |||
|  | 			obj.sq_CreateCNRDAnimation("Effect/Animation/ATElementalRain/ChargeShoot/22_circle_dodge.ani"), 0, 0); | |||
|  | 		obj.sq_AddStateLayerAnimation(3, | |||
|  | 			obj.sq_CreateCNRDAnimation("Effect/Animation/ATElementalRain/ChargeShoot/23_circle1_normal.ani"), -62, -188); | |||
|  | 		obj.sq_AddStateLayerAnimation(4, | |||
|  | 			obj.sq_CreateCNRDAnimation("Effect/Animation/ATElementalRain/ChargeShoot/24_circle1_dodge.ani"), -62, -188); | |||
|  | 			 | |||
|  | 		obj.sq_PlaySound("MW_ERAIN_FIN"); | |||
|  | 	} | |||
|  | } | |||
|  | 
 | |||
|  | 
 | |||
|  | // 缣栖诡桧暮桧 部陬挤. | |||
|  | function onEndCurrentAni_ElementalRain(obj) | |||
|  | { | |||
|  | 	if (!obj) return; | |||
|  | 	local subState = obj.getSkillSubState(); | |||
|  | 	 | |||
|  | 	if (subState == SUB_STATE_ELEMENTAL_RAIN_CAST) | |||
|  | 	{ | |||
|  | 		// 议蝶? -> 醱瞪 | |||
|  | 		if (obj.sq_IsMyControlObject()) | |||
|  | 		{ | |||
|  | 			obj.sq_IntVectClear(); | |||
|  | 			obj.sq_IntVectPush(SUB_STATE_ELEMENTAL_RAIN_JUMP); | |||
|  | 			obj.sq_AddSetStatePacket(STATE_ELEMENTAL_RAIN, STATE_PRIORITY_IGNORE_FORCE, true); | |||
|  | 		} | |||
|  | 		sq_EndDrawCastGauge(obj); | |||
|  | 	} | |||
|  | 	else if (subState == SUB_STATE_ELEMENTAL_RAIN_JUMP) | |||
|  | 	{ | |||
|  | 		if (obj.sq_IsMyControlObject()) | |||
|  | 		{ | |||
|  | 			obj.sq_IntVectClear(); | |||
|  | 			obj.sq_IntVectPush(SUB_STATE_ELEMENTAL_RAIN_CHARGE); | |||
|  | 			obj.sq_AddSetStatePacket(STATE_ELEMENTAL_RAIN, STATE_PRIORITY_IGNORE_FORCE, true); | |||
|  | 		} | |||
|  | 	} | |||
|  | 	else if (subState == SUB_STATE_ELEMENTAL_RAIN_CHARGE) | |||
|  | 	{ | |||
|  | 		// 醱瞪 -> 葆彻掘 嫦饵 | |||
|  | 		if (obj.sq_IsMyControlObject()) | |||
|  | 		{ | |||
|  | 			obj.sq_IntVectClear(); | |||
|  | 			obj.sq_IntVectPush(SUB_STATE_ELEMENTAL_RAIN_FIRE); | |||
|  | 			obj.sq_IntVectPush(0); | |||
|  | 			obj.sq_AddSetStatePacket(STATE_ELEMENTAL_RAIN, STATE_PRIORITY_IGNORE_FORCE, true); | |||
|  | 		} | |||
|  | 	} | |||
|  | 	else if (subState == SUB_STATE_ELEMENTAL_RAIN_FIRE) | |||
|  | 	{ | |||
|  | 		// 葆彻掘 嫦饵 | |||
|  | 		local var = obj.getVar(); | |||
|  | 		local skillLevel = sq_GetSkillLevel(obj, SKILL_ELEMENTAL_RAIN); | |||
|  | 		local maxNumber = obj.sq_GetLevelData(SKILL_ELEMENTAL_RAIN, 0, skillLevel); | |||
|  | 		 | |||
|  | 		// 嫦饵?啪 陴懊挤. | |||
|  | 		local fireEnd = true; | |||
|  | 		local ballCount = obj.getMyPassiveObjectCount(24233);			 | |||
|  | 		for (local i = 0; i < ballCount ; ++i)  | |||
|  | 		{  | |||
|  | 			local magicBall = obj.getMyPassiveObject(24233,i) | |||
|  | 			if (!magicBall || magicBall.getState() != SUBSTATE_PO_ELEMENTAL_CREATOR_FIRE) { | |||
|  | 				fireEnd = false; | |||
|  | 				break; | |||
|  | 			} | |||
|  | 		} | |||
|  | 			 | |||
|  | 		if (!fireEnd) | |||
|  | 		{ | |||
|  | 			if (obj.sq_IsMyControlObject()) | |||
|  | 			{ | |||
|  | 				// 葆彻掘 啗楼 嫦饵 | |||
|  | 				obj.sq_IntVectClear(); | |||
|  | 				obj.sq_IntVectPush(SUB_STATE_ELEMENTAL_RAIN_FIRE);			 | |||
|  | 				obj.sq_AddSetStatePacket(STATE_ELEMENTAL_RAIN, STATE_PRIORITY_IGNORE_FORCE, true); | |||
|  | 			} | |||
|  | 		} | |||
|  | 		else | |||
|  | 		{ | |||
|  | 			if (obj.sq_IsMyControlObject()) | |||
|  | 			{ | |||
|  | 				// 葆彻掘 嫦饵 -> 醱瞪 塽 ?嫦掘 当撩, 阶戏煎 杂虽 | |||
|  | 				obj.sq_IntVectClear(); | |||
|  | 				obj.sq_IntVectPush(SUB_STATE_ELEMENTAL_RAIN_LAST); | |||
|  | 				obj.sq_AddSetStatePacket(STATE_ELEMENTAL_RAIN, STATE_PRIORITY_IGNORE_FORCE, true); | |||
|  | 			} | |||
|  | 		} | |||
|  | 	} | |||
|  | 	else if (subState == SUB_STATE_ELEMENTAL_RAIN_LAST) | |||
|  | 	{ | |||
|  | 		// 醱瞪 塽 ?嫦掘 当撩, 阶戏煎暧 杂虽 | |||
|  | 		if (obj.sq_IsMyControlObject()) | |||
|  | 		{ | |||
|  | 			obj.sq_IntVectClear(); | |||
|  | 			obj.sq_IntVectPush(1); | |||
|  | 			obj.sq_IntVectPush(0); | |||
|  | 			obj.sq_IntVectPush(0); | |||
|  | 			obj.sq_AddSetStatePacket(STATE_JUMP, STATE_PRIORITY_USER, true); | |||
|  | 		} | |||
|  | 	} | |||
|  | }	 | |||
|  | 	 | |||
|  | 
 | |||
|  | function onEndState_ElementalRain(obj, newState) | |||
|  | { | |||
|  | 	if (!obj) return; | |||
|  | 		 | |||
|  | 	if (newState != STATE_ELEMENTAL_RAIN) | |||
|  | 	{ | |||
|  | 		sq_SetCustomRotate(obj, 0.0); | |||
|  | 		 | |||
|  | 		if (obj.sq_IsMyControlObject()) | |||
|  | 		{ | |||
|  | 			local ballCount = obj.getMyPassiveObjectCount(24233);			 | |||
|  | 			for (local i = 0; i<ballCount ; ++i)  | |||
|  | 			{  | |||
|  | 				local magicBall = obj.getMyPassiveObject(24233,i) | |||
|  | 				if (!magicBall) | |||
|  | 					continue; | |||
|  | 				 | |||
|  | 				if (obj.sq_IsMyControlObject()) | |||
|  | 					sq_SendDestroyPacketPassiveObject(magicBall); | |||
|  | 			} | |||
|  | 		} | |||
|  | 	} | |||
|  | } | |||
|  | 
 | |||
|  | 
 | |||
|  | // 奢问卫 葆彻 掘羹蒂 当撩?棻. | |||
|  | function onKeyFrameFlag_ElementalRain(obj, flagIndex) | |||
|  | { | |||
|  | 	if (!obj) return false; | |||
|  | 	local subState = obj.getSkillSubState(); | |||
|  | 	 | |||
|  | 	if (subState == SUB_STATE_ELEMENTAL_RAIN_CAST) | |||
|  | 	{ | |||
|  | 		if (flagIndex == 1) | |||
|  | 			sq_EffectLayerAppendage(obj, sq_RGB(255,255,255), 255, 0, 0, 240); | |||
|  | 	} | |||
|  | 	else if (subState == SUB_STATE_ELEMENTAL_RAIN_FIRE) | |||
|  | 	{		 | |||
|  | 		if (flagIndex == 1 && obj.sq_IsMyControlObject()) | |||
|  | 		{ | |||
|  | 			local ballCount = obj.getMyPassiveObjectCount(24233); | |||
|  | 			printc("ballCount" + ballCount);			 | |||
|  | 			for (local i = 0; i<ballCount ; ++i) | |||
|  | 			{  | |||
|  | 				local magicBall = obj.getMyPassiveObject(24233,i) | |||
|  | 				if (!magicBall || magicBall.getState() == SUBSTATE_PO_ELEMENTAL_CREATOR_FIRE) | |||
|  | 					continue; | |||
|  | 				 | |||
|  | 				magicBall.sendStateOnlyPacket(SUBSTATE_PO_ELEMENTAL_CREATOR_FIRE); | |||
|  | 				break; | |||
|  | 			}					 | |||
|  | 		}				 | |||
|  | 	} | |||
|  | 	else if (subState == SUB_STATE_ELEMENTAL_RAIN_LAST) | |||
|  | 	{ | |||
|  | 		// 醱瞪 塽 ?嫦掘 当撩, 阶戏煎暧 杂虽 | |||
|  | 		if (flagIndex == 1 && obj.sq_IsMyControlObject()) | |||
|  | 		{ | |||
|  | 			// 葆虽虞 赎 葆彻掘暧 奢问溘 椭横螃晦 | |||
|  | 			local skill = sq_GetSkill(obj, SKILL_ELEMENTAL_RAIN); | |||
|  | 			local attackBonusRate = obj.sq_GetBonusRateWithPassive(SKILL_ELEMENTAL_RAIN, STATE_ELEMENTAL_RAIN, 1, 1.0); | |||
|  | 				 | |||
|  | 			obj.sq_StartWrite(); | |||
|  | 			obj.sq_WriteDword(attackBonusRate); | |||
|  | 			print("onKeyFrameFlag_ElementalRain"); | |||
|  | 			obj.sq_SendCreatePassiveObjectPacket(24219, 0, -73, 1, 215); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	return true; | |||
|  | } | |||
|  | 
 | |||
|  | function onEndMap_ElementalRain(obj) | |||
|  | { | |||
|  | 	if (obj.sq_IsMyControlObject()) | |||
|  | 	{ | |||
|  | 		local ballCount = obj.getMyPassiveObjectCount(24233);			 | |||
|  | 		printc("ballCount" + ballCount); | |||
|  | 		for (local i = 0; i<ballCount ; ++i)  | |||
|  | 		{  | |||
|  | 			local magicBall = obj.getMyPassiveObject(24233,i) | |||
|  | 			if (!magicBall) | |||
|  | 				continue; | |||
|  | 			 | |||
|  | 			if (obj.sq_IsMyControlObject()) | |||
|  | 			{ | |||
|  | 				print("onEndMap_ElementalRain"); | |||
|  | 				sq_SendDestroyPacketPassiveObject(magicBall); | |||
|  | 			} | |||
|  | 		} | |||
|  | 	} | |||
|  | } | |||
|  |  |