• 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!

Spell Exori Moooort (My Spell)

manyakbey

New Member
Joined
Jun 3, 2011
Messages
28
Reaction score
3
Hello ;d my 2nd spell.

Level req ; 250
Mag req ; 25
Mana req ; 2500
Voc. req ; MS (master sorcerer).

Min damage formula ; level+500+maglevel
Max damage formula ; level+500+maglevel*2

XML ;

Code:
<instant name="mBisa" words="exori moooort" lvl="250" maglv="25" mana="2500" exhaustion="1000" prem="0" needlearn="0" blockwalls="0" aggressive="1" event="script" value="mBisa.lua">
	<vocation id="5"/>
</instant>

Create ; mBisa.lua

Code:
-- SpellCreator generated.

-- =============== COMBAT VARS ===============
-- Areas/Combat for 0ms
local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(combat0_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat0_Brush,createCombatArea({{1, 0, 0, 0, 0, 0, 1},
{0, 1, 0, 0, 0, 1, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 0, 1, 3, 1, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 1, 0, 0, 0, 1, 0},
{1, 0, 0, 0, 0, 0, 1}}))
function getDmg_Brush(cid, level, maglevel)
	return (level+500+maglevel)*-1,(level+500+maglevel*2)*-1 
end
setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
local dfcombat0_Brush = {CONST_ANI_THROWINGKNIFE,2,-2,1,0,-1,1,1,-1,0,-1,1,1,0,1,0,0,-1,-1,-1,0,3,-3,-2,2,-3,3,-3,-3,-2,-2,2,2,3,3}local combat0_Brush_2 = createCombatObject()
setCombatParam(combat0_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD)
setCombatParam(combat0_Brush_2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ARROW)
setCombatParam(combat0_Brush_2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat0_Brush_2,createCombatArea({{1, 0, 0, 0, 1},
{1, 0, 2, 0, 1},
{1, 0, 0, 0, 1}}))
function getDmg_Brush_2(cid, level, maglevel)
	return (level+300+maglevel)*-1,(level+500+maglevel)*-1 
end
setCombatCallback(combat0_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2")
local dfcombat0_Brush_2 = {CONST_ANI_ETHEREALSPEAR,2,1,2,0,2,-1,-2,-1,-2,0,-2,1}

-- =============== 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,dfcombat0_Brush_2,startPos)
	return true
end
 
If this is meant for some RL maps, I'd recommend lowering the damage formula to something like:

MagLevel * 2 + Level TO MagLevel * 3 + Level

I'm not entirely sure if he meant this for just a random spell or for a serious server.
 
Back
Top