fiery_surge.lua

main 172 lines · 6 KB Raw
Alex Alex Commit Server upload 18/10/2026 23:38
1SPELL_ID = 00
2local min = 0
3local max = 0
4
5-- =============== COMBAT VARS ===============
6-- Areas/Combat for 0ms
7local combat0_Brush = createCombatObject()
8setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
9setCombatParam(combat0_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
10setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
11setCombatArea(combat0_Brush,createCombatArea({{3}}))
12function getDmg_Brush(cid, level, maglevel)
13
14 return -min, -max
15end
16setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
17
18-- Areas/Combat for 100ms
19local combat1_Brush_2 = createCombatObject()
20setCombatParam(combat1_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
21setCombatParam(combat1_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
22setCombatArea(combat1_Brush_2,createCombatArea({{0, 1},
23{2, 0}}))
24function getDmg_Brush_2(cid, level, maglevel)
25
26 return -min, -max
27end
28setCombatCallback(combat1_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
29
30-- Areas/Combat for 200ms
31local combat2_Brush_2 = createCombatObject()
32setCombatParam(combat2_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
33setCombatParam(combat2_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
34setCombatArea(combat2_Brush_2,createCombatArea({{0, 2},
35{1, 0}}))
36function getDmg_Brush_2(cid, level, maglevel)
37
38 return -min, -max
39end
40setCombatCallback(combat2_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
41
42-- Areas/Combat for 300ms
43local combat3_Brush_2 = createCombatObject()
44setCombatParam(combat3_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
45setCombatParam(combat3_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
46setCombatArea(combat3_Brush_2,createCombatArea({{1, 0},
47{0, 2}}))
48function getDmg_Brush_2(cid, level, maglevel)
49
50 return -min, -max
51end
52setCombatCallback(combat3_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
53
54-- Areas/Combat for 400ms
55local combat4_Brush_2 = createCombatObject()
56setCombatParam(combat4_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
57setCombatParam(combat4_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
58setCombatArea(combat4_Brush_2,createCombatArea({{2, 0},
59{0, 1}}))
60function getDmg_Brush_2(cid, level, maglevel)
61
62 return -min, -max
63end
64setCombatCallback(combat4_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
65
66-- Areas/Combat for 500ms
67local combat5_Brush_2 = createCombatObject()
68setCombatParam(combat5_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
69setCombatParam(combat5_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
70setCombatArea(combat5_Brush_2,createCombatArea({{2, 1}}))
71function getDmg_Brush_2(cid, level, maglevel)
72
73 return -min, -max
74end
75setCombatCallback(combat5_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
76
77-- Areas/Combat for 600ms
78local combat6_Brush_2 = createCombatObject()
79setCombatParam(combat6_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
80setCombatParam(combat6_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
81setCombatArea(combat6_Brush_2,createCombatArea({{1},
82{2}}))
83function getDmg_Brush_2(cid, level, maglevel)
84
85 return -min, -max
86end
87setCombatCallback(combat6_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
88
89-- Areas/Combat for 700ms
90local combat7_Brush_2 = createCombatObject()
91setCombatParam(combat7_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
92setCombatParam(combat7_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
93setCombatArea(combat7_Brush_2,createCombatArea({{1, 2}}))
94function getDmg_Brush_2(cid, level, maglevel)
95
96 return -min, -max
97end
98setCombatCallback(combat7_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
99
100-- Areas/Combat for 800ms
101local combat8_Brush_2 = createCombatObject()
102setCombatParam(combat8_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
103setCombatParam(combat8_Brush_2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
104setCombatArea(combat8_Brush_2,createCombatArea({{2},
105{1}}))
106function getDmg_Brush_2(cid, level, maglevel)
107
108 return -min, -max
109end
110setCombatCallback(combat8_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
111
112-- =============== CORE FUNCTIONS ===============
113local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part
114 if (isCreature(cid)) then
115 doCombat(cid, c, var)
116 if (dirList ~= nil) then -- Emit distance effects
117 local i = 2;
118 while (i < #dirList) do
119 doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
120 i = i + 2
121 end
122 end
123 end
124end
125function checkSpell14(cid)
126 local GUN_ID = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_01)
127 local CHECK_SLOT_01 = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_04)
128 local CHECK_SLOT_02 = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_05)
129 local CHECK_SLOT_03 = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_06)
130 SPELL_ID = 14
131
132 if GUN_ID > 0 then
133 if CHECK_SLOT_01 == SPELL_ID then
134 cid:sendCancelMessage("@SpellCooldown 01")
135 return true
136 elseif CHECK_SLOT_02 == SPELL_ID then
137 cid:sendCancelMessage("@SpellCooldown 02")
138 return true
139 elseif CHECK_SLOT_03 == SPELL_ID then
140 cid:sendCancelMessage("@SpellCooldown 03")
141 return true
142 else
143 return false
144 end
145 else
146 return false
147 end
148 return true
149end
150function onCastSpell(cid, var)
151 if checkSpell14(cid) or cid:getGroup():getAccess() then
152 local startPos = getCreaturePosition(cid)
153 local GUN_ID = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_01)
154 local starGun = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_03)
155 local levelGun = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_07)
156 min = onDamage(cid, GUN_ID, levelGun, starGun, "SKILL_MIN", SPELL_ID)
157 max = min
158 RunPart(combat0_Brush,cid,var)
159 addEvent(RunPart,100,combat1_Brush_2,cid.uid,var)
160 addEvent(RunPart,200,combat2_Brush_2,cid.uid,var)
161 addEvent(RunPart,300,combat3_Brush_2,cid.uid,var)
162 addEvent(RunPart,400,combat4_Brush_2,cid.uid,var)
163 addEvent(RunPart,500,combat5_Brush_2,cid.uid,var)
164 addEvent(RunPart,600,combat6_Brush_2,cid.uid,var)
165 addEvent(RunPart,700,combat7_Brush_2,cid.uid,var)
166 addEvent(RunPart,800,combat8_Brush_2,cid.uid,var)
167 return true
168 else
169 cid:getPosition():sendMagicEffect(03)
170 return false
171 end
172end
Top