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");
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 |