• 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!
  • If you're using Gesior 2012 or MyAAC, please review this thread for information about a serious security vulnerability and a fix.

Wereboar, Werebadger and Werebear

krafttomten

Active Member
Joined
Jul 23, 2017
Messages
84
Solutions
1
Reaction score
48
Location
Sweden
I noticed that the were-monsters have not yet been added to TFS, so I made them as accurate as I could based on the information on tibia wikia and my own memory. Many years since I played tho.

I added all the custom spells and everything. They are not perfect, I think some of the spell effects are off, and loot chance is just rough estimates based on the available information on the tibia wikia. I also added a small amount of damage to one of the wereboar attacks, I don't think cipsoft Tibia had it like that but it should be easy enough to remove.

If anyone is interested, here you go.

XML:
<?xml version="1.0" encoding="UTF-8"?>
<monster name="Werebadger" nameDescription="a werebadger" experience="1600" speed="200" race="blood">
    <health now="1700" max="1700" />
    <targetchange interval="4000" chance="10" />
    <look type="729" corpse="24727" />
    <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="80" />
        <flag runonhealth="0" />
        <flag canwalkonfire="0" />
    </flags>
    <attacks>
        <attack name="melee" interval="2000" min="0" max="-170" />
        <attack name="manadrain" interval="2000" chance="10" target="1" min="-65" max="-95">
            <attribute key="areaEffect" value="rednote" />
        </attack>
        <attack name="death" interval="2000" chance="10" target="0" range="7" min="-190" max="-230">
            <attribute key="areaEffect" value="mortarea" />
        </attack>
        <attack name="werebadger badger badger" interval="2000" chance="6" />
        <attack name="werebadger paralyze ball" interval="2000" chance="18" />
        <attack name="werebadger curse wave" interval="2000" chance="15" />
    </attacks>
        <defenses armor="40" defense="40">
            <defense name="healing" interval="2000" chance="15" min="120" max="225">
                <attribute key="areaEffect" value="greenshimmer" />
            </defense>
            <defense name="invisible" interval="1000" chance="20" duration="9000">
                <attribute key="areaEffect" value="blueshimmer" />
            </defense>
            <defense name="speed" interval="2000" chance="15" range="7" speedchange="400" duration="5000">
                <attribute key="areaEffect" value="blueshimmer" />
            </defense>
        </defenses>
        <elements>
            <element physicalPercent="10" />
            <element energyPercent="5" />
            <element earthPercent="65" />
            <element firePercent="-5" />
            <element deathPercent="50" />
            <element icePercent="-5" />
            <element holyPercent="-5" />
        </elements>
        <immunities>
            <immunity paralyze="1" />
            <immunity invisible="1" />
        </immunities>
        <voices interval="5000" chance="10">
            <voice sentence="BLOOD!" yell="1" />
            <voice sentence="MAASHROOM MAASHROOM!" yell="1" /><!-- Obviously a joke and not a real tibia thing... But don't you dare remove it!-->
            <voice sentence="OOOOOH IT'S A SNAAAKE!" yell="1" />
        </voices>
        <loot>
            <item name="gold coin" countmax="90" chance="65000" />
            <item name="gold coin" countmax="90" chance="25000" />
            <item name="platinum coin" countmax="2" chance="12000" />
            <item id="8845" countmax="2" chance="25000" /><!--Beetroot-->
            <item id="9650" countmax="2" chance="12000" /><!--Brown Mushroom-->
            <item id="24707" chance="7300" /><!--Werebadger Claws-->
            <item id="24711" chance="4900" /><!--Werebadger Skull-->
            <item id="24739" chance="4320" /><!--Moonlight Crystals -->
            <item id="7589" chance="7230" /><!--Strong Mana Potion-->
            <item id="7590" chance="4400" /><!--Great Mana Potion-->
            <item id="7620" chance="4200" /><!--Mana Potion-->
            <item id="7762" countmax="2" chance="3200" /><!--Small Enchanted Amethyst -->
            <item id="9809" chance="1400" /><!--Rusty armor (semi-rare)-->
            <item id="2805" chance="1200" /><!--Troll Green-->
            <item id="2171" chance="320" /><!--Platinum Amulet-->
            <item id="2214" chance="280" /><!--Ring of Healing-->
            <item id="24716" chance="110" /><!--Werewolf Amulet-->
            <item id="24742" chance="120" /><!--Badger Boots-->
            <item id="8910" chance="240" /><!--Underworld Rod-->
            <item id="8922" chance="180" /><!--Wand of Voodoo-->
      
            <item id="24757" chance="40" /><!--Werebadger Trophy-->
        </loot>
    </monster>
Lua:
local combat = Combat()
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_SOUND_WHITE)
combat:setArea(createCombatArea(AREA_SQUARE1X1))


function onCastSpell(creature, variant)
    local position = variant:getPosition()
    local monster = Game.createMonster("Badger", position)
    position.x = position.x + 1
    local monster2 = Game.createMonster("Badger", position)
    creature:addSummon(monster)
    creature:addSummon(monster2)
    combat:execute(creature, variant)
    return true
