• 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 tibiarl spell Front Sweep

LucasFerraz

Systems Analyst
Joined
Jun 10, 2010
Messages
2,857
Reaction score
96
Location
Brazil
Description: A bit weaker than Fierce Berserk and only 3 sqm in front of you. It has a 6 seconds cooldown.

Can someone fix it?
LUA:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)

function getSpellDamage(cid, weaponSkill, weaponAttack, attackStrength)
	local level = getPlayerLevel(cid)

	local min = -((weaponSkill+weaponAttack)*0.6+(level/5))
	local max = -((weaponSkill+weaponAttack)*1.0+(level/5))

	return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "getSpellDamage")

local area = createCombatArea(AREA_SQUARE1X1)
setCombatArea(combat, area)

function onCastSpell(cid, var)
	if exhaustion.get(cid, 14007) == FALSE then
		exhaustion.set(cid, 14007, 6)
		doCombat(cid, combat, var)
		return true
	else
		doPlayerSendCancel(cid, "You are exhausted.")
		doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
		return true
	end
end
 
Code:
local area = createCombatArea(AREA_WAVE6, AREADIAGONAL_WAVE6)
setCombatArea(combat, area)

Add those in spells/lib/spells.lua

Code:
AREA_WAVE6 = {
    {0, 0, 0, 0, 0},
    {0, 1, 3, 1, 0},
    {0, 0, 0, 0, 0}
}

AREADIAGONAL_WAVE6 = {
    {0, 0, 1},
    {0, 3, 0},
    {1, 0, 0}
}
 
LUA:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)

local area = createCombatArea( {{0, 1, 1, 1, 0},{0, 0, 3, 0, 0}})
setCombatArea(combat, area)

function onGetFormulaValues(cid, level, skill, attack, factor)
	local skillTotal, levelTotal = skill + attack * 2, level / 3
	return -(skillTotal * 3.1 + levelTotal * 4), -(skillTotal * 3 + levelTotal * 5)
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
if exhaustion.get(cid, 14007) == FALSE then
		exhaustion.set(cid, 14007, 6)
		doCombat(cid, combat, var)
		return true
	else
		doPlayerSendCancel(cid, "You are exhausted.")
		doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
		return true
	end
end
XML:
    <instant name="Front Sweep" words="exori min" lvl="300" mana="200" direction="1" prem="1" needweapon="1" exhaustion="1000" needlearn="0" script="spells87/frontsweep.lua">
		<vocation id="4"/>
		<vocation id="8"/>
    </instant>
 
Back
Top