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

Monsterpack and spellpack for tibia 8.6 based on real tibia.

Nottinghster

Tibia World RPG Developer
Joined
Oct 24, 2007
Messages
1,519
Solutions
4
Reaction score
372
Location
Brazil - Rio de Janeiro
GitHub
Nottinghster
For those who still need that datapack (only monsters, sorry!)
I've used that datapack with some fixes, for my old project called Tibia World RPG OldSchool, they are very accurated, and also included some more (Devovorga and their minions and others that I don't remember).

Monsters files are converted to the new TFS revscriptsys, but if you want to convert them to XML, just use @soul4soul monster converter

Example of monster file:
Lua:
local mType = Game.createMonsterType("devovorga3")
local monster = {}

monster.name = "Devovorga"
monster.description = "Devovorga"
monster.experience = 100000
monster.outfit = {
    lookType = 365,
    lookHead = 0,
    lookBody = 0,
    lookLegs = 0,
    lookFeet = 0,
    lookAddons = 0,
    lookMount = 0
}

monster.health = 500000
monster.maxHealth = 500000
monster.runHealth = 0
monster.race = "venom"
monster.corpse = 0
monster.speed = 590
monster.summonCost = 0

monster.changeTarget = {
    interval = 5000,
    chance = 8
}

monster.flags = {
    attackable = true,
    hostile = true,
    summonable = false,
    convinceable = false,
    illusionable = false,
    boss = false,
    ignoreSpawnBlock = false,
    pushable = false,
    canPushItems = true,
    canPushCreatures = true,
    staticAttackChance = 90,
    targetDistance = 1,
    healthHidden = false,
    canWalkOnEnergy = false,
    canWalkOnFire = false,
    canWalkOnPoison = false
}

monster.light = {
    level = 0,
    color = 0
}

monster.voices = {
    interval = 2000,
    chance = 5,
    {text = "BRING IT! WE END THIS HERE!", yell = true},
    {text = "PEREAS MUNDUS!", yell = true},
    {text = "YOU WILL ALL DIE - ONE WAY OR THE OTHER.", yell = true},
    {text = "EVEN THE GODS BOW BEFORE ME!", yell = true},
    {text = "DESTRUCTION TO MY ENSLAVERS!", yell = true},
    {text = "THE SEVEN? THEY WERE NOT ABLE TO CONTROL ME!", yell = true},
    {text = "I AM A WEAPON AGAINST EVIL AND CORRUPTION - AGAINST YOU!", yell = true},
    {text = "MY FURY IS UNMATCHED!", yell = true}
}

monster.immunities = {
    {type = "paralyze", condition = true},
    {type = "outfit", condition = false},
    {type = "invisible", condition = true},
    {type = "drunk", condition = true},
    {type = "bleed", condition = false}
}

monster.elements = {
    {type = COMBAT_PHYSICALDAMAGE, percent = 0},
    {type = COMBAT_ENERGYDAMAGE, percent = 0},
    {type = COMBAT_EARTHDAMAGE, percent = 100},
    {type = COMBAT_FIREDAMAGE, percent = 0},
    {type = COMBAT_LIFEDRAIN, percent = 100},
    {type = COMBAT_MANADRAIN, percent = 0},
    {type = COMBAT_DROWNDAMAGE, percent = 100},
    {type = COMBAT_ICEDAMAGE, percent = 0},
    {type = COMBAT_HOLYDAMAGE , percent = 0},
    {type = COMBAT_DEATHDAMAGE , percent = 0}
}