end
Lua:
local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
combat:setArea(createCombatArea(AREA_WAVE4))

function onCastSpell(creature, variant)
    local damage = math.random(52, 160)
    for _, target in ipairs(combat:getTargets(creature, variant)) do
        creature:addDamageCondition(target, CONDITION_CURSED, DAMAGELIST_EXPONENTIAL_DAMAGE, damage)
    end
    return true
end
Lua:
local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_LIFEDRAIN)
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_REDSTAR)
combat:setFormula(COMBAT_FORMULA_DAMAGE, -50, -250)
combat:setArea(createCombatArea(AREA_CIRCLE3X3))

local condition = Condition(CONDITION_PARALYZE)
condition:setParameter(CONDITION_PARAM_TICKS, 20000)
condition:setFormula(-1, 80, -1, 80)


function onCastSpell(creature, variant)
    for _, target in ipairs(combat:getTargets(creature, variant)) do
        target:addCondition(condition)
    end
    combat:execute(creature, variant)
    return true
end

XML:
<?xml version="1.0" encoding="UTF-8"?>
<monster name="Werebear" nameDescription="a werebear" experience="2100" speed="310" race="blood">
    <health now="2400" max="2400" />
    <targetchange interval="4000" chance="5" />
    <look type="720" corpse="24666" />
    <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="80" />
        <flag runonhealth="300" />
        <flag canwalkonfire="0" />
    </flags>
    <attacks>
        <attack name="melee" interval="2000" min="-50" max="-450" />
        <attack name="lifedrain" interval="2000" chance="20" target="0" radius="3" min="-100" max="-300">
            <attribute key="areaEffect" value="rednote" />
        </attack>
        <attack name="physical" interval="2000" chance="10" radius="1" target="0">
            <attribute key="areaEffect" value="greennote" />
        </attack>
        <attack name="werebear bleed wave" interval="2000" chance="15" />
    </attacks>
    <defenses armor="38" defense="40">
        <defense name="healing" interval="2000" chance="15" min="120" max="225">
            <attribute key="areaEffect" value="greenshimmer" />
        </defense>
        <defense name="speed" interval="2000" chance="15" range="7" speedchange="400" duration="5000">
            <attribute key="areaEffect" value="purplenote" />
        </defense>
    </defenses>
    <elements>
        <element physicalPercent="5" />
        <element energyPercent="15" />
        <element earthPercent="50" />
        <element firePercent="-5" />
        <element deathPercent="55" />
        <element icePercent="10" />
        <element holyPercent="-5" />
    </elements>
    <immunities>
        <immunity paralyze="1" />
        <immunity invisible="1" />
    </immunities>
    <voices interval="5000" chance="10">
        <voice sentence="BLOOD!" yell="1" />
        <voice sentence="HRAAAAAAAAAARRRRRR!" yell="1" />
    </voices>
    <loot>
        <item name="gold coin" countmax="100" chance="35000" />
        <item name="spiked squelcher" chance="480" />
        <item name="platinum coin" countmax="3" chance="20000" />
        <item name="werebear skull" chance="9000" />
        <item name="great health potion" chance="12000" />
        <item name="ultimate health potion" chance="7000" />
        <item name="stone skin amulet" chance="4000" />
        <item id="2169" chance="1400" /> <!-- time ring (rare-ish) -->
        <item name="ham" countmax="3" chance="7000" />
        <item name="bear paw" chance="5000" />
        <item name="small enchanted sapphire" chance="3000" />
        <item name="berserk potion" chance="2000" />
        <item name="werebear fur" chance="5200" />
        <item id="9818" chance="25000" /><!--Rusty boots (semi-rare)-->
        <item id="9809" chance="1300" /><!--Rusty armor (semi-rare)-->
        <item name="moonlight crystals" chance="5000" />
        <item name="honeycomb" chance="3000" />
        <item name="werewolf amulet" chance="600" />
        <item name="furry club" chance="1200" />
        <item name="fur armor" chance="800" />
        <item name="relic sword" chance="800" />
    </loot>
</monster>
Lua:
local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD)
combat:setArea(createCombatArea(AREA_WAVE8))

function onCastSpell(creature, variant)
    local damage = math.random(72, 160)
    for _, target in ipairs(combat:getTargets(creature, variant)) do
        creature:addDamageCondition(target, CONDITION_BLEEDING, DAMAGELIST_LOGARITHMIC_DAMAGE, damage)
    end
    return true
end

