Skip to content

Commit

Permalink
feat: add missing monsters from version 13.40 (opentibiabr#3337)
Browse files Browse the repository at this point in the history
  • Loading branch information
majestyotbr authored Feb 6, 2025
1 parent c852f04 commit 095d27c
Show file tree
Hide file tree
Showing 39 changed files with 3,384 additions and 0 deletions.
129 changes: 129 additions & 0 deletions data-otservbr-global/monster/aquatics/quara_looter.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
local mType = Game.createMonsterType("Quara Looter")
local monster = {}

monster.description = "a quara looter"
monster.experience = 8650
monster.outfit = {
lookType = 1741,
lookHead = 0,
lookBody = 0,
lookLegs = 0,
lookFeet = 0,
lookAddons = 0,
lookMount = 0,
}

monster.raceId = 2543
monster.Bestiary = {
class = "Aquatic",
race = BESTY_RACE_AQUATIC,
toKill = 2500,
FirstUnlock = 100,
SecondUnlock = 1000,
CharmsPoints = 50,
Stars = 4,
Occurrence = 1,
Locations = "Podzilla Bottom, Podzilla Underwater ",
}

monster.health = 11500
monster.maxHealth = 11500
monster.race = "undead"
monster.corpse = 48276
monster.speed = 210
monster.manaCost = 0

monster.changeTarget = {
interval = 2000,
chance = 11,
}

monster.strategiesTarget = {
nearest = 100,
}

monster.flags = {
summonable = false,
attackable = true,
hostile = true,
convinceable = false,
pushable = false,
rewardBoss = false,
illusionable = false,
canPushItems = true,
canPushCreatures = true,
staticAttackChance = 90,
targetDistance = 3,
runHealth = 0,
healthHidden = false,
isBlockable = false,
canWalkOnEnergy = true,
canWalkOnFire = true,
canWalkOnPoison = true,
}

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

monster.voices = {
interval = 5000,
chance = 10,
{ text = "Krrrck!", yell = false },
{ text = "Tchky!", yell = false },
{ text = "<splatter>", yell = false },
}

monster.loot = {
{ name = "Amber Souvenir", chance = 7040 },
{ name = "Resinous Fish Fin", chance = 6460 },
{ id = 3039, chance = 4340 }, -- red gem
{ id = 3041, chance = 2700 }, -- blue gem
{ name = "Glacier Kilt", chance = 940 },
{ name = "Necklace of the Deep", chance = 820 },
{ name = "Crystal Crossbow", chance = 470 },
{ name = "Rift Lance", chance = 350 },
{ name = "Mantassin Tail", chance = 230 },
{ name = "platinum coin", chance = 10000, maxCount = 25 },
{ name = "Glacier Robe", chance = 1000 },
{ name = "Preserved Light Blue Seed", chance = 110 },
{ name = "Preserved Purple Seed", chance = 110 },
{ name = "Preserved Violet Seed", chance = 110 },
}

monster.attacks = {
{ name = "melee", interval = 2000, chance = 100, type = COMBAT_DEATHDAMAGE, minDamage = -150, maxDamage = -450 },
{ name = "combat", interval = 2000, chance = 35, type = COMBAT_ICEDAMAGE, minDamage = -400, maxDamage = -750, range = 7, shootEffect = CONST_ANI_SHIVERARROW, effect = CONST_ME_ICEATTACK, target = true },
{ name = "quarasmallicering", interval = 2000, chance = 16 },
{ name = "podzillaphyschain", interval = 2000, chance = 15 },
}

monster.defenses = {
defense = 95,
armor = 95,
mitigation = 2.75,
{ name = "combat", interval = 2000, chance = 7, type = COMBAT_HEALING, minDamage = 600, maxDamage = 800, effect = CONST_ME_MAGIC_BLUE, target = false },
}

monster.elements = {
{ type = COMBAT_PHYSICALDAMAGE, percent = 5 },
{ type = COMBAT_ENERGYDAMAGE, percent = -15 },
{ type = COMBAT_EARTHDAMAGE, percent = -10 },
{ type = COMBAT_FIREDAMAGE, percent = 20 },
{ type = COMBAT_LIFEDRAIN, percent = 0 },
{ type = COMBAT_MANADRAIN, percent = 0 },
{ type = COMBAT_DROWNDAMAGE, percent = 0 },
{ type = COMBAT_ICEDAMAGE, percent = 0 },
{ type = COMBAT_HOLYDAMAGE, percent = 10 },
{ type = COMBAT_DEATHDAMAGE, percent = 5 },
}

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

mType:register(monster)
120 changes: 120 additions & 0 deletions data-otservbr-global/monster/aquatics/quara_plunderer.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
local mType = Game.createMonsterType("Quara Plunderer")
local monster = {}

monster.description = "a quara plunderer"
monster.experience = 10800
monster.outfit = {
lookType = 1758,
lookHead = 0,
lookBody = 0,
lookLegs = 0,
lookFeet = 0,
lookAddons = 0,
lookMount = 0,
}

monster.raceId = 2542
monster.Bestiary = {
class = "Aquatic",
race = BESTY_RACE_AQUATIC,
toKill = 2500,
FirstUnlock = 100,
SecondUnlock = 1000,
CharmsPoints = 50,
Stars = 4,
Occurrence = 1,
Locations = "Podzilla Bottom, Podzilla Underwater ",
}

monster.health = 13500
monster.maxHealth = 13500
monster.race = "undead"
monster.corpse = 48388
monster.speed = 205
monster.manaCost = 0

monster.changeTarget = {
interval = 2000,
chance = 10,
}

monster.strategiesTarget = {
nearest = 100,
}

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

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

monster.voices = {
interval = 5000,
chance = 10,
{ text = "Tssssh!!!", yell = false },
{ text = "BLUP! BLUP!", yell = false },
{ text = "Burp!", yell = false },
}

monster.loot = {
{ name = "Amber Souvenir", chance = 7040 },
{ name = "Resinous Fish Fin", chance = 6460 },
{ id = 3039, chance = 4940 }, -- red gem
{ id = 3041, chance = 4900 }, -- blue gem
{ name = "Haunted Blade", chance = 350 },
{ name = "platinum coin", chance = 10000, maxCount = 25 },
}

monster.attacks = {
{ name = "melee", interval = 2000, chance = 100, type = COMBAT_PHYSICALDAMAGE, minDamage = -350, maxDamage = -500 },
{ name = "combat", interval = 2000, chance = 25, type = COMBAT_ICEDAMAGE, minDamage = -800, maxDamage = -1100, range = 7, radius = 4, shootEffect = CONST_ANI_ICE, effect = CONST_ME_ICEAREA, target = false },
{ name = "quaracrossdeath", interval = 2000, chance = 20, minDamage = -1100, maxDamage = -1700, target = false },
{ name = "quarasmokedeath", interval = 2000, chance = 20, minDamage = -850, maxDamage = -1150, target = false },
}

monster.defenses = {
defense = 95,
armor = 90,
mitigation = 2.75,
}

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

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

mType:register(monster)
128 changes: 128 additions & 0 deletions data-otservbr-global/monster/aquatics/quara_raider.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
local mType = Game.createMonsterType("Quara Raider")
local monster = {}

monster.description = "a quara raider"
monster.experience = 8150
monster.outfit = {
lookType = 1759,
lookHead = 0,
lookBody = 0,
lookLegs = 0,
lookFeet = 0,
lookAddons = 0,
lookMount = 0,
}

monster.raceId = 2541
monster.Bestiary = {
class = "Aquatic",
race = BESTY_RACE_AQUATIC,
toKill = 2500,
FirstUnlock = 100,
SecondUnlock = 1000,
CharmsPoints = 50,
Stars = 4,
Occurrence = 1,
Locations = "Podzilla Bottom, Podzilla Underwater ",
}

monster.health = 12500
monster.maxHealth = 12500
monster.race = "undead"
monster.corpse = 48392
monster.speed = 215
monster.manaCost = 0

monster.changeTarget = {
interval = 2000,
chance = 11,
}

monster.strategiesTarget = {
nearest = 100,
}

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

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

monster.voices = {
interval = 5000,
chance = 10,
{ text = "<blubber>", yell = false },
{ text = "Gloh! Gloooh!", yell = false },
{ text = "Boohacha!!!", yell = false },
}

monster.loot = {
{ name = "Amber Souvenir", chance = 7330 },
{ id = 3039, chance = 5340 }, -- red gem
{ name = "Resinous Fish Fin", chance = 4090 },
{ name = "Skull Staff", chance = 1480 },
{ id = 3041, chance = 1140 }, -- blue gem
{ name = "Glacier Robe", chance = 910 },
{ name = "Crystalline Armor", chance = 510 },
{ name = "Quara Pincers", chance = 510 },
{ name = "Abyss Hammer", chance = 170 },
{ name = "Preserved Light Blue Seed", chance = 110 },
{ name = "Preserved Purple Seed", chance = 110 },
{ name = "platinum coin", chance = 10000, maxCount = 25 },
}

monster.attacks = {
{ name = "melee", interval = 2000, chance = 100, type = COMBAT_PHYSICALDAMAGE, minDamage = -250, maxDamage = -320 },
{ name = "quaralargeicering", interval = 2000, chance = 20, minDamage = -1250, maxDamage = -1400, target = false },
{ name = "quararaidershoot", interval = 2000, chance = 35, minDamage = -650, maxDamage = -900, range = 7, target = true },
{ name = "quarawatersplash", interval = 2000, chance = 18, minDamage = -1350, maxDamage = -1600, target = false },
{ name = "quaraseamonster", interval = 2000, chance = 18, minDamage = -1350, maxDamage = -1600, target = false },
}

monster.defenses = {
defense = 95,
armor = 95,
mitigation = 2.75,
{ name = "combat", interval = 2000, chance = 7, type = COMBAT_HEALING, minDamage = 800, maxDamage = 1000, effect = CONST_ME_MAGIC_BLUE, target = false },
}

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

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

mType:register(monster)
Loading

0 comments on commit 095d27c

Please sign in to comment.