83 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			83 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | 
 | ||
|  | SUB_STATE_FIREMETEO_0	<- 0 | ||
|  | 
 | ||
|  | 
 | ||
|  | function onMouseButtonDown_FireMeteo(obj) | ||
|  | { | ||
|  | 	if (!obj) return; | ||
|  | 	 | ||
|  | 	local objectManager = obj.getObjectManager(); | ||
|  | 	local xPos = objectManager.getFieldXPos(IMouse.GetXPos(), ENUM_DRAWLAYER_NORMAL); | ||
|  | 	local yPos = objectManager.getFieldYPos(IMouse.GetYPos(), 0, ENUM_DRAWLAYER_NORMAL); | ||
|  | 	local zPos = 61; | ||
|  | 	 | ||
|  | 	if (yPos < TILE_FLOOR_START_Y) | ||
|  | 	{ // 夥款桧 卫蒙?朝 y谢?塭贼.. | ||
|  | 		return; | ||
|  | 	} | ||
|  | 	 | ||
|  | 	 | ||
|  | 	local ptl = sq_GetParticleInfo(obj, "Particle/CreatorFireMeteo.ptl"); | ||
|  | 	 | ||
|  | 	sq_BinaryParameterStartWrite(); | ||
|  | 	// ?塭嘐搅陛 伞鼠 号嬴 夥桧伞葬 等桧颤蒂 桧辨?栖棻. | ||
|  | 	// x, y, z == 亿郭?卫粽螃粽薛?陛 轿溘腆 够 | ||
|  | 	// wx, wy == 唳坚?卫陛 轿溘腆 够 | ||
|  | 	// delay ControlRate 唳坚?卫暧 蝶?萄 亵瞰辨 %高 | ||
|  | 	// warningMarkIndex == 唳坚?卫暧 谦盟 : 0 寰尔歜, 1 尔鳝, 2 渠?, 3 尔鳝 (嬴捱Only), 4 渠? (嬴捱Only) | ||
|  | 	local moveVariable1 = 500; | ||
|  | 	local naaMoveVariable1 = -400; // -800 | ||
|  | 	local createXDistance = xPos - moveVariable1; | ||
|  | 	local createYDistance = yPos; | ||
|  | 	local createZDistance = -naaMoveVariable1; | ||
|  | 	 | ||
|  | 	local dir = sq_GetDirection(obj); | ||
|  | 	if (dir == ENUM_DIRECTION_LEFT) | ||
|  | 	{ | ||
|  | 		createXDistance = xPos + moveVariable1; | ||
|  | 	} | ||
|  | 	 | ||
|  | 	sq_BinaryParameterWriteDword(createXDistance); | ||
|  | 	sq_BinaryParameterWriteDword(createYDistance); | ||
|  | 	sq_BinaryParameterWriteDword(createZDistance); | ||
|  | 	 | ||
|  | 	sq_BinaryParameterWriteDword(xPos); | ||
|  | 	sq_BinaryParameterWriteDword(yPos); | ||
|  | 	 | ||
|  | 	sq_BinaryParameterWriteDword(ENUM_DIRECTION_NEUTRAL); | ||
|  | 	sq_BinaryParameterWriteDword(200); // int delayControlRate | ||
|  | 	 | ||
|  | 	local markType = obj.sq_GetIntData(SKILL_FIREMETEO, 0); // 颤啪? 葆觼 谦盟(渗唳?虽 蜓匙!) | ||
|  | 	sq_BinaryParameterWriteDword(markType); //int warningMarkIndex | ||
|  | 
 | ||
|  | 	 | ||
|  | 	// 奢问溘 跷陛热纂 蒙机 | ||
|  | 	local level = sq_GetSkillLevel(obj, SKILL_CREATORFLAME); | ||
|  | 
 | ||
|  | 	// 1.奢问溘 跷陛 热纂 (%) | ||
|  | 	local addValue = sq_GetLevelData(obj, SKILL_CREATORFLAME, SKL_LV_1, level); | ||
|  | 	local addRate = addValue.tofloat() / 100.0; | ||
|  | 
 | ||
|  | 	print(" addRate:" + addRate); | ||
|  | 
 | ||
|  | 	local skillLevel = sq_GetSkillLevel(obj, SKILL_FIREMETEO); | ||
|  | 
 | ||
|  | 	local power = obj.sq_GetPowerWithPassive(SKILL_FIREMETEO, STATE_FIREMETEO, SKL_LV_0,-1,addRate.tofloat()); | ||
|  | 	local sizeRate = sq_GetLevelData(obj, SKILL_FIREMETEO, SKL_LV_1, skillLevel); | ||
|  | 
 | ||
|  | 	 | ||
|  | 	// 诡才螃 奢问溘 ?卫	 | ||
|  | 	sq_BinaryStartWrite(); | ||
|  | 	 // 奢问溘 撮? | ||
|  | 	sq_BinaryWriteDword(power); | ||
|  | 	 // size rate | ||
|  | 	sq_BinaryWriteDword(sizeRate); | ||
|  | 	 | ||
|  | 	 | ||
|  | 	local skill_level = obj.sq_GetSkillLevel(SKILL_FIREMETEO); | ||
|  | 	sq_CreatePassiveObjectAfterWarning(obj, 23501, skill_level, ptl);	 | ||
|  | 	 | ||
|  | 	obj.sq_PlaySound("R_METEO_CASTING"); | ||
|  | } | ||
|  | 
 |