monster.attacks = {
    {name ="melee", interval = 2000, chance = 100, skill = 150, attack = 400, condition = {type = CONDITION_POISON, startDamage = 300, interval = 4000}},
    {name ="combat", interval = 2000, chance = 14, type = COMBAT_MANADRAIN, minDamage = -50, maxDamage = -160, range = 7, radius = 8, target = false, effect = CONST_ME_CARNIPHILA},
    {name ="condition", interval = 2000, chance = 10, type = CONDITION_POISON, startDamage = 0, tick = 4000, minDamage = -1400, maxDamage = -2500, range = 7, radius = 8, target = false, effect = CONST_ME_BIGPLANTS},
    {name ="pythius curse", interval = 2000, chance = 10},
    {name ="combat", interval = 2000, chance = 15, type = COMBAT_EARTHDAMAGE, minDamage = -200, maxDamage = -1000, range = 7, radius = 1, target = true, shootEffect = CONST_ANI_POISON, effect = CONST_ME_SMALLPLANTS},
    {name ="combat", interval = 2000, chance = 13, type = COMBAT_LIFEDRAIN, minDamage = -200, maxDamage = -1000, range = 7, radius = 1, target = true, shootEffect = CONST_ANI_POISON, effect = CONST_ME_SMALLPLANTS},
    {name ="paralyze", interval = 2000, chance = 13},
    {name ="combat", interval = 2000, chance = 11, type = COMBAT_DEATHDAMAGE, minDamage = -200, maxDamage = -1700, length = 9, spread = 3, effect = CONST_ME_MORTAREA},
    {name ="combat", interval = 2000, chance = 9, type = COMBAT_PHYSICALDAMAGE, minDamage = 0, maxDamage = -1600, length = 8, spread = 0}
}

monster.defenses = {
    defense = 35,
    armor = 22,
    {name ="combat", interval = 2000, chance = 16, type = COMBAT_HEALING, minDamage = 4800, maxDamage = 5200, effect = CONST_ME_MAGIC_BLUE},
    {name ="combat", interval = 2000, chance = 5, type = COMBAT_HEALING, minDamage = 15000, maxDamage = 25000, effect = CONST_ME_MAGIC_BLUE},
    {name ="combat", interval = 12000, chance = 100, type = COMBAT_HEALING, radius = 6, target = false, effect = CONST_ME_MAGIC_BLUE}
}

monster.maxSummons = 3
monster.summons = {
    {name = "spawn of devovorga", chance = 100, interval = 12000, max = 1},
    {name = "spawn of devovorga", chance = 100, interval = 12000, max = 1},
    {name = "spawn of devovorga", chance = 100, interval = 12000, max = 1}
}

monster.loot = {
}

mType:register(monster)

Have fun!
 

Attachments

rexgandi

Member
Joined
Oct 22, 2011
Messages
157
Reaction score
9
For those who still need that datapack (only monsters, sorry!)
I've used that datapack with some fixes, for my old project called Tibia World RPG OldSchool, they are very accurated, and also included some more (Devovorga and their minions and others that I don't remember).

Monsters files are converted to the new TFS revscriptsys, but if you want to convert them to XML, just use @soul4soul monster converter

Example of monster file:
Lua:
local mType = Game.createMonsterType("devovorga3")
local monster = {}

monster.name = "Devovorga"
monster.description = "Devovorga"
monster.experience = 100000
monster.outfit = {
    lookType = 365,
    lookHead = 0,
    lookBody = 0,
    lookLegs = 0,
    lookFeet = 0,
    lookAddons = 0,
    lookMount = 0
}

monster.health = 500000
monster.maxHealth = 500000
monster.runHealth = 0
monster.race = "venom"
monster.corpse = 0
monster.speed = 590
monster.summonCost = 0

monster.changeTarget = {
    interval = 5000,
    chance = 8
}

monster.flags = {
    attackable = true,
    hostile = true,
    summonable = false,
    convinceable = false,
    illusionable = false,
    boss = false,
    ignoreSpawnBlock = false,
    pushable = false,
    canPushItems = true,
    canPushCreatures = true,
    staticAttackChance = 90,
    targetDistance = 1,
    healthHidden = false,
    canWalkOnEnergy = false,
    canWalkOnFire = false,
    canWalkOnPoison = false
}

monster.light = {
    level = 0,
    color = 0
}

