• 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 Good exori, exori gran, exori con

Gesior.pl

Mega Noob&LOL 2012
Senator
Joined
Sep 18, 2007
Messages
2,968
Solutions
99
Reaction score
3,384
Location
Poland
GitHub
gesior
My spells from war server. Good dmg for pvp lvl 50-450. Easy to modify hits.
exori (berserk.lua):
PHP:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)

local area = createCombatArea(AREA_SQUARE1X1)
setCombatArea(combat, area)
function getSpellDamage(cid, weaponSkill, weaponAttack, attackStrength)
    local hit = (getPlayerLevel(cid) * 1.2 + weaponSkill * 2.0 + weaponAttack * 1.5 + (getPlayerMagLevel(cid)+1) / 3) * 1.2 
	local damage = -(math.random(hit * 0.7, hit))
	    return damage, damage
	    end
	    setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "getSpellDamage")
	    
	    function onCastSpell(cid, var)
		return doCombat(cid, combat, var)
		end
exori gran (fierce berserk.lua):
PHP:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)

local area = createCombatArea(AREA_SQUARE1X1)
setCombatArea(combat, area)
function getSpellDamage(cid, weaponSkill, weaponAttack, attackStrength)
    local hit = (getPlayerLevel(cid) * 1.0 + weaponSkill * 0.5 + weaponAttack * 1.2 + (getPlayerMagLevel(cid)+1) / 3) * 2.5
	local damage = -(math.random(hit * 0.7, hit))
	    return damage, damage
	    end
	    setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "getSpellDamage")
	    
	    function onCastSpell(cid, var)
		return doCombat(cid, combat, var)
		end
exori con (ethereal spear.lua):
PHP:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, TRUE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ETHEREALSPEAR)

function getSpellDamage(cid, attackSkill, weaponAttack, attackFactor)
    local hit = (getPlayerLevel(cid) * 1.0 + (getPlayerSkill(cid, 4) * 2.0 + 25 + (getPlayerMagLevel(cid)+1) / 3) * 1.3
	local damage = -(math.random(hit * 0.5, hit))
	return damage, damage
end

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "getSpellDamage")
    
function onCastSpell(cid, var)
	return doCombat(cid, combat, var)
end
 
Last edited:
Nice forumula's.
I think all the spell's should be similar.
 
Hi Gesior,
please replace 'attackSkill' and 'weaponAttack' with '(getPlayerSkill(cid, 4)' and '25' in the Ethereal Spear script, since damage is not dependant on the weapon you're wielding and your skill for that weapon ...
and you're able to cast Ethereal Spear even if you're not wielding any weapon.
 
WOW Very nice, but... If i want to do a exori hur (whirlwind spell)... How you could do this?
 
Hello very good spells formula but i find one bug :D .
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, TRUE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ETHEREALSPEAR)

function getSpellDamage(cid, attackSkill, weaponAttack, attackFactor)
local hit = (getPlayerLevel(cid) * 1.0 + (getPlayerSkill(cid, 4) * 2.0 + 25 + (getPlayerMagLevel(cid)+1) / 3) * 1.3)
local damage = -(math.random(hit * 0.5, hit))
return damage, damage
end

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "getSpellDamage")

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end
 
Back
Top