1SPELL_ID = 00
2local min = 0
3local max = 0
4
5-- =============== COMBAT VARS ===============
6-- Areas/Combat for 100ms
7local combat1_Brush_2 = createCombatObject()
8setCombatParam(combat1_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
9setCombatParam(combat1_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
10setCombatArea(combat1_Brush_2,createCombatArea({{2, 0},
11{0, 1}}))
12function getDmg_Brush_2(cid, level, maglevel)
13
14 return -min, -max
15end
16setCombatCallback(combat1_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
17
18-- Areas/Combat for 0ms
19local combat0_Brush = createCombatObject()
20setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
21setCombatParam(combat0_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)
22setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
23setCombatArea(combat0_Brush,createCombatArea({{3}}))
24function getDmg_Brush(cid, level, maglevel)
25
26 return -min, -max
27end
28setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
29
30-- Areas/Combat for 200ms
31local combat2_Brush_2 = createCombatObject()
32setCombatParam(combat2_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
33setCombatParam(combat2_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
34setCombatArea(combat2_Brush_2,createCombatArea({{0, 2},
35{0, 0},
36{1, 0}}))
37function getDmg_Brush_2(cid, level, maglevel)
38
39 return -min, -max
40end
41setCombatCallback(combat2_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
42
43-- Areas/Combat for 300ms
44local combat3_Brush_2 = createCombatObject()
45setCombatParam(combat3_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
46setCombatParam(combat3_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
47setCombatArea(combat3_Brush_2,createCombatArea({{1, 0},
48{0, 2}}))
49function getDmg_Brush_2(cid, level, maglevel)
50
51 return -min, -max
52end
53setCombatCallback(combat3_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
54
55-- Areas/Combat for 400ms
56local combat4_Brush_2 = createCombatObject()
57setCombatParam(combat4_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
58setCombatParam(combat4_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
59setCombatArea(combat4_Brush_2,createCombatArea({{0, 0, 1},
60{2, 0, 0}}))
61function getDmg_Brush_2(cid, level, maglevel)
62
63 return -min, -max
64end
65setCombatCallback(combat4_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
66
67-- Areas/Combat for 500ms
68local combat5_Brush_2 = createCombatObject()
69setCombatParam(combat5_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
70setCombatParam(combat5_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
71setCombatArea(combat5_Brush_2,createCombatArea({{2, 0, 0, 1}}))
72function getDmg_Brush_2(cid, level, maglevel)
73
74 return -min, -max
75end
76setCombatCallback(combat5_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
77
78-- Areas/Combat for 600ms
79local combat6_Brush_2 = createCombatObject()
80setCombatParam(combat6_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
81setCombatParam(combat6_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
82setCombatArea(combat6_Brush_2,createCombatArea({{2, 0},
83{0, 0},
84{0, 1}}))
85function getDmg_Brush_2(cid, level, maglevel)
86
87 return -min, -max
88end
89setCombatCallback(combat6_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
90
91-- Areas/Combat for 700ms
92local combat7_Brush_2 = createCombatObject()
93setCombatParam(combat7_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
94setCombatParam(combat7_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
95setCombatArea(combat7_Brush_2,createCombatArea({{1, 2}}))
96function getDmg_Brush_2(cid, level, maglevel)
97
98 return -min, -max
99end
100setCombatCallback(combat7_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
101
102-- Areas/Combat for 800ms
103local combat8_Brush_2 = createCombatObject()
104setCombatParam(combat8_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
105setCombatParam(combat8_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
106setCombatArea(combat8_Brush_2,createCombatArea({{2, 0, 0},
107{0, 0, 1}}))
108function getDmg_Brush_2(cid, level, maglevel)
109
110 return -min, -max
111end
112setCombatCallback(combat8_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
113
114-- Areas/Combat for 900ms
115local combat9_Brush_2 = createCombatObject()
116setCombatParam(combat9_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
117setCombatParam(combat9_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
118setCombatArea(combat9_Brush_2,createCombatArea({{2},
119{0},
120{0},
121{1}}))
122function getDmg_Brush_2(cid, level, maglevel)
123
124 return -min, -max
125end
126setCombatCallback(combat9_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
127
128-- Areas/Combat for 1000ms
129local combat10_Brush_2 = createCombatObject()
130setCombatParam(combat10_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
131setCombatParam(combat10_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
132setCombatArea(combat10_Brush_2,createCombatArea({{0, 1},
133{0, 0},
134{2, 0}}))
135function getDmg_Brush_2(cid, level, maglevel)
136
137 return -min, -max
138end
139setCombatCallback(combat10_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
140
141-- Areas/Combat for 1100ms
142local combat11_Brush_2 = createCombatObject()
143setCombatParam(combat11_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
144setCombatParam(combat11_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
145setCombatArea(combat11_Brush_2,createCombatArea({{1, 0, 2}}))
146function getDmg_Brush_2(cid, level, maglevel)
147
148 return -min, -max
149end
150setCombatCallback(combat11_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
151
152-- Areas/Combat for 1200ms
153local combat12_Brush_2 = createCombatObject()
154setCombatParam(combat12_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
155setCombatParam(combat12_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
156setCombatArea(combat12_Brush_2,createCombatArea({{2, 0, 0, 0},
157{0, 0, 0, 0},
158{0, 0, 0, 1}}))
159function getDmg_Brush_2(cid, level, maglevel)
160
161 return -min, -max
162end
163setCombatCallback(combat12_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
164
165-- Areas/Combat for 1300ms
166local combat13_Brush_2 = createCombatObject()
167setCombatParam(combat13_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
168setCombatParam(combat13_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
169setCombatArea(combat13_Brush_2,createCombatArea({{1},
170{2}}))
171function getDmg_Brush_2(cid, level, maglevel)
172
173 return -min, -max
174end
175setCombatCallback(combat13_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
176
177-- Areas/Combat for 1400ms
178local combat14_Brush_2 = createCombatObject()
179setCombatParam(combat14_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
180setCombatParam(combat14_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
181setCombatArea(combat14_Brush_2,createCombatArea({{2},
182{1}}))
183function getDmg_Brush_2(cid, level, maglevel)
184
185 return -min, -max
186end
187setCombatCallback(combat14_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
188
189-- Areas/Combat for 1500ms
190local combat15_Brush_2 = createCombatObject()
191setCombatParam(combat15_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
192setCombatParam(combat15_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
193setCombatArea(combat15_Brush_2,createCombatArea({{0, 0, 2},
194{0, 0, 0},
195{1, 0, 0}}))
196function getDmg_Brush_2(cid, level, maglevel)
197
198 return -min, -max
199end
200setCombatCallback(combat15_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
201
202-- Areas/Combat for 1600ms
203local combat16_Brush_2 = createCombatObject()
204setCombatParam(combat16_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
205setCombatParam(combat16_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
206setCombatArea(combat16_Brush_2,createCombatArea({{2, 1}}))
207function getDmg_Brush_2(cid, level, maglevel)
208
209 return -min, -max
210end
211setCombatCallback(combat16_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
212
213-- Areas/Combat for 1700ms
214local combat17_Brush_2 = createCombatObject()
215setCombatParam(combat17_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
216setCombatParam(combat17_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
217setCombatArea(combat17_Brush_2,createCombatArea({{0, 0, 1},
218{0, 0, 0},
219{2, 0, 0}}))
220function getDmg_Brush_2(cid, level, maglevel)
221
222 return -min, -max
223end
224setCombatCallback(combat17_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
225
226-- Areas/Combat for 1800ms
227local combat18_Brush_2 = createCombatObject()
228setCombatParam(combat18_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
229setCombatParam(combat18_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
230setCombatArea(combat18_Brush_2,createCombatArea({{2, 0},
231{0, 0},
232{0, 1}}))
233function getDmg_Brush_2(cid, level, maglevel)
234
235 return -min, -max
236end
237setCombatCallback(combat18_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
238
239-- Areas/Combat for 1900ms
240local combat19_Brush_2 = createCombatObject()
241setCombatParam(combat19_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
242setCombatParam(combat19_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
243setCombatArea(combat19_Brush_2,createCombatArea({{1, 0},
244{0, 0},
245{0, 2}}))
246function getDmg_Brush_2(cid, level, maglevel)
247
248 return -min, -max
249end
250setCombatCallback(combat19_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
251
252-- Areas/Combat for 2000ms
253local combat20_Brush_2 = createCombatObject()
254setCombatParam(combat20_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
255setCombatParam(combat20_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
256setCombatArea(combat20_Brush_2,createCombatArea({{2},
257{0},
258{0},
259{1}}))
260function getDmg_Brush_2(cid, level, maglevel)
261
262 return -min, -max
263end
264setCombatCallback(combat20_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
265
266-- Areas/Combat for 2100ms
267local combat21_Brush_2 = createCombatObject()
268setCombatParam(combat21_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
269setCombatParam(combat21_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
270setCombatArea(combat21_Brush_2,createCombatArea({{1, 0, 0},
271{0, 0, 2}}))
272function getDmg_Brush_2(cid, level, maglevel)
273
274 return -min, -max
275end
276setCombatCallback(combat21_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
277
278-- Areas/Combat for 2200ms
279local combat22_Brush_2 = createCombatObject()
280setCombatParam(combat22_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
281setCombatParam(combat22_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
282setCombatArea(combat22_Brush_2,createCombatArea({{2, 0, 1}}))
283function getDmg_Brush_2(cid, level, maglevel)
284
285 return -min, -max
286end
287setCombatCallback(combat22_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
288
289-- Areas/Combat for 2300ms
290local combat23_Brush_2 = createCombatObject()
291setCombatParam(combat23_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
292setCombatParam(combat23_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
293setCombatArea(combat23_Brush_2,createCombatArea({{1, 2}}))
294function getDmg_Brush_2(cid, level, maglevel)
295
296 return -min, -max
297end
298setCombatCallback(combat23_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
299
300-- Areas/Combat for 2400ms
301local combat24_Brush_2 = createCombatObject()
302setCombatParam(combat24_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
303setCombatParam(combat24_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
304setCombatArea(combat24_Brush_2,createCombatArea({{2, 0, 0, 0},
305{0, 0, 0, 1}}))
306function getDmg_Brush_2(cid, level, maglevel)
307
308 return -min, -max
309end
310setCombatCallback(combat24_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
311
312-- Areas/Combat for 2500ms
313local combat25_Brush_2 = createCombatObject()
314setCombatParam(combat25_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
315setCombatParam(combat25_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
316setCombatArea(combat25_Brush_2,createCombatArea({{0, 0, 0, 1},
317{2, 0, 0, 0}}))
318function getDmg_Brush_2(cid, level, maglevel)
319
320 return -min, -max
321end
322setCombatCallback(combat25_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
323
324-- Areas/Combat for 2600ms
325local combat26_Brush_2 = createCombatObject()
326setCombatParam(combat26_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
327setCombatParam(combat26_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
328setCombatArea(combat26_Brush_2,createCombatArea({{0, 0, 2},
329{1, 0, 0}}))
330function getDmg_Brush_2(cid, level, maglevel)
331
332 return -min, -max
333end
334setCombatCallback(combat26_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
335
336-- Areas/Combat for 2700ms
337local combat27_Brush_2 = createCombatObject()
338setCombatParam(combat27_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
339setCombatParam(combat27_Brush_2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
340setCombatArea(combat27_Brush_2,createCombatArea({{0, 0, 2},
341{0, 0, 0},
342{1, 0, 0}}))
343function getDmg_Brush_2(cid, level, maglevel)
344
345 return -min, -max
346end
347setCombatCallback(combat27_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
348
349-- =============== CORE FUNCTIONS ===============
350local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part
351 if (isCreature(cid)) then
352 doCombat(cid, c, var)
353 if (dirList ~= nil) then -- Emit distance effects
354 local i = 2;
355 while (i < #dirList) do
356 doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
357 i = i + 2
358 end
359 end
360 end
361end
362function checkSpell27(cid)
363 local GUN_ID = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_01)
364 local CHECK_SLOT_01 = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_04)
365 local CHECK_SLOT_02 = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_05)
366 local CHECK_SLOT_03 = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_06)
367 SPELL_ID = 27
368
369 if GUN_ID > 0 then
370 if CHECK_SLOT_01 == SPELL_ID then
371 cid:sendCancelMessage("@SpellCooldown 01")
372 return true
373 elseif CHECK_SLOT_02 == SPELL_ID then
374 cid:sendCancelMessage("@SpellCooldown 02")
375 return true
376 elseif CHECK_SLOT_03 == SPELL_ID then
377 cid:sendCancelMessage("@SpellCooldown 03")
378 return true
379 else
380 return false
381 end
382 else
383 return false
384 end
385 return true
386end
387function onCastSpell(cid, var)
388 if checkSpell27(cid) or cid:getGroup():getAccess() then
389 local startPos = getCreaturePosition(cid)
390 local GUN_ID = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_01)
391 local starGun = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_03)
392 local levelGun = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_07)
393 min = onDamage(cid, GUN_ID, levelGun, starGun, "SKILL_MIN", SPELL_ID)
394 max = min
395 addEvent(RunPart,100,combat1_Brush_2,cid.uid,var)
396 RunPart(combat0_Brush,cid,var)
397 addEvent(RunPart,200,combat2_Brush_2,cid.uid,var)
398 addEvent(RunPart,300,combat3_Brush_2,cid.uid,var)
399 addEvent(RunPart,400,combat4_Brush_2,cid.uid,var)
400 addEvent(RunPart,500,combat5_Brush_2,cid.uid,var)
401 addEvent(RunPart,600,combat6_Brush_2,cid.uid,var)
402 addEvent(RunPart,700,combat7_Brush_2,cid.uid,var)
403 addEvent(RunPart,800,combat8_Brush_2,cid.uid,var)
404 addEvent(RunPart,900,combat9_Brush_2,cid.uid,var)
405 addEvent(RunPart,1000,combat10_Brush_2,cid.uid,var)
406 addEvent(RunPart,1100,combat11_Brush_2,cid.uid,var)
407 addEvent(RunPart,1200,combat12_Brush_2,cid.uid,var)
408 addEvent(RunPart,1300,combat13_Brush_2,cid.uid,var)
409 addEvent(RunPart,1400,combat14_Brush_2,cid.uid,var)
410 addEvent(RunPart,1500,combat15_Brush_2,cid.uid,var)
411 addEvent(RunPart,1600,combat16_Brush_2,cid.uid,var)
412 addEvent(RunPart,1700,combat17_Brush_2,cid.uid,var)
413 addEvent(RunPart,1800,combat18_Brush_2,cid.uid,var)
414 addEvent(RunPart,1900,combat19_Brush_2,cid.uid,var)
415 addEvent(RunPart,2000,combat20_Brush_2,cid.uid,var)
416 addEvent(RunPart,2100,combat21_Brush_2,cid.uid,var)
417 addEvent(RunPart,2200,combat22_Brush_2,cid.uid,var)
418 addEvent(RunPart,2300,combat23_Brush_2,cid.uid,var)
419 addEvent(RunPart,2400,combat24_Brush_2,cid.uid,var)
420 addEvent(RunPart,2500,combat25_Brush_2,cid.uid,var)
421 addEvent(RunPart,2600,combat26_Brush_2,cid.uid,var)
422 addEvent(RunPart,2700,combat27_Brush_2,cid.uid,var)
423 return true
424 else
425 cid:getPosition():sendMagicEffect(03)
426 return false
427 end
428end