XML:
<?xml version="1.0" encoding="UTF-8"?>
<monster name="Wereboar" nameDescription="a wereboar" experience="2000" speed="250" race="blood">
    <health now="2200" max="2200" />
    <targetchange interval="4000" chance="10" />
    <look type="721" corpse="24724" />
    <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="80" />
        <flag runonhealth="300" />
        <flag canwalkonfire="0" />
    </flags>
    <attacks>
        <attack name="melee" interval="2000" min="0" max="-300" />
        <attack name="lifedrain" interval="2000" chance="20" target="0" radius="3" min="-80" max="-250">
            <attribute key="areaEffect" value="redshimmer" />
        </attack>
        <attack name="wereboar bleeding explosion beam" interval="2000" chance="30" />
        <attack name="wereboar shield reducing sd" interval="2000" target="1" chance="20" />
        <attack name="wereboar cool skill reducer" interval="2000" target="1" chance="11" />
    </attacks>
    <defenses armor="32" defense="46">
        <defense name="healing" interval="2000" chance="100" min="15" max="25">
            <attribute key="areaEffect" value="smoke" />
        </defense>
        <defense name="speed" interval="2000" chance="15" range="7" speedchange="400" duration="5000">
            <attribute key="areaEffect" value="purplenote" />
        </defense>
    </defenses>
    <elements>
        <element physicalPercent="10" />
        <element energyPercent="5" />
        <element earthPercent="65" />
        <element firePercent="-5" />
        <element deathPercent="50" />
        <element icePercent="-5" />
        <element holyPercent="-5" />
    </elements>
    <immunities>
        <immunity paralyze="1" />
        <immunity invisible="1" />
    </immunities>
    <voices interval="5000" chance="10">
        <voice sentence="BLOOD!" yell="1" />
        <voice sentence="HRAAAAAAAAAARRRRRR!" yell="1" />
    </voices>
    <loot>
        <item name="gold coin" countmax="75" chance="65000" />
        <item name="platinum coin" countmax="3" chance="25000" />
        <item id="2789" countmax="3" chance="12890" /><!--Brown mushroom-->
        <item id="24710" chance="6790" /><!--Wereboar tusk-->
        <item id="24709" chance="4520" /><!--Wereboar hooves-->
        <item id="24739" chance="3690" /><!--moonlight crystal-->
        <item id="7760" chance="1790" /><!--small enchanted ruby-->
        <item id="7588" chance="1530" /><!--Strong Health Potion-->
        <item id="8473" chance="1480" /><!--Ultimate Health Potion-->
        <item id="9812" chance="1400" /><!--Rusty legs (semi rare)-->
        <item id="24743" chance="1120" /><!--Wereboar Loincloth-->
        <item id="7439" chance="880" /><!--Berserk Potion-->
        <item id="24716" chance="520" /><!--Werewolf Amulet-->
        <item id="7432" chance="320" /><!--Furry Club-->
        <item id="2197" chance="240" /><!--Stone Skin Amulet-->
        <item id="24741" chance="160" /><!--Fur Armor-->
        <item id="7419" chance="140" /><!--Dreaded Cleaver-->
        <item id="24758" chance="80" /><!--Wereboar Trophy-->
  

    </loot>
</monster>
Lua:
local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD)
combat:setFormula(COMBAT_FORMULA_DAMAGE, -100, -200)
combat:setArea(createCombatArea(AREA_BEAM5))

function onCastSpell(creature, variant)
    local min = 10
    local max = 30
    local bleeding_damage = math.random(math.floor(min) * 1000, math.floor(max) * 1000) / 1000
    for _, target in ipairs(combat:getTargets(creature, variant)) do
        creature:addDamageCondition(target, CONDITION_BLEEDING, DAMAGELIST_LOGARITHMIC_DAMAGE, bleeding_damage)
    end
    combat:execute(creature, variant)
    return true
end
Lua:
local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH)
combat:setFormula(COMBAT_FORMULA_DAMAGE, -50, -90)
combat:setArea(createCombatArea(AREA_CIRCLE2X2))

local parameters = {
    {key = CONDITION_PARAM_TICKS, value = 10 * 1000},
    {key = {}, value = {}}
}

function onCastSpell(creature, variant)
    local mage = {1,2,5,6}
    local paly = {3,7}
    local kngt = {4,8}
    for _, target in ipairs(combat:getTargets(creature, variant)) do
        if isInArray(mage, getPlayerVocation(Player(target))) then
            parameters[2].key = CONDITION_PARAM_STAT_MAGICPOINTS ; parameters[2].value = -25
        elseif isInArray(paly, getPlayerVocation(Player(target))) then
            parameters[2].key = CONDITION_PARAM_SKILL_DISTANCEPERCENT ; parameters[2].value = 30
        elseif isInArray(kngt, getPlayerVocation(Player(target))) then
            parameters[2].key = CONDITION_PARAM_SKILL_MELEEPERCENT ; parameters[2].value = 30
        end
        target:addAttributeCondition(parameters)
    end
    combat:execute(creature, variant)
    return true
end
Lua:
local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH)
combat:setFormula(COMBAT_FORMULA_DAMAGE, -50, -90)
combat:setArea(createCombatArea(AREA_BEAM1))

local parameters = {
    {key = CONDITION_PARAM_TICKS, value = 10 * 1000},
    {key = CONDITION_PARAM_SKILL_SHIELDPERCENT, value = 60}
}

function onCastSpell(creature, variant)
    for _, target in ipairs(combat:getTargets(creature, variant)) do
        target:addAttributeCondition(parameters)
    end
    combat:execute(creature, variant)
    return true
end
 
Last edited:
Top