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

Utura Gran with heal formula

Nightimarez

New Member
Joined
Jul 24, 2008
Messages
287
Reaction score
2
So we all know Utura Gran heals 40 every 3 seconds. I'd like for it to heal with Exura Vita's formula so it heals randomly.

Utura Gran script

PHP:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

local condition = createConditionObject(CONDITION_REGENERATION)
setConditionParam(condition, CONDITION_PARAM_SUBID, 1)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setConditionParam(condition, CONDITION_PARAM_TICKS, 1 * 60 * 1000)
setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, 40)
setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 3000)
setCombatCondition(combat, condition)

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

Exura Vita script

PHP:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

function onGetFormulaValues(cid, level, maglevel)
	min = (level * 1 + maglevel * 4) * 2.08
	max = (level * 1 + maglevel * 4) * 2.7
	if min < 250 then
		min = 250
	end
	return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
	return doCombat(cid, combat, var)
end
 
maybe add to exura vita script somethink like this:

Code:
minimum = 5
maximum = 60
local condition = createConditionObject(CONDITION_REGENERATION)
setConditionParam(condition, CONDITION_PARAM_SUBID, 1)
setConditionParam(condition, CONDITION_PARAM_BUFF, true)
setConditionParam(condition, CONDITION_PARAM_TICKS, 1 * 60 * 1000)
setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, math.random(minimum,maximum))
setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 3000)

?
 
this /could/ be possible in 0.4
LUA:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)

function onCastSpell(cid, var)
	local level, maglevel = getPlayerLevel(cid), getPlayerMagLevel(cid)

	local min = (level + maglevel * 4) * 2.08
	local max = (level + maglevel * 4) * 2.7

	local condition = createConditionObject(CONDITION_REGENERATION)
	setConditionParam(condition, CONDITION_PARAM_SUBID, 1)
	setConditionParam(condition, CONDITION_PARAM_BUFF, true)
	setConditionParam(condition, CONDITION_PARAM_TICKS, 1 * 60 * 1000)
	setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, math.max(250, math.random(min, max)))
	setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 3000)

	doAddCondition(cid, condition)
	return doCombat(cid, combat, var)
end
 
Back
Top