cursed_misery.lua

main 71 lines · 2.2 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_EXPLOSIONAREA)
9setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
10setCombatArea(combat0_Brush,createCombatArea({{1, 1, 1},
11{1, 2, 1},
12{1, 1, 1}}))
13function getDmg_Brush(cid, level, maglevel)
14
15 return -min, -max
16end
17setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
18
19-- =============== CORE FUNCTIONS ===============
20local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part
21 if (isCreature(cid)) then
22 doCombat(cid, c, var)
23 if (dirList ~= nil) then -- Emit distance effects
24 local i = 2;
25 while (i < #dirList) do
26 doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
27 i = i + 2
28 end
29 end
30 end
31end
32function checkSpell23(cid)
33 local GUN_ID = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_01)
34 local CHECK_SLOT_01 = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_04)
35 local CHECK_SLOT_02 = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_05)
36 local CHECK_SLOT_03 = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_06)
37 SPELL_ID = 23
38
39 if GUN_ID > 0 then
40 if CHECK_SLOT_01 == SPELL_ID then
41 cid:sendCancelMessage("@SpellCooldown 01")
42 return true
43 elseif CHECK_SLOT_02 == SPELL_ID then
44 cid:sendCancelMessage("@SpellCooldown 02")
45 return true
46 elseif CHECK_SLOT_03 == SPELL_ID then
47 cid:sendCancelMessage("@SpellCooldown 03")
48 return true
49 else
50 return false
51 end
52 else
53 return false
54 end
55 return true
56end
57function onCastSpell(cid, var)
58 if checkSpell23(cid) or cid:getGroup():getAccess() then
59 local startPos = getCreaturePosition(cid)
60 local GUN_ID = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_01)
61 local starGun = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_03)
62 local levelGun = cid:getStorageValue(_SYSTEM.INVENTARIO[04].UID_07)
63 min = onDamage(cid, GUN_ID, levelGun, starGun, "SKILL_MIN", SPELL_ID)
64 max = min
65 RunPart(combat0_Brush,cid,var)
66 return true
67 else
68 cid:getPosition():sendMagicEffect(03)
69 return false
70 end
71end
Top