toxic_punch.lua

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