340 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			340 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | VAR_IS_ELEMENTAL_RAIN_PASSIVE_OBJECT	<- 0; | ||
|  | 
 | ||
|  | 
 | ||
|  | function setCustomData_po_ATMagicBallLightJumpMultiShot(obj, receiveData) | ||
|  | { | ||
|  | 	setCustomData_po_ATMagicBallLightJump(obj, receiveData); | ||
|  | } | ||
|  | 
 | ||
|  | function setCustomData_po_ATMagicBallDarkJumpMultiShot(obj, receiveData) | ||
|  | { | ||
|  | 	setCustomData_po_ATMagicBallDarkJump(obj, receiveData); | ||
|  | } | ||
|  | 
 | ||
|  | function setCustomData_po_ATMagicBallWaterJumpMultiShot(obj, receiveData) | ||
|  | { | ||
|  | 	setCustomData_po_ATMagicBallWaterJump(obj, receiveData); | ||
|  | } | ||
|  | 
 | ||
|  | function setCustomData_po_ATMagicBallFireJumpMultiShot(obj, receiveData) | ||
|  | { | ||
|  | 	setCustomData_po_ATMagicBallFireJump(obj, receiveData); | ||
|  | } | ||
|  | 
 | ||
|  | function setCustomData_po_ATMagicBallNoneJumpMultiShot(obj, receiveData) | ||
|  | { | ||
|  | 	setCustomData_po_ATMagicBallNoneJump(obj, receiveData); | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | // 葆彻掘羹 - 赀楼撩 | ||
|  | function setCustomData_po_ATMagicBallLightJump(obj, receiveData) | ||
|  | { | ||
|  | 	if(!obj) | ||
|  | 		return; | ||
|  | 		 | ||
|  | 	local horizonAngle = receiveData.readFloat(); | ||
|  | 	local verticalAngle = receiveData.readFloat(); | ||
|  | 	if (sq_BinaryGetReadSize() < receiveData.getSize()) | ||
|  | 	{ | ||
|  | 		// 县溯诠骁 溯樯 桧塭贼, 奢问溘击 荡潍?堡棻陛 ?嫦?阳 饵辨?紫烟 ?棻. | ||
|  | 		 | ||
|  | 		// 奢问溘 掸? | ||
|  | 		local attackBonusRate = receiveData.readDword(); | ||
|  | 		local attackInfo = sq_GetCurrentAttackInfo(obj); | ||
|  | 		sq_SetCurrentAttackBonusRate(attackInfo, attackBonusRate); | ||
|  | 		sq_SetCurrentAttackInfo(obj,sq_GetCurrentAttackInfo(obj)); | ||
|  | 	} | ||
|  | 	 | ||
|  | 	if (sq_BinaryGetReadSize() < receiveData.getSize()) | ||
|  | 	{ | ||
|  | 		// 县溯诠骁 溯樯缣怃 当撩胀 螃粽薛? | ||
|  | 		local flag = receiveData.readDword(); | ||
|  | 		local var = obj.getVar(); | ||
|  | 		 | ||
|  | 		var.setInt(VAR_IS_ELEMENTAL_RAIN_PASSIVE_OBJECT, flag); | ||
|  | 	} | ||
|  | 	 | ||
|  | 	// 觼煎栖赝 嬴桧蛊缣 暧?怃 嫦饵陕紫陛 渗唳脾 | ||
|  | 	local mage = obj.getTopCharacter(); | ||
|  | 	local angle = sq_GetIntData(mage, SKILL_ELEMENTAL_RAIN, 5); | ||
|  | 	verticalAngle = verticalAngle - angle; | ||
|  | 	 | ||
|  | 	 | ||
|  | 	// ??赝暧 桧翕 陕紫蒂 亵瞰? | ||
|  | 	obj.sq_SetMoveParticle("Particle/ATMagicBallLightMoveJump.ptl", horizonAngle, verticalAngle); | ||
|  | 	local particleCreater = obj.sq_var.GetparticleCreaterMap("ATMagicBallLight", "PassiveObject/Character/Mage/Particle/ATMagicBallLightTail1.ptl", obj); | ||
|  | 	particleCreater.Restart(0); | ||
|  | 	obj.sq_AddObjectParticleCreater("Particle/ATMagicBallLightTailJump1.ptl"); | ||
|  | 	obj.sq_AddObjectParticleCreater("Particle/ATMagicBallLightTailJump2.ptl"); | ||
|  | } | ||
|  | 
 | ||
|  | function procAppend_po_ATMagicBallLightJump(obj) | ||
|  | { | ||
|  | 	// 葆彻掘羹 - 赀楼撩 (县溯诠骁 溯樯) | ||
|  | 	local var = obj.getVar(); | ||
|  | 	if (var.getInt(VAR_IS_ELEMENTAL_RAIN_PASSIVE_OBJECT) > 0) | ||
|  | 	{ | ||
|  | 		if (obj.isMyControlObject() && obj.getZPos() <= 16) | ||
|  | 		{ | ||
|  | 			createLightExplosion(obj, null, null, false, 24283); | ||
|  | 			sq_SendDestroyPacketPassiveObject(obj); | ||
|  | 		} | ||
|  | 	} | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | // 葆彻掘羹 - 檩楼撩 | ||
|  | function setCustomData_po_ATMagicBallDarkJump(obj, receiveData) | ||
|  | { | ||
|  | 	if(!obj) | ||
|  | 		return 0; | ||
|  | 		 | ||
|  | 	local horizonAngle = receiveData.readFloat(); | ||
|  | 	local verticalAngle = receiveData.readFloat(); | ||
|  | 	local attackBonusRate = 0; | ||
|  | 	if (sq_BinaryGetReadSize() < receiveData.getSize()) | ||
|  | 	{ | ||
|  | 		// 奢问溘 掸? | ||
|  | 		attackBonusRate = receiveData.readDword(); | ||
|  | 		local attackInfo = sq_GetCurrentAttackInfo(obj); | ||
|  | 		sq_SetCurrentAttackBonusRate(attackInfo, attackBonusRate); | ||
|  | 		sq_SetCurrentAttackInfo(obj,sq_GetCurrentAttackInfo(obj)); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	local mage = obj.getTopCharacter(); | ||
|  | 	if (!mage) | ||
|  | 		return 0; | ||
|  | 		 | ||
|  | 	// 觼煎栖赝 嬴桧蛊缣 暧?怃 嫦饵陕紫陛 渗唳脾 | ||
|  | 	local angle = sq_GetIntData(mage, SKILL_ELEMENTAL_RAIN, 5); | ||
|  | 	verticalAngle = verticalAngle - angle; | ||
|  | 
 | ||
|  | 	local skill = sq_GetSkill(mage, SKILL_ELEMENTAL_CHANGE); | ||
|  | 	local skillLevel = sq_GetSkillLevel(mage, SKILL_ELEMENTAL_CHANGE); | ||
|  | 	attackBonusRate = sq_GetAttackBonusRate(skill, 6, 1.0) + attackBonusRate; | ||
|  | 
 | ||
|  | 	sq_SetCurrentAttackBonusRate(sq_GetCurrentAttackInfo(obj), attackBonusRate); | ||
|  | 	 | ||
|  | 	// ??赝暧 桧翕 陕紫蒂 亵瞰? | ||
|  | 	obj.sq_SetMoveParticle("Particle/ATMagicBallDarkMoveJump.ptl", horizonAngle, verticalAngle); | ||
|  | 	local particleCreater = obj.sq_var.GetparticleCreaterMap("ATMagicBallDark", "PassiveObject/Character/Mage/Particle/ATMagicBallDarkTail1.ptl", obj); | ||
|  | 	particleCreater.Restart(0); | ||
|  | 	obj.sq_AddObjectParticleCreater("Particle/ATMagicBallDarkTailJump1.ptl"); | ||
|  | 	obj.sq_AddObjectParticleCreater("Particle/ATMagicBallDarkTailJump2.ptl"); | ||
|  | 	//obj.sq_AddObjectParticleCreater("Particle/ATMagicBallDarkTailJump3.ptl"); | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | // 葆彻掘羹 - 热楼撩 | ||
|  | function setCustomData_po_ATMagicBallWaterJump(obj, receiveData) | ||
|  | { | ||
|  | 	if(!obj) | ||
|  | 		return; | ||
|  | 		 | ||
|  | 	local horizonAngle = receiveData.readFloat(); | ||
|  | 	local verticalAngle = receiveData.readFloat(); | ||
|  | 	 | ||
|  | 	if (sq_BinaryGetReadSize() < receiveData.getSize()) | ||
|  | 	{ | ||
|  | 		// 奢问溘 掸? | ||
|  | 		local attackBonusRate = receiveData.readDword(); | ||
|  | 		local attackInfo = sq_GetCurrentAttackInfo(obj); | ||
|  | 		sq_SetCurrentAttackBonusRate(attackInfo, attackBonusRate); | ||
|  | 		sq_SetCurrentAttackInfo(obj,sq_GetCurrentAttackInfo(obj)); | ||
|  | 	} | ||
|  | 	 | ||
|  | 	if (sq_BinaryGetReadSize() < receiveData.getSize()) | ||
|  | 	{ | ||
|  | 		// 县溯诠骁 溯樯缣怃 当撩胀 螃粽薛? | ||
|  | 		local flag = receiveData.readDword(); | ||
|  | 		local var = obj.getVar(); | ||
|  | 		 | ||
|  | 		var.setInt(VAR_IS_ELEMENTAL_RAIN_PASSIVE_OBJECT, flag); | ||
|  | 	} | ||
|  | 	 | ||
|  | 	// 觼煎栖赝 嬴桧蛊缣 暧?怃 嫦饵陕紫陛 渗唳脾 | ||
|  | 	local mage = obj.getTopCharacter(); | ||
|  | 	local angle = sq_GetIntData(mage, SKILL_ELEMENTAL_RAIN, 5); | ||
|  | 	verticalAngle = verticalAngle - angle; | ||
|  | 	 | ||
|  | 
 | ||
|  | 	// ??赝暧 桧翕 陕紫蒂 亵瞰? | ||
|  | 	obj.sq_SetMoveParticle("Particle/ATMagicBallWaterMoveJump.ptl", horizonAngle, verticalAngle); | ||
|  | 	local particleCreater = obj.sq_var.GetparticleCreaterMap("ATMagicBallWaterTailJump", "PassiveObject/Character/Mage/Particle/ATMagicBallWaterTail1.ptl", obj); | ||
|  | 	particleCreater.Restart(0); | ||
|  | 	obj.sq_AddObjectParticleCreater("Particle/ATMagicBallWaterTailJump1.ptl"); | ||
|  | 	obj.sq_AddObjectParticleCreater("Particle/ATMagicBallWaterTailJump2.ptl"); | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | function procAppend_po_ATMagicBallWaterJump(obj) | ||
|  | { | ||
|  | 	// 葆彻掘羹 - 热楼撩 (县溯诠骁 溯樯) | ||
|  | 	local var = obj.getVar(); | ||
|  | 	if (var.getInt(VAR_IS_ELEMENTAL_RAIN_PASSIVE_OBJECT) > 0) | ||
|  | 	{ | ||
|  | 		if (obj.isMyControlObject() && obj.getZPos() <= 16) | ||
|  | 		{ | ||
|  | 			createWaterExplosion(obj, null, null, false, 24282); | ||
|  | 			sq_SendDestroyPacketPassiveObject(obj); | ||
|  | 		} | ||
|  | 	} | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | // 葆彻掘羹 - ?楼撩 | ||
|  | function setCustomData_po_ATMagicBallFireJump(obj, receiveData) | ||
|  | { | ||
|  | 	if(!obj) | ||
|  | 		return; | ||
|  | 
 | ||
|  | 	local horizonAngle = receiveData.readFloat(); | ||
|  | 	local verticalAngle = receiveData.readFloat(); | ||
|  | 
 | ||
|  | 	if (sq_BinaryGetReadSize() < receiveData.getSize()) | ||
|  | 	{ | ||
|  | 		// 奢问溘 掸? | ||
|  | 		local attackBonusRate = receiveData.readDword(); | ||
|  | 		local attackInfo = sq_GetCurrentAttackInfo(obj); | ||
|  | 		sq_SetCurrentAttackBonusRate(attackInfo, attackBonusRate); | ||
|  | 		sq_SetCurrentAttackInfo(obj,sq_GetCurrentAttackInfo(obj)); | ||
|  | 	} | ||
|  | 	 | ||
|  | 	if (sq_BinaryGetReadSize() < receiveData.getSize()) | ||
|  | 	{ | ||
|  | 		// 县溯诠骁 溯樯缣怃 当撩胀 螃粽薛? | ||
|  | 		local flag = receiveData.readDword(); | ||
|  | 		local var = obj.getVar(); | ||
|  | 		 | ||
|  | 		var.setInt(VAR_IS_ELEMENTAL_RAIN_PASSIVE_OBJECT, flag); | ||
|  | 	} | ||
|  | 	 | ||
|  | 	// 觼煎栖赝 嬴桧蛊缣 暧?怃 嫦饵陕紫陛 渗唳脾 | ||
|  | 	local mage = obj.getTopCharacter(); | ||
|  | 	local angle = sq_GetIntData(mage, SKILL_ELEMENTAL_RAIN, 5); | ||
|  | 	verticalAngle = verticalAngle - angle; | ||
|  | 	 | ||
|  | 	// ??赝暧 桧翕 陕紫蒂 亵瞰? | ||
|  | 	obj.sq_SetMoveParticle("Particle/ATMagicBallFireMoveJump.ptl", horizonAngle, verticalAngle); | ||
|  | 	local particleCreater = obj.sq_var.GetparticleCreaterMap("ATMagicBallNoneTail", "PassiveObject/Character/Mage/Particle/ATMagicBallFireTail1.ptl", obj); | ||
|  | 	particleCreater.Restart(0); | ||
|  | 	obj.sq_AddObjectParticleCreater("Particle/ATMagicBallFireTailJump1.ptl"); | ||
|  | 	obj.sq_AddObjectParticleCreater("Particle/ATMagicBallFireTailJump2.ptl"); | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | function procAppend_po_ATMagicBallFireJump(obj) | ||
|  | { | ||
|  | 	// 葆彻掘羹 - ?楼撩 (县溯诠骁 溯樯) | ||
|  | 	local var = obj.getVar(); | ||
|  | 	if (var.getInt(VAR_IS_ELEMENTAL_RAIN_PASSIVE_OBJECT) > 0) | ||
|  | 	{ | ||
|  | 		if (obj.isMyControlObject() && obj.getZPos() <= 16) | ||
|  | 		{ | ||
|  | 			createFireExplosion(obj, null, null, false, 24281); | ||
|  | 			sq_SendDestroyPacketPassiveObject(obj); | ||
|  | 		} | ||
|  | 	} | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | // 葆彻掘羹 - 鼠楼撩 | ||
|  | function setCustomData_po_ATMagicBallNoneJump(obj, receiveData) | ||
|  | { | ||
|  | 	if(!obj) | ||
|  | 		return; | ||
|  | 		 | ||
|  | 	local horizonAngle = receiveData.readFloat(); | ||
|  | 	local verticalAngle = receiveData.readFloat(); | ||
|  | 
 | ||
|  | 	if (sq_BinaryGetReadSize() < receiveData.getSize()) | ||
|  | 	{ | ||
|  | 		// 奢问溘 掸? | ||
|  | 		local attackBonusRate = receiveData.readDword(); | ||
|  | 		local attackInfo = sq_GetCurrentAttackInfo(obj); | ||
|  | 		sq_SetCurrentAttackBonusRate(attackInfo, attackBonusRate); | ||
|  | 		sq_SetCurrentAttackInfo(obj,sq_GetCurrentAttackInfo(obj)); | ||
|  | 	} | ||
|  | 	 | ||
|  | 	// 觼煎栖赝 嬴桧蛊缣 暧?怃 嫦饵陕紫陛 渗唳脾 | ||
|  | 	local mage = obj.getTopCharacter(); | ||
|  | 	if (!mage) return; | ||
|  | 	 | ||
|  | 	local angle = sq_GetIntData(mage, SKILL_ELEMENTAL_RAIN, 5); | ||
|  | 	verticalAngle = verticalAngle - angle; | ||
|  | 	 | ||
|  | 	// ??赝暧 桧翕 陕紫蒂 亵瞰? | ||
|  | 	obj.sq_SetMoveParticle("Particle/ATMagicBallNoneMoveJump.ptl", horizonAngle, verticalAngle); | ||
|  | 	local particleCreater = obj.sq_var.GetparticleCreaterMap("ATMagicBallNoneTail", "PassiveObject/Character/Mage/Particle/ATMagicBallNoneTail.ptl", obj); | ||
|  | 	particleCreater.Restart(0); | ||
|  | 	obj.sq_AddObjectParticleCreater("Particle/ATMagicBallNoneTailJump.ptl"); | ||
|  | 		 | ||
|  | 	// 晦狱晦 熨湿 瞳辨 | ||
|  | 	mage.applyBasicAttackUp(sq_GetCurrentAttackInfo(obj),mage.getState());	 | ||
|  | 	sq_SetCurrentAttackInfo(obj,sq_GetCurrentAttackInfo(obj)); | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | // 瞳桧 翱楼 葆彻掘(?楼撩)缣 蜃挤. | ||
|  | // ?嫦 当撩 | ||
|  | function onAttack_po_ATMagicBallFireJumpMultiShot(obj, damager, boundingBox, isStuck) | ||
|  | {	// 翱楼 葆彻掘 ?楼撩 | ||
|  | 	createFireExplosion(obj, damager, boundingBox, isStuck, 24281); | ||
|  | 	return 0; | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | // 瞳桧 ?颤 葆彻掘(?楼撩)缣 蜃挤. | ||
|  | // ?嫦 当撩 | ||
|  | function onAttack_po_ATMagicBallFireJump(obj, damager, boundingBox, isStuck) | ||
|  | { | ||
|  | 	// ?颤 ?楼撩 | ||
|  | 	createFireExplosion(obj, damager, boundingBox, isStuck, 24214); | ||
|  | 	return 0; | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | // 瞳桧 翱楼 葆彻掘(热楼撩)缣 蜃挤. | ||
|  | // ?嫦 当撩 | ||
|  | function onAttack_po_ATMagicBallWaterJumpMultiShot(obj, damager, boundingBox, isStuck) | ||
|  | { | ||
|  | 	createWaterExplosion(obj, damager, boundingBox, isStuck, 24282); | ||
|  | 	return 0; | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | // 瞳桧 ?颤 葆彻掘(热楼撩)缣 蜃挤. | ||
|  | // ?嫦 当撩 | ||
|  | function onAttack_po_ATMagicBallWaterJump(obj, damager, boundingBox, isStuck) | ||
|  | { | ||
|  | 	createWaterExplosion(obj, damager, boundingBox, isStuck, 24215); | ||
|  | 	return 0; | ||
|  | } | ||
|  | 
 | ||
|  | // 瞳桧 翱楼 葆彻掘(赀楼撩)缣 蜃挤. | ||
|  | // ?嫦 当撩 | ||
|  | function onAttack_po_ATMagicBallLightJumpMultiShot(obj, damager, boundingBox, isStuck) | ||
|  | {	// ?颤 赀楼撩 | ||
|  | 	createLightExplosion(obj, damager, boundingBox, isStuck, 24283); | ||
|  | 	return 0; | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | // 瞳桧 ?颤 葆彻掘(赀楼撩)缣 蜃挤. | ||
|  | // ?嫦 当撩 | ||
|  | function onAttack_po_ATMagicBallLightJump(obj, damager, boundingBox, isStuck) | ||
|  | {	// ?颤 赀楼撩 | ||
|  | 	createLightExplosion(obj, damager, boundingBox, isStuck, 24216); | ||
|  | 	return 0; | ||
|  | } | ||
|  | 
 | ||
|  | 
 |