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