monster.voices = {
    interval = 2000,
    chance = 5,
    {text = "BRING IT! WE END THIS HERE!", yell = true},
    {text = "PEREAS MUNDUS!", yell = true},
    {text = "YOU WILL ALL DIE - ONE WAY OR THE OTHER.", yell = true},
    {text = "EVEN THE GODS BOW BEFORE ME!", yell = true},
    {text = "DESTRUCTION TO MY ENSLAVERS!", yell = true},
    {text = "THE SEVEN? THEY WERE NOT ABLE TO CONTROL ME!", yell = true},
    {text = "I AM A WEAPON AGAINST EVIL AND CORRUPTION - AGAINST YOU!", yell = true},
    {text = "MY FURY IS UNMATCHED!", yell = true}
}

monster.immunities = {
    {type = "paralyze", condition = true},
    {type = "outfit", condition = false},
    {type = "invisible", condition = true},
    {type = "drunk", condition = true},
    {type = "bleed", condition = false}
}

monster.elements = {
    {type = COMBAT_PHYSICALDAMAGE, percent = 0},
    {type = COMBAT_ENERGYDAMAGE, percent = 0},
    {type = COMBAT_EARTHDAMAGE, percent = 100},
    {type = COMBAT_FIREDAMAGE, percent = 0},
    {type = COMBAT_LIFEDRAIN, percent = 100},
    {type = COMBAT_MANADRAIN, percent = 0},
    {type = COMBAT_DROWNDAMAGE, percent = 100},
    {type = COMBAT_ICEDAMAGE, percent = 0},
    {type = COMBAT_HOLYDAMAGE , percent = 0},
    {type = COMBAT_DEATHDAMAGE , percent = 0}
}

monster.attacks = {
    {name ="melee", interval = 2000, chance = 100, skill = 150, attack = 400, condition = {type = CONDITION_POISON, startDamage = 300, interval = 4000}},
    {name ="combat", interval = 2000, chance = 14, type = COMBAT_MANADRAIN, minDamage = -50, maxDamage = -160, range = 7, radius = 8, target = false, effect = CONST_ME_CARNIPHILA},
    {name ="condition", interval = 2000, chance = 10, type = CONDITION_POISON, startDamage = 0, tick = 4000, minDamage = -1400, maxDamage = -2500, range = 7, radius = 8, target = false, effect = CONST_ME_BIGPLANTS},
    {name ="pythius curse", interval = 2000, chance = 10},
    {name ="combat", interval = 2000, chance = 15, type = COMBAT_EARTHDAMAGE, minDamage = -200, maxDamage = -1000, range = 7, radius = 1, target = true, shootEffect = CONST_ANI_POISON, effect = CONST_ME_SMALLPLANTS},
    {name ="combat", interval = 2000, chance = 13, type = COMBAT_LIFEDRAIN, minDamage = -200, maxDamage = -1000, range = 7, radius = 1, target = true, shootEffect = CONST_ANI_POISON, effect = CONST_ME_SMALLPLANTS},
    {name ="paralyze", interval = 2000, chance = 13},
    {name ="combat", interval = 2000, chance = 11, type = COMBAT_DEATHDAMAGE, minDamage = -200, maxDamage = -1700, length = 9, spread = 3, effect = CONST_ME_MORTAREA},
    {name ="combat", interval = 2000, chance = 9, type = COMBAT_PHYSICALDAMAGE, minDamage = 0, maxDamage = -1600, length = 8, spread = 0}
}

monster.defenses = {
    defense = 35,
    armor = 22,
    {name ="combat", interval = 2000, chance = 16, type = COMBAT_HEALING, minDamage = 4800, maxDamage = 5200, effect = CONST_ME_MAGIC_BLUE},
    {name ="combat", interval = 2000, chance = 5, type = COMBAT_HEALING, minDamage = 15000, maxDamage = 25000, effect = CONST_ME_MAGIC_BLUE},
    {name ="combat", interval = 12000, chance = 100, type = COMBAT_HEALING, radius = 6, target = false, effect = CONST_ME_MAGIC_BLUE}
}

monster.maxSummons = 3
monster.summons = {
    {name = "spawn of devovorga", chance = 100, interval = 12000, max = 1},
    {name = "spawn of devovorga", chance = 100, interval = 12000, max = 1},
    {name = "spawn of devovorga", chance = 100, interval = 12000, max = 1}
}

monster.loot = {
}

mType:register(monster)

Have fun!
Who's Can convert this?
 
Top