manifest_soul.lua

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