• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • New resources must be posted under Resources tab. A discussion thread will be created automatically, you can't open threads manually anymore.

Spell Hollysan (Only Paladins) (Spell by me)

tev

Banned User
Joined
Apr 19, 2013
Messages
113
Reaction score
6
Name of magic: Hollysan
Vocations: Paladin and Royal Paladin
The spell unleashes a "double" hit. Occupies 35 sqm.
OBS. This spell is strong!
Versions: 8.60+
Hits 300 ~ 800

Spell created now... And it's my FIRST spell.

XgTc9Yc.gif

(https://i.imgur.com/XgTc9Yc.gif)

Go to data/spells/attack and create hollysan.lua.
Put this:

Code:
-------- SPELL CREATED BY @teev.  ---------

-- =============== COMBAT VARS ===============
-- Areas/Combat for 0ms
local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_STUN)
setCombatParam(combat0_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_HOLY)
setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatArea(combat0_Brush,createCombatArea({{1, 1, 1, 1, 1, 1, 1},
{0, 1, 0, 0, 0, 1, 0},
{0, 1, 0, 2, 0, 1, 0},
{0, 1, 0, 0, 0, 1, 0},
{1, 1, 1, 1, 1, 1, 1}}))
function getDmg_Brush(cid, level, maglevel)
return (300)*-1,(700)*-1 
end
setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")


local con___combat0_Brush = createConditionObject(0)
setCombatCondition(combat0_Brush, con___combat0_Brush)
local dfcombat0_Brush = {CONST_ANI_HOLY,0,-2,2,1,2,2,1,2,-1,2,0,2,-2,2,-2,1,-2,0,-2,-1,2,-2,2,-1,1,-2,2,0,-1,-2,-2,-2,3,2,-3,2,-3,-2,3,-2}local combat0_Brush_2 = createCombatObject()
setCombatParam(combat0_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
setCombatParam(combat0_Brush_2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat0_Brush_2,createCombatArea({{1, 1, 1},
{1, 2, 1},
{1, 1, 1}}))
function getDmg_Brush_2(cid, level, maglevel)
return (100)*-1,(572)*-1 
end
setCombatCallback(combat0_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")local combat0_Brush_3 = createCombatObject()
setCombatParam(combat0_Brush_3, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
setCombatParam(combat0_Brush_3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat0_Brush_3,createCombatArea({{1, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 2, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 1}}))
function getDmg_Brush_3(cid, level, maglevel)
return (300)*-1,(572)*-1 
end
setCombatCallback(combat0_Brush_3, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_3")


-- Areas/Combat for 900ms
local combat9_Brush = createCombatObject()
setCombatParam(combat9_Brush, COMBAT_PARAM_EFFECT, CONST_ME_STUN)
setCombatParam(combat9_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_HOLY)
setCombatParam(combat9_Brush, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatArea(combat9_Brush,createCombatArea({{1, 1, 1, 1, 1, 1, 1},
{0, 1, 0, 0, 0, 1, 0},
{0, 1, 0, 2, 0, 1, 0},
{0, 1, 0, 0, 0, 1, 0},
{1, 1, 1, 1, 1, 1, 1}}))
function getDmg_Brush(cid, level, maglevel)
return (300)*-1,(700)*-1 
end
setCombatCallback(combat9_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")


local con___combat9_Brush = createConditionObject(0)
setCombatCondition(combat9_Brush, con___combat9_Brush)
local dfcombat9_Brush = {CONST_ANI_HOLY,3,2,3,-2,2,2,2,1,2,0,2,-1,2,-2,1,2,1,-2,0,2,0,-2,-1,2,-1,-2,-2,2,-2,1,-2,0,-2,-1,-2,-2,-3,2,-3,-2}local combat9_Brush_3 = createCombatObject()
setCombatParam(combat9_Brush_3, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
setCombatParam(combat9_Brush_3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat9_Brush_3,createCombatArea({{1, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 2, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 1}}))
function getDmg_Brush_3(cid, level, maglevel)
return (300)*-1,(572)*-1 
end
setCombatCallback(combat9_Brush_3, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_3")local combat9_Brush_2 = createCombatObject()
setCombatParam(combat9_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
setCombatParam(combat9_Brush_2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat9_Brush_2,createCombatArea({{1, 1, 1},
{1, 2, 1},
{1, 1, 1}}))
function getDmg_Brush_2(cid, level, maglevel)
return (100)*-1,(572)*-1 
end
setCombatCallback(combat9_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")


-- =============== CORE FUNCTIONS ===============
local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part
if (isCreature(cid)) then
doCombat(cid, c, var)
if (dirList ~= nil) then -- Emit distance effects
local i = 2;
while (i < #dirList) do
doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
i = i + 2
end 
end
end
end


function onCastSpell(cid, var)
local startPos = getCreaturePosition(cid)
RunPart(combat0_Brush,cid,var,dfcombat0_Brush,startPos)
RunPart(combat0_Brush_2,cid,var)
RunPart(combat0_Brush_3,cid,var)
addEvent(RunPart,900,combat9_Brush,cid,var,dfcombat9_Brush,startPos)
addEvent(RunPart,900,combat9_Brush_3,cid,var)
addEvent(RunPart,900,combat9_Brush_2,cid,var)
return true
end

Now go to data/spells/spells.xml
Find: <!-- Attack Spells -->
And put this below:
Code:
<instant name="Hollysan" words="hollysan" lvl="400" maglv="10" mana="2500" exhaustion="1000" prem="0" needlearn="0" blockwalls="0" aggressive="1" event="script" value="attack/hollysan.lua">
<vocation name="Paladin"/>
<vocation name="Royal Paladin"/>
</instant>

Sorry my bad english, i'm brazilian. :p
 
Last edited:
nice work :D tev :D

- - - Updated - - -

could u make spell hit like Machine gun
 
Back
Top