Skip to content

Commit

Permalink
feat: Nimmersatt's monsters (opentibiabr#2831)
Browse files Browse the repository at this point in the history
Add Nimmersatt's monsters: 
- Dragolisk, 
- Wardragon, 
- Mega Dragon.
- Step in Teleport.

Co-authored-by: hecmo94 <[email protected]>
  • Loading branch information
Majesty and hecmo94 authored Aug 29, 2024
1 parent 0f8929d commit 0d924e8
Show file tree
Hide file tree
Showing 5 changed files with 531 additions and 0 deletions.
122 changes: 122 additions & 0 deletions data-otservbr-global/monster/dragons/dragolisk.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
local mType = Game.createMonsterType("Dragolisk")
local monster = {}

monster.description = "a dragolisk"
monster.experience = 5050
monster.outfit = {
lookType = 1707,
lookHead = 0,
lookBody = 0,
lookLegs = 0,
lookFeet = 0,
lookAddons = 0,
lookMount = 0,
}

monster.raceId = 2456
monster.Bestiary = {
class = "Dragon",
race = BESTY_RACE_DRAGON,
toKill = 2500,
FirstUnlock = 100,
SecondUnlock = 1000,
CharmsPoints = 50,
Stars = 5,
Occurrence = 0,
Locations = "Nimmersatt's Breeding Ground",
}

monster.health = 6180
monster.maxHealth = 6180
monster.race = "blood"
monster.corpse = 44654
monster.speed = 165
monster.manaCost = 0

monster.changeTarget = {
interval = 4000,
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 = "Just Look at me!", yell = false },
{ text = "I'll stare you down", yell = false },
{ text = "Let me have a look", yell = false },
}

monster.loot = {
{ name = "Platinum Coin", chance = 52610, minCount = 1, maxCount = 46 },
{ name = "Dragolisk Poison Gland", chance = 12600 },
{ name = "Nimmersatt's Seal", chance = 8320 },
{ id = 282, chance = 7580 },
{ name = "Dragolisk Eye", chance = 5510 },
{ name = "Green Gem", chance = 8260 },
{ name = "Dragon's Tail", chance = 1003 },
{ name = "Dragon Shield", chance = 400 },
}

monster.attacks = {
{ name = "melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -200 },
{ name = "combat", interval = 3000, chance = 27, type = COMBAT_PHYSICALDAMAGE, minDamage = -220, maxDamage = -250, length = 7, spread = 0, effect = CONST_ME_EXPLOSIONAREA, target = false },
{ name = "combat", interval = 2500, chance = 25, type = COMBAT_PHYSICALDAMAGE, minDamage = -200, maxDamage = -250, radius = 4, effect = CONST_ME_POFF, target = true },
{ name = "death chain", interval = 2500, chance = 20, minDamage = -250, maxDamage = -300, range = 7 },
}

monster.defenses = {
defense = 86,
armor = 86,
mitigation = 2.11,
}

monster.elements = {
{ type = COMBAT_PHYSICALDAMAGE, percent = 15 },
{ type = COMBAT_ENERGYDAMAGE, percent = 0 },
{ type = COMBAT_EARTHDAMAGE, percent = -10 },
{ type = COMBAT_FIREDAMAGE, percent = 0 },
{ type = COMBAT_LIFEDRAIN, percent = 0 },
{ type = COMBAT_MANADRAIN, percent = 0 },
{ type = COMBAT_DROWNDAMAGE, percent = 0 },
{ type = COMBAT_ICEDAMAGE, percent = -5 },
{ 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)
126 changes: 126 additions & 0 deletions data-otservbr-global/monster/dragons/mega_dragon.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
local mType = Game.createMonsterType("Mega Dragon")
local monster = {}

monster.description = "a mega dragon"
monster.experience = 7810
monster.outfit = {
lookType = 1712,
lookHead = 0,
lookBody = 0,
lookLegs = 0,
lookFeet = 0,
lookAddons = 0,
lookMount = 0,
}

monster.raceId = 2459
monster.Bestiary = {
class = "Dragon",
race = BESTY_RACE_DRAGON,
toKill = 2500,
FirstUnlock = 100,
SecondUnlock = 1000,
CharmsPoints = 50,
Stars = 5,
Occurrence = 0,
Locations = "Nimmersatt's Breeding Ground",
}

monster.health = 7920
monster.maxHealth = 7920
monster.race = "blood"
monster.corpse = 44663
monster.speed = 170
monster.manaCost = 0

monster.changeTarget = {
interval = 4000,
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 = "Just Look at me!", yell = false },
{ text = "I'll stare you down", yell = false },
{ text = "Let me have a look", yell = false },
}

monster.loot = {
{ name = "Platinum Coin", chance = 50780, minCount = 1, maxCount = 48 },
{ name = "Nimmersatt's Seal", chance = 8670 },
{ id = 3039, chance = 10090 },
{ name = "Molten Dragon Essence", chance = 4720 },
{ name = "Prismatic Quartz", chance = 4460 },
{ name = "Rainbow Quartz", chance = 4430, minCount = 1, maxCount = 2 },
{ id = 3041, chance = 6790 },
{ name = "Mega Dragon Heart", chance = 1850 },
{ name = "Violet Gem", chance = 1470 },
{ name = "Dragon Slayer", chance = 130 },
}

monster.attacks = {
{ name = "melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -450 },
{ name = "combat", interval = 2500, chance = 15, type = COMBAT_PHYSICALDAMAGE, minDamage = -250, maxDamage = -350, range = 2, effect = CONST_ME_BIG_SCRATCH, target = true },
{ name = "combat", interval = 2500, chance = 20, type = COMBAT_FIREDAMAGE, minDamage = -250, maxDamage = -300, length = 8, spread = 4, effect = CONST_ME_EXPLOSIONHIT, target = false },
{ name = "combat", interval = 2500, chance = 15, type = COMBAT_FIREDAMAGE, minDamage = -200, maxDamage = -300, range = 7, radius = 4, shootEffect = CONST_ANI_FIRE, effect = CONST_ME_FIREAREA, target = true },
{ name = "combat", interval = 3000, chance = 5, type = COMBAT_PHYSICALDAMAGE, minDamage = -200, maxDamage = -350, radius = 4, effect = CONST_ME_POFF, target = true },
{ name = "death chain", interval = 2500, chance = 15, minDamage = -200, maxDamage = -350, range = 7 },
}

monster.defenses = {
defense = 76,
armor = 76,
mitigation = 1.96,
}

monster.elements = {
{ type = COMBAT_PHYSICALDAMAGE, percent = 0 },
{ type = COMBAT_ENERGYDAMAGE, percent = -10 },
{ type = COMBAT_EARTHDAMAGE, percent = -10 },
{ type = COMBAT_FIREDAMAGE, percent = 0 },
{ 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)
125 changes: 125 additions & 0 deletions data-otservbr-global/monster/dragons/war_dragon.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
local mType = Game.createMonsterType("Wardragon")
local monster = {}

monster.description = "a wardragon"
monster.experience = 5810
monster.outfit = {
lookType = 1708,
lookHead = 0,
lookBody = 0,
lookLegs = 0,
lookFeet = 0,
lookAddons = 0,
lookMount = 0,
}

monster.raceId = 2458
monster.Bestiary = {
class = "Dragon",
race = BESTY_RACE_DRAGON,
toKill = 2500,
FirstUnlock = 100,
SecondUnlock = 1000,
CharmsPoints = 50,
Stars = 5,
Occurrence = 0,
Locations = "Nimmersatt's Breeding Ground",
}

monster.health = 6960
monster.maxHealth = 6960
monster.race = "blood"
monster.corpse = 44656
monster.speed = 165
monster.manaCost = 0

monster.changeTarget = {
interval = 4000,
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 = "Just Look at me!", yell = false },
{ text = "I'll stare you down", yell = false },
{ text = "Let me have a look", yell = false },
}

monster.loot = {
{ name = "Platinum Coin", chance = 52560, minCount = 1, maxCount = 45 },
{ name = "Wardragon Claw", chance = 14420 },
{ name = "Nimmersatt's Seal", chance = 10620 },
{ name = "Dragon Tongue", chance = 8450 },
{ name = "Wardragon Tooth", chance = 6330 },
{ name = "Gold Ingot", chance = 6007 },
{ name = "Onyx Chip", chance = 4650, minCount = 1, maxCount = 2 },
{ name = "Black Pearl", chance = 4000 },
{ name = "White Gem", chance = 1000 },
{ name = "Dragonbone Staff", chance = 740 },
}

monster.attacks = {
{ name = "melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -450 },
{ name = "combat", interval = 2500, chance = 20, type = COMBAT_DEATHDAMAGE, minDamage = -250, maxDamage = -400, radius = 4, effect = CONST_ME_MORTAREA, target = true },
{ name = "combat", interval = 3000, chance = 25, type = COMBAT_FIREDAMAGE, minDamage = -300, maxDamage = -400, length = 8, spread = 4, effect = CONST_ME_EXPLOSIONHIT, target = false },
{ name = "combat", interval = 3000, chance = 20, type = COMBAT_PHYSICALDAMAGE, minDamage = -275, maxDamage = -400, radius = 4, effect = CONST_ME_POFF, target = true },
{ name = "combat", interval = 3000, chance = 15, type = COMBAT_PHYSICALDAMAGE, minDamage = -250, maxDamage = -300, range = 2, effect = CONST_ME_BIG_SCRATCH, target = true },
}

monster.defenses = {
defense = 80,
armor = 80,
mitigation = 2.19,
}

monster.elements = {
{ type = COMBAT_PHYSICALDAMAGE, percent = 0 },
{ type = COMBAT_ENERGYDAMAGE, percent = -5 },
{ type = COMBAT_EARTHDAMAGE, percent = -10 },
{ type = COMBAT_FIREDAMAGE, percent = 0 },
{ type = COMBAT_LIFEDRAIN, percent = 0 },
{ type = COMBAT_MANADRAIN, percent = 0 },
{ type = COMBAT_DROWNDAMAGE, percent = 0 },
{ type = COMBAT_ICEDAMAGE, percent = -10 },
{ type = COMBAT_HOLYDAMAGE, percent = -5 },
{ 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 0d924e8

Please sign in to comment.