Brayoth
Monster:
'data/monster'
Spells:
--Brayoth_FBs.lua
--Brayoth_FS.lua
--Brayoth_Missile.lua
--Brayoth_Wave.lua
'data/spells/scripts/Brayoth'
Monster:
PHP:
<?xml version="1.0" encoding="UTF-8"?>
<monster name="Brayoth" nameDescription="a rebel dragon lord" race="blood" experience="16000" speed="320" manacost="10000">
<health now="23500" max="23500"/>
<look type="39" head="20" body="30" legs="40" feet="50" corpse="5984" />
<targetchange interval="5000" chance="15"/>
<strategy attack="80" defense="20"/>
<flags>
<flag summonable="0"/>
<flag attackable="1"/>
<flag hostile="1"/>
<flag illusionable="0"/>
<flag convinceable="0"/>
<flag pushable="0"/>
<flag canpushitems="1"/>
<flag canpushcreatures="1"/>
<flag targetdistance="1"/>
<flag staticattack="70"/>
<flag runonhealth="2500"/>
</flags>
<attacks>
<attack name="melee" interval="2000" min="-360" max="-1035"/>
<attack name="Brayoth_Missile" interval="2000" chance="30" min="-360" max="-930"/>
<attack name="Brayoth_FBs" interval="2000" chance="20" min="-260" max="-760"/>
<attack name="Brayoth_FS" interval="3000" chance="10" min="-830" max="-1460"/>
<attack name="Brayoth_Wave" interval="2000" chance="30" min="-530" max="-1190"/>
<attack name="speed" interval="6000" chance="10" range="7" speedchange="-500" duration="20000">
<attribute key="areaEffect" value="redshimmer"/>
</attack>
</attacks>
<defenses armor="50" defense="55">
<defense name="healing" interval="2000" chance="20" min="390" max="650">
<attribute key="areaEffect" value="blueshimmer"/>
</defense>
</defenses>
<immunities>
<immunity physical="0"/>
<immunity energy="0"/>
<immunity fire="1"/>
<immunity poison="1"/>
<immunity lifedrain="1"/>
<immunity paralyze="1"/>
<immunity outfit="1"/>
<immunity drunk="1"/>
<immunity invisible="1"/>
</immunities>
<summons maxSummons="5">
<summon name="dragon lord" interval="4000" chance="10" max="3"/>
<summon name="dragon" interval="4000" chance="10" max="2"/>
</summons>
<voices interval="5000" chance="10">
<voice sentence="I am back, prepare yourself to my revenge!" yell="1"/>
<voice sentence="Don't stay on my way!" yell="0"/>
<voice sentence="GROARRRRRRR" yell="1"/>
<voice sentence="Your will burn yourself!" yell="0"/>
</voices>
<loot>
<item id="2148" countmax="100" chance1="100000" chancemax="10"/>
<item id="2148" countmax="100" chance1="100000" chancemax="10"/>
<item id="2148" countmax="100" chance1="100000" chancemax="10"/>
<item id="2148" countmax="100" chance1="100000" chancemax="10"/>
<item id="2672" countmax="10" chance1="20000" chancemax="5"/>
<item id="2469" chance="300"/>
<item id="2522" chance="600"/>
<item id="2492" chance="4000"/>
<item id="1987" chance="100000">
<inside>
<item id="2148" countmax="100" chance1="100000" chancemax="10"/>
<item id="2148" countmax="100" chance1="100000" chancemax="10"/>
<item id="2148" countmax="100" chance1="100000" chancemax="10"/>
<item id="2498" chance="8000"/>
<item id="7402" chance="8000"/>
<item id="2414" chance="8000"/>
<item id="2392" chance="8000"/>
<item id="2146" countmax="10" chance1="4000" chancemax="0"/>
</inside>
</item>
</loot>
</monster>
'data/monster'
PHP:
<monster name="Brayoth" file="Brayoth.xml"/>
Spells:
--Brayoth_FBs.lua
PHP:
--Spell By Jovial
local acombat = createCombatObject()
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.5, 0, -1.0, 0)
local area = createCombatArea(
{
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 3, 1, 0, 0}
}
)
setCombatArea(acombat, area)
local function Attack(p)
doCombat(p.cid, p.combat, positionToVariant(p.pos))
end
function onTargetTile(cid, pos)
if (math.random(0,2) >= 1) then
addEvent(Attack, math.random(0, 1000), {cid = cid, combat = combat, pos = pos})
end
end
setCombatCallback(acombat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
function onCastSpell(cid, var)
return doCombat(cid, acombat, var)
end
--Brayoth_FS.lua
PHP:
--Spell By Jovial
local acombat = createCombatObject()
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.5, 0, -1.0, 0)
local area = createCombatArea(
{
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}
}
)
setCombatArea(acombat, area)
local function AttackDown(p)
doSendDistanceShoot({x = p.pos.x - 7, y = p.pos.y - 5, z = p.pos.z}, p.pos, CONST_ANI_FIRE)
doCombat(p.cid, p.combat, positionToVariant(p.pos))
end
local function AttackUP(p)
local pos = getCreaturePosition(p.cid)
doSendDistanceShoot(pos, {x = pos.x - math.random(6,8), y = pos.y - 5, z = pos.z}, CONST_ANI_FIRE)
addEvent(AttackDown, 500, p)
end
function onTargetTile(cid, pos)
if (math.random(0,2) >= 1) then
addEvent(AttackUP, math.random(0, 1500), {cid = cid, combat = combat, pos = pos})
end
end
setCombatCallback(acombat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
function onCastSpell(cid, var)
return doCombat(cid, acombat, var)
end
--Brayoth_Missile.lua
PHP:
--Spell By Jovial
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.5, 0, -1.0, 0)
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end
--Brayoth_Wave.lua
PHP:
--Spell By Jovial
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1494)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.5, 0, -1.0, 0)
local condition = createConditionObject(CONDITION_FIRE)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
for tmp = 1, 50 do
addDamageCondition(condition, 1, 1000, -(51 - tmp))
end
setCombatCondition(combat, condition)
local area = createCombatArea(
{
{1, 1, 1, 1, 1},
{1, 1, 1, 1, 1},
{0, 1, 1, 1, 0},
{0, 1, 1, 1, 0},
{0, 0, 3, 0, 0}
}
)
setCombatArea(combat, area)
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end
'data/spells/scripts/Brayoth'
PHP:
<instant name="Brayoth_Wave" words="brayoth_wave" lvl="100000" direction="1" mana="100000" sprem="1" needlearn="0" script="Brayoth/Brayoth_Wave.lua"></instant>
<instant name="Brayoth_FBs" words="brayoth_fbs" lvl="100000" mana="100000" direction="1" sprem="1" needlearn="0" script="Brayoth/Brayoth_FBs.lua"></instant>
<instant name="Brayoth_FS" words="brayoth_fs" lvl="100000" mana="100000" sprem="1" needlearn="0" script="Brayoth/Brayoth_FS.lua"></instant>
<instant name="Brayoth_Missile" words="brayoth_missile" lvl="100000" needtarget="1" mana="100000" sprem="1" needlearn="0" script="Brayoth/Brayoth_Missile.lua"></instant>
Last edited: