<monster name="Plague Toad" file="Frogs/plague toad.xml"/>
<?xml version="1.0" encoding="UTF-8"?>
<monster name="Plague Toad" nameDescription="a plague toad" race="venom" experience="80" speed="800" manacost="0">
<health now="50" max="50"/>
<look type="226" head="114" body="119" legs="119" feet="114" corpse="6079"/>
<targetchange interval="5000" chance="8"/>
<strategy attack="100" defense="0"/>
<flags>
<flag summonable="0"/>
<flag attackable="1"/>
<flag hostile="1"/>
<flag illusionable="0"/>
<flag convinceable="1"/>
<flag pushable="1"/>
<flag canpushitems="0"/>
<flag canpushcreatures="0"/>
<flag staticattack="90"/>
<flag targetdistance="1"/>
<flag runonhealth="0"/>
</flags>
<attacks>
<attack type="instant" name="self destruct" range="1" interval="333" chance="100" min="-200" max="-296"/>
</attacks>
<defenses armor="12" defense="10">
<defense type="instant" name="self destruct" interval="15000" chance="60" min="0" max="0"/>
</defenses>
<elements>
<element earthPercent="100"/>
<element physicalPercent="100"/>
<element firePercent="-1000"/>
</elements>
<immunities>
<immunity paralyze="1"/>
<immunity invisible="1"/>
</immunities>
<!--<script>
<event name="PlagueToad"/>
</script>-->
</monster>
<instant name="Self Destruct" words="!se332uct" enabled="0" selftarget="1" script="monster/self destruct.lua"/>
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 6)
setCombatParam(combat1, COMBAT_PARAM_TARGETPLAYERSORSUMMONS, TRUE)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, 7)
setCombatParam(combat3, COMBAT_PARAM_TARGETPLAYERSORSUMMONS, FALSE)
setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -0.5, 0, -1.1, 0)
arr1 = {
{0, 0, 0},
{0, 3, 0},
{0, 0, 0}
}
arr3 = {
{1, 1, 1},
{1, 3, 1},
{1, 1, 1}
}
local area1 = createCombatArea(arr1)
local area3 = createCombatArea(arr3)
setCombatArea(combat1, area1)
setCombatArea(combat3, area3)
local function onCastSpell1(parameters)
doCombat(parameters.cid, combat1, parameters.var)
end
local function onCastSpell3(parameters)
doCombat(parameters.cid, combat3, parameters.var)
doCreatureAddHealth(parameters.cid, -getCreatureHealth(parameters.cid))
end
function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
addEvent(onCastSpell1, 1, parameters)
addEvent(onCastSpell3, 200, parameters)
end
<instant name="Mass Plague Toads" words="!Mass Plague Toads" lvl="136" selftarget="1" mana="1100" script="summon/Mass Plague Toads.lua">
<vocation name="Druid"/>
</instant>
function onCastSpell(cid, var)
local pos = getPlayerPosition(cid)
doConvinceCreature(cid, doCreateMonster("Plague Toad", pos))
doConvinceCreature(cid, doCreateMonster("Plague Toad", pos))
doConvinceCreature(cid, doCreateMonster("Plague Toad", pos))
doConvinceCreature(cid, doCreateMonster("Plague Toad", pos))
doConvinceCreature(cid, doCreateMonster("Plague Toad", pos))
return true
end
Script seems to be workin on but i need to rework that, i need to change damage calculationMy scripts from 2012~
1.
data/monster/monsters.xml
XML:<monster name="Plague Toad" file="Frogs/plague toad.xml"/>
2.
data/monster/Frogs/plague toad.xml
XML:<?xml version="1.0" encoding="UTF-8"?> <monster name="Plague Toad" nameDescription="a plague toad" race="venom" experience="80" speed="800" manacost="0"> <health now="50" max="50"/> <look type="226" head="114" body="119" legs="119" feet="114" corpse="6079"/> <targetchange interval="5000" chance="8"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="1"/> <flag pushable="1"/> <flag canpushitems="0"/> <flag canpushcreatures="0"/> <flag staticattack="90"/> <flag targetdistance="1"/> <flag runonhealth="0"/> </flags> <attacks> <attack type="instant" name="self destruct" range="1" interval="333" chance="100" min="-200" max="-296"/> </attacks> <defenses armor="12" defense="10"> <defense type="instant" name="self destruct" interval="15000" chance="60" min="0" max="0"/> </defenses> <elements> <element earthPercent="100"/> <element physicalPercent="100"/> <element firePercent="-1000"/> </elements> <immunities> <immunity paralyze="1"/> <immunity invisible="1"/> </immunities> <!--<script> <event name="PlagueToad"/> </script>--> </monster>
3.
data/spells/spells.xml
XML:<instant name="Self Destruct" words="!se332uct" enabled="0" selftarget="1" script="monster/self destruct.lua"/>
4.
data/spells/scripts/monster/self destruct.lua
Lua:local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 6) setCombatParam(combat1, COMBAT_PARAM_TARGETPLAYERSORSUMMONS, TRUE) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 7) setCombatParam(combat3, COMBAT_PARAM_TARGETPLAYERSORSUMMONS, FALSE) setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -0.5, 0, -1.1, 0) arr1 = { {0, 0, 0}, {0, 3, 0}, {0, 0, 0} } arr3 = { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } local area1 = createCombatArea(arr1) local area3 = createCombatArea(arr3) setCombatArea(combat1, area1) setCombatArea(combat3, area3) local function onCastSpell1(parameters) doCombat(parameters.cid, combat1, parameters.var) end local function onCastSpell3(parameters) doCombat(parameters.cid, combat3, parameters.var) doCreatureAddHealth(parameters.cid, -getCreatureHealth(parameters.cid)) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 1, parameters) addEvent(onCastSpell3, 200, parameters) end
5.
data/spells/spells.xml
XML:<instant name="Mass Plague Toads" words="!Mass Plague Toads" lvl="136" selftarget="1" mana="1100" script="summon/Mass Plague Toads.lua"> <vocation name="Druid"/> </instant>
6.
data/spells/scripts/summon/Mass Plague Toads.lua
Lua:function onCastSpell(cid, var) local pos = getPlayerPosition(cid) doConvinceCreature(cid, doCreateMonster("Plague Toad", pos)) doConvinceCreature(cid, doCreateMonster("Plague Toad", pos)) doConvinceCreature(cid, doCreateMonster("Plague Toad", pos)) doConvinceCreature(cid, doCreateMonster("Plague Toad", pos)) doConvinceCreature(cid, doCreateMonster("Plague Toad", pos)) return true end
If you want to make dmg based on player you have to edit self_destruct.lua. You can use getCreatureMaster(cid) for it.
local function calculate_summon_damage(cid)
local master = getCreatureMaster(cid)
local magic_level, level = getPlayerMagLevel(master), getPlayerLevel(master)
local damage = magic_level + level
return damage
end