From 98f0128a233d8a91fc17a9c805815a49249c3b26 Mon Sep 17 00:00:00 2001 From: Matt Gomez Date: Thu, 2 Nov 2023 17:46:37 -0600 Subject: [PATCH] update to : https://github.com/opentibiabr/canary/commit/436bcacc26a567e7c8fa1446df30e59109ef6065 --- data-otxserver/migrations/41.lua | 10 +- data-otxserver/migrations/42.lua | 3 + .../monster/bosses/black_knight.lua | 4 + .../monster/bosses/diseased_bill.lua | 4 + .../monster/bosses/diseased_dan.lua | 4 + .../monster/bosses/diseased_fred.lua | 4 + .../monster/bosses/doctor_marrow.lua | 110 +++++++++++++ .../monster/bosses/energized_raging_mage.lua | 4 + data-otxserver/monster/bosses/kroazur.lua | 4 + .../monster/bosses/pythius_the_rotten.lua | 4 + data-otxserver/monster/bosses/raging_mage.lua | 4 + .../monster/bosses/renegade_orc.lua | 4 + data-otxserver/monster/bosses/splasher.lua | 4 + .../constructs/diamond_servant_replica.lua | 4 + .../constructs/golden_servant_replica.lua | 4 + .../monster/dawnport/mountain_troll.lua | 4 + .../monster/dawnport/muglex_clan_footman.lua | 4 + data-otxserver/monster/dragons/dragon.lua | 5 + .../monster/dragons/dragon_lord.lua | 4 + .../monster/extra_dimensional/yielothax.lua | 4 + .../monster/humanoids/lost_exile.lua | 4 + .../monster/humanoids/minotaur_bruiser.lua | 4 + .../humanoids/minotaur_cult_follower.lua | 4 + .../humanoids/minotaur_cult_prophet.lua | 4 + .../humanoids/minotaur_cult_zealot.lua | 4 + .../monster/humans/burning_gladiator.lua | 4 + data-otxserver/monster/humans/nomad.lua | 4 + data-otxserver/monster/humans/nomad_blue.lua | 4 + .../monster/humans/nomad_female.lua | 4 + .../humans/priestess_of_the_wild_sun.lua | 4 + .../monster/magicals/crystalcrusher.lua | 4 + .../monster/magicals/enfeebled_silencer.lua | 4 + .../monster/magicals/frazzlemaw.lua | 4 + data-otxserver/monster/magicals/silencer.lua | 4 + .../monster/magicals/weakened_frazzlemaw.lua | 4 + data-otxserver/monster/mammals/husky.lua | 4 + data-otxserver/monster/mammals/rat.lua | 4 + .../bigfoots_burden/bosses/abyssador.lua | 4 + .../bigfoots_burden/bosses/deathstrike.lua | 4 + .../bigfoots_burden/bosses/gnomevil.lua | 4 + .../quests/bigfoots_burden/versperoth.lua | 4 + .../bosses/dorokoll_the_mystic.lua | 4 + .../bosses/eliz_the_unyielding.lua | 4 + .../bosses/eshtaba_the_conjurer.lua | 4 + .../bosses/essence_of_malice.lua | 4 + .../bosses/malkhar_deathbringer.lua | 4 + .../bosses/mezlon_the_defiler.lua | 4 + .../bosses/pillars/pillar_of_death.lua | 4 + .../bosses/pillars/pillar_of_draining.lua | 4 + .../bosses/pillars/pillar_of_healing.lua | 4 + .../bosses/pillars/pillar_of_protection.lua | 4 + .../bosses/pillars/pillar_of_summoning.lua | 4 + .../cults_of_tibia/bosses/ravenous_hunger.lua | 9 +- .../bosses/the_corruptor_of_souls.lua | 4 + .../cults_of_tibia/bosses/the_false_god.lua | 4 + .../cults_of_tibia/bosses/the_sandking.lua | 4 + .../bosses/the_souldespoiler.lua | 4 + .../bosses/the_source_of_corruption.lua | 4 + .../bosses/the_unarmored_voidborn.lua | 4 + .../quests/cults_of_tibia/cult_believer.lua | 4 + .../quests/cults_of_tibia/cult_enforcer.lua | 4 + .../quests/cults_of_tibia/cult_scholar.lua | 4 + .../quests/cults_of_tibia/misguided_bully.lua | 4 + .../cults_of_tibia/misguided_shadow.lua | 4 + .../bosses/the_baron_from_below.lua | 5 + .../bosses/the_count_of_the_core.lua | 4 + .../bosses/the_duke_of_the_depths.lua | 4 + .../quests/dangerous_depth/makeshift_home.lua | 4 + .../quests/dangerous_depth/organic_matter.lua | 4 + .../quests/dangerous_depth/snail_slime.lua | 5 + .../dark_trails/death_priest_shargon.lua | 4 + .../quests/dark_trails/the_ravager.lua | 4 + .../feaster_of_souls/the_dread_maiden.lua | 4 + .../feaster_of_souls/the_fear_feaster.lua | 4 + .../quests/feaster_of_souls/the_pale_worm.lua | 1 + .../quests/feaster_of_souls/the_unwelcome.lua | 4 + .../bosses/ferumbras_mortal_shell.lua | 4 + .../ferumbras_ascendant/bosses/mazoran.lua | 4 + .../ferumbras_ascendant/bosses/plagirath.lua | 4 + .../ferumbras_ascendant/bosses/ragiaz.lua | 4 + .../ferumbras_ascendant/bosses/razzagorn.lua | 4 + .../ferumbras_ascendant/bosses/shulgrax.lua | 4 + .../ferumbras_ascendant/bosses/tarbaz.lua | 4 + .../bosses/the_lord_of_the_lice.lua | 4 + .../bosses/the_shatterer.lua | 4 + .../ferumbras_ascendant/bosses/zamulosh.lua | 4 + .../ferumbras_ascendant/bosses/zamulosh2.lua | 4 + .../ferumbras_ascendant/bosses/zamulosh3.lua | 9 +- .../bosses/lady_tenebris.lua | 9 +- .../forgotten_knowledge/bosses/lloyd.lua | 9 +- .../bosses/melting_frozen_horror.lua | 9 +- .../bosses/soul_of_dragonking_zyrtarch.lua | 4 + .../bosses/the_blazing_time_guardian.lua | 4 + .../bosses/the_enraged_thorn_knight.lua | 9 +- .../bosses/the_freezing_time_guardian.lua | 4 + .../bosses/the_last_lore_keeper.lua | 4 + .../bosses/the_time_guardian.lua | 4 + .../bound_astral_power.lua | 4 + .../cosmic_energy_prism_a.lua | 9 +- .../cosmic_energy_prism_b.lua | 9 +- .../cosmic_energy_prism_c.lua | 2 +- .../cosmic_energy_prism_d.lua | 9 +- .../grave_danger/bosses/count_vlarkorth.lua | 4 + .../quests/grave_danger/bosses/duke_krule.lua | 4 + .../quests/grave_danger/bosses/earl_osam.lua | 4 + .../quests/grave_danger/bosses/king_zelos.lua | 1 + .../grave_danger/bosses/lord_azaram.lua | 4 + .../quests/grave_danger/bosses/sir_baeloc.lua | 4 + .../quests/hero_of_rathleton/deep_terror.lua | 4 + .../empowered_glooth_horror.lua | 9 +- .../hero_of_rathleton/professor_maxxen.lua | 4 + .../quests/in_service_of_yalahar/azerus.lua | 4 + .../quests/in_service_of_yalahar/azerus2.lua | 4 + .../quests/in_service_of_yalahar/inky.lua | 4 + .../in_service_of_yalahar/sharptooth.lua | 4 + .../quests/kilmaresh/an_astral_glyph.lua | 9 +- .../monster/quests/kilmaresh/bragrumol.lua | 4 + .../monster/quests/kilmaresh/mozradek.lua | 4 + .../monster/quests/kilmaresh/xogixath.lua | 4 + .../monster/quests/liquid_black/jaul.lua | 4 + .../monster/quests/liquid_black/obujos.lua | 4 + .../monster/quests/liquid_black/tanjis.lua | 4 + .../primal_ordeal_quest/magma_bubble.lua | 1 + .../primal_ordeal_quest/the_primal_menace.lua | 1 + .../quests/soul_war/goshnars_cruelty.lua | 4 + .../quests/soul_war/goshnars_greed.lua | 4 + .../quests/soul_war/goshnars_malice.lua | 4 + .../quests/soul_war/goshnars_megalomania.lua | 4 + .../quests/soul_war/goshnars_spite.lua | 4 + .../the_dream_courts/bosses/alptramun.lua | 4 + .../bosses/izcandar_the_banished.lua | 4 + .../bosses/malofur_mangrinder.lua | 4 + .../the_dream_courts/bosses/maxxenius.lua | 4 + .../bosses/the_nightmare_beast.lua | 4 + .../the_elemental_spheres/earth_overlord.lua | 4 + .../the_elemental_spheres/energy_overlord.lua | 4 + .../the_elemental_spheres/fire_overlord.lua | 4 + .../the_elemental_spheres/ice_overlord.lua | 4 + .../lord_of_the_elements.lua | 4 + .../quests/the_inquisition/annihilon.lua | 4 + .../quests/the_inquisition/golgordan.lua | 4 + .../quests/the_inquisition/hellgorak.lua | 4 + .../quests/the_inquisition/latrivan.lua | 4 + .../quests/the_inquisition/madareth.lua | 4 + .../quests/the_inquisition/ungreez.lua | 4 + .../quests/the_inquisition/ushuriel.lua | 4 + .../quests/the_inquisition/zugurosh.lua | 4 + .../the_new_frontier/shard_of_corruption.lua | 4 + .../quests/the_new_frontier/tirecz.lua | 4 + .../the_secret_library/bosses/ghulosh.lua | 4 + .../the_secret_library/bosses/gorzindel.lua | 4 + .../bosses/the_scourge_of_oblivion.lua | 4 + .../quests/the_secret_library/lokathmor.lua | 4 + .../quests/the_secret_library/mazzinor.lua | 4 + .../fury_of_the_emperor.lua | 4 + .../lizard_abomination.lua | 4 + .../wrath_of_the_emperor/mutated_zalamon.lua | 4 + .../scorn_of_the_emperor.lua | 4 + .../snake_god_essence.lua | 4 + .../wrath_of_the_emperor/snake_thing.lua | 4 + .../spite_of_the_emperor.lua | 4 + .../wrath_of_the_emperor/the_keeper.lua | 4 + .../wrath_of_the_emperor.lua | 4 + .../monster/reptiles/lizard_magistratus.lua | 4 + .../monster/reptiles/lizard_noble.lua | 4 + .../monster/trainers/training_machine.lua | 65 ++++++++ .../monster/undeads/demon_skeleton.lua | 4 + data-otxserver/monster/vermins/deepworm.lua | 4 + data-otxserver/monster/vermins/diremaw.lua | 4 + data-otxserver/monster/vermins/drillworm.lua | 4 + data-otxserver/monster/vermins/parasite.lua | 4 + data-otxserver/monster/vermins/wiggler.lua | 4 + .../monster/lower_roshamuul.lua | 16 +- .../creaturescripts/others/login_events.lua | 108 ------------- .../globalevents/others/bosslever_death.lua | 29 ++++ data-otxserver/scripts/hazard/primal.lua | 12 +- data/libs/concoctions_lib.lua | 40 ++--- data/libs/functions/set.lua | 146 ++++++++++++++++++ data/libs/kill_lib.lua | 21 +++ data/libs/libs.lua | 1 + data/libs/raids_lib.lua | 14 ++ data/modules/modules.xml | 3 + data/modules/scripts/cults_of_tibia/death.lua | 13 ++ data/scripts/creatureevents/bestiary_kill.lua | 35 ----- .../scripts/creatureevents/bosstiary_kill.lua | 33 ---- 185 files changed, 1124 insertions(+), 251 deletions(-) create mode 100644 data-otxserver/migrations/42.lua create mode 100644 data-otxserver/monster/bosses/doctor_marrow.lua create mode 100644 data-otxserver/monster/trainers/training_machine.lua create mode 100644 data-otxserver/scripts/globalevents/others/bosslever_death.lua create mode 100644 data/libs/functions/set.lua create mode 100644 data/libs/kill_lib.lua create mode 100644 data/modules/scripts/cults_of_tibia/death.lua delete mode 100644 data/scripts/creatureevents/bestiary_kill.lua delete mode 100644 data/scripts/creatureevents/bosstiary_kill.lua diff --git a/data-otxserver/migrations/41.lua b/data-otxserver/migrations/41.lua index 86a6d8ffe..179ac18b5 100644 --- a/data-otxserver/migrations/41.lua +++ b/data-otxserver/migrations/41.lua @@ -1,3 +1,11 @@ function onUpdateDatabase() - return false -- true = There are others migrations file | false = this is the last migration file + logger.info("Updating database to version 42 (fix xpboost types)") + + db.query([[ + ALTER TABLE `players` + MODIFY `xpboost_stamina` smallint(5) UNSIGNED DEFAULT NULL, + MODIFY `xpboost_value` tinyint(4) UNSIGNED DEFAULT NULL + ]]) + + return true end diff --git a/data-otxserver/migrations/42.lua b/data-otxserver/migrations/42.lua new file mode 100644 index 000000000..86a6d8ffe --- /dev/null +++ b/data-otxserver/migrations/42.lua @@ -0,0 +1,3 @@ +function onUpdateDatabase() + return false -- true = There are others migrations file | false = this is the last migration file +end diff --git a/data-otxserver/monster/bosses/black_knight.lua b/data-otxserver/monster/bosses/black_knight.lua index fe50d74af..2905e1a78 100644 --- a/data-otxserver/monster/bosses/black_knight.lua +++ b/data-otxserver/monster/bosses/black_knight.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "BlackKnightDeath", +} + monster.bosstiary = { bossRaceId = 46, bossRace = RARITY_BANE, diff --git a/data-otxserver/monster/bosses/diseased_bill.lua b/data-otxserver/monster/bosses/diseased_bill.lua index b8982c4e2..c2524dd82 100644 --- a/data-otxserver/monster/bosses/diseased_bill.lua +++ b/data-otxserver/monster/bosses/diseased_bill.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "DiseasedTrioDeath", +} + monster.bosstiary = { bossRaceId = 485, bossRace = RARITY_BANE, diff --git a/data-otxserver/monster/bosses/diseased_dan.lua b/data-otxserver/monster/bosses/diseased_dan.lua index 8eb9d3a15..7ee84a080 100644 --- a/data-otxserver/monster/bosses/diseased_dan.lua +++ b/data-otxserver/monster/bosses/diseased_dan.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "DiseasedTrioDeath", +} + monster.bosstiary = { bossRaceId = 486, bossRace = RARITY_BANE, diff --git a/data-otxserver/monster/bosses/diseased_fred.lua b/data-otxserver/monster/bosses/diseased_fred.lua index e516fd9e2..d2ab31a55 100644 --- a/data-otxserver/monster/bosses/diseased_fred.lua +++ b/data-otxserver/monster/bosses/diseased_fred.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "DiseasedTrioDeath", +} + monster.bosstiary = { bossRaceId = 484, bossRace = RARITY_BANE, diff --git a/data-otxserver/monster/bosses/doctor_marrow.lua b/data-otxserver/monster/bosses/doctor_marrow.lua new file mode 100644 index 000000000..308ab14b2 --- /dev/null +++ b/data-otxserver/monster/bosses/doctor_marrow.lua @@ -0,0 +1,110 @@ +local mType = Game.createMonsterType("Doctor Marrow") +local monster = {} + +monster.description = "Doctor Marrow" +monster.experience = 0 +monster.outfit = { + lookType = 1611, + lookHead = 57, + lookBody = 0, + lookLegs = 0, + lookFeet = 95, + lookAddons = 0, + lookMount = 0, +} + +monster.health = 120000 +monster.maxHealth = 120000 +monster.race = "blood" +monster.corpse = 18074 +monster.speed = 180 +monster.manaCost = 0 + +monster.changeTarget = { + interval = 4000, + chance = 15, +} + +monster.strategiesTarget = { + nearest = 60, + health = 30, + damage = 10, +} + +monster.flags = { + summonable = false, + attackable = true, + hostile = true, + convinceable = false, + pushable = false, + rewardBoss = true, + illusionable = false, + canPushItems = true, + canPushCreatures = true, + critChance = 10, + 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 = "You can't stop the future!", yell = false }, +} + +monster.attacks = { + { name = "melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -2800 }, +} + +monster.defenses = { + defense = 54, + armor = 59, + mitigation = 3.7, +} + +monster.elements = { + { type = COMBAT_PHYSICALDAMAGE, percent = 0 }, + { type = COMBAT_ENERGYDAMAGE, percent = 0 }, + { type = COMBAT_EARTHDAMAGE, percent = 0 }, + { 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 = 0 }, + { type = COMBAT_DEATHDAMAGE, percent = 0 }, +} + +monster.immunities = { + { type = "paralyze", condition = true }, + { type = "outfit", condition = false }, + { type = "invisible", condition = true }, + { type = "bleed", condition = false }, +} + +mType.onThink = function(monster, interval) end + +mType.onAppear = function(monster, creature) + if monster:getType():isRewardBoss() then + monster:setReward(true) + end +end + +mType.onDisappear = function(monster, creature) end + +mType.onMove = function(monster, creature, fromPosition, toPosition) end + +mType.onSay = function(monster, creature, type, message) end + +mType:register(monster) diff --git a/data-otxserver/monster/bosses/energized_raging_mage.lua b/data-otxserver/monster/bosses/energized_raging_mage.lua index d8d7d4809..0d3aea8aa 100644 --- a/data-otxserver/monster/bosses/energized_raging_mage.lua +++ b/data-otxserver/monster/bosses/energized_raging_mage.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "EnergizedRagingMageDeath", +} + monster.health = 3500 monster.maxHealth = 3500 monster.race = "blood" diff --git a/data-otxserver/monster/bosses/kroazur.lua b/data-otxserver/monster/bosses/kroazur.lua index 78357fbf8..14740f8f5 100644 --- a/data-otxserver/monster/bosses/kroazur.lua +++ b/data-otxserver/monster/bosses/kroazur.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ThreatenedDreamsNightmareMonstersDeath", +} + monster.bosstiary = { bossRaceId = 1515, bossRace = RARITY_BANE, diff --git a/data-otxserver/monster/bosses/pythius_the_rotten.lua b/data-otxserver/monster/bosses/pythius_the_rotten.lua index 3331d64e0..b635ea691 100644 --- a/data-otxserver/monster/bosses/pythius_the_rotten.lua +++ b/data-otxserver/monster/bosses/pythius_the_rotten.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "PythiusTheRottenDeath", +} + monster.health = 9000 monster.maxHealth = 9000 monster.race = "undead" diff --git a/data-otxserver/monster/bosses/raging_mage.lua b/data-otxserver/monster/bosses/raging_mage.lua index 39518d543..5fd30131b 100644 --- a/data-otxserver/monster/bosses/raging_mage.lua +++ b/data-otxserver/monster/bosses/raging_mage.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "RagingMageDeath", +} + monster.health = 3500 monster.maxHealth = 3500 monster.race = "blood" diff --git a/data-otxserver/monster/bosses/renegade_orc.lua b/data-otxserver/monster/bosses/renegade_orc.lua index c12f3d73e..53f075751 100644 --- a/data-otxserver/monster/bosses/renegade_orc.lua +++ b/data-otxserver/monster/bosses/renegade_orc.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "RenegadeOrcDeath", +} + monster.health = 450 monster.maxHealth = 450 monster.race = "blood" diff --git a/data-otxserver/monster/bosses/splasher.lua b/data-otxserver/monster/bosses/splasher.lua index 670c402c8..b579d9213 100644 --- a/data-otxserver/monster/bosses/splasher.lua +++ b/data-otxserver/monster/bosses/splasher.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "QuaraLeadersDeath", +} + monster.health = 1700 monster.maxHealth = 1700 monster.race = "blood" diff --git a/data-otxserver/monster/constructs/diamond_servant_replica.lua b/data-otxserver/monster/constructs/diamond_servant_replica.lua index 487811413..733ea51c2 100644 --- a/data-otxserver/monster/constructs/diamond_servant_replica.lua +++ b/data-otxserver/monster/constructs/diamond_servant_replica.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ReplicaServantDeath", +} + monster.raceId = 1326 monster.Bestiary = { class = "Construct", diff --git a/data-otxserver/monster/constructs/golden_servant_replica.lua b/data-otxserver/monster/constructs/golden_servant_replica.lua index dbf2b07df..4a93d0d96 100644 --- a/data-otxserver/monster/constructs/golden_servant_replica.lua +++ b/data-otxserver/monster/constructs/golden_servant_replica.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ReplicaServantDeath", +} + monster.raceId = 1327 monster.Bestiary = { class = "Construct", diff --git a/data-otxserver/monster/dawnport/mountain_troll.lua b/data-otxserver/monster/dawnport/mountain_troll.lua index 86e38adf4..fab1ebf82 100644 --- a/data-otxserver/monster/dawnport/mountain_troll.lua +++ b/data-otxserver/monster/dawnport/mountain_troll.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "MorrisTrollDeath", +} + monster.health = 30 monster.maxHealth = 30 monster.race = "blood" diff --git a/data-otxserver/monster/dawnport/muglex_clan_footman.lua b/data-otxserver/monster/dawnport/muglex_clan_footman.lua index 53bc52730..2695c29ae 100644 --- a/data-otxserver/monster/dawnport/muglex_clan_footman.lua +++ b/data-otxserver/monster/dawnport/muglex_clan_footman.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "MorrisGoblinDeath", +} + monster.health = 50 monster.maxHealth = 50 monster.race = "blood" diff --git a/data-otxserver/monster/dragons/dragon.lua b/data-otxserver/monster/dragons/dragon.lua index 52ca63244..16dd2aa26 100644 --- a/data-otxserver/monster/dragons/dragon.lua +++ b/data-otxserver/monster/dragons/dragon.lua @@ -13,6 +13,11 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "TheGreatDragonHuntDeath", + "TheFirstDragonDragonTaskDeath", +} + monster.raceId = 34 monster.Bestiary = { class = "Dragon", diff --git a/data-otxserver/monster/dragons/dragon_lord.lua b/data-otxserver/monster/dragons/dragon_lord.lua index 57ce37251..65d7e225e 100644 --- a/data-otxserver/monster/dragons/dragon_lord.lua +++ b/data-otxserver/monster/dragons/dragon_lord.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "TheGreatDragonHuntDeath", +} + monster.raceId = 39 monster.Bestiary = { class = "Dragon", diff --git a/data-otxserver/monster/extra_dimensional/yielothax.lua b/data-otxserver/monster/extra_dimensional/yielothax.lua index 76b1194cd..487a8d5c3 100644 --- a/data-otxserver/monster/extra_dimensional/yielothax.lua +++ b/data-otxserver/monster/extra_dimensional/yielothax.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "YielothaxDeath", +} + monster.raceId = 717 monster.Bestiary = { class = "Extra Dimensional", diff --git a/data-otxserver/monster/humanoids/lost_exile.lua b/data-otxserver/monster/humanoids/lost_exile.lua index 8fc532133..d1bb52aaa 100644 --- a/data-otxserver/monster/humanoids/lost_exile.lua +++ b/data-otxserver/monster/humanoids/lost_exile.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "LastExileDeath", +} + monster.raceId = 1529 monster.Bestiary = { class = "Humanoid", diff --git a/data-otxserver/monster/humanoids/minotaur_bruiser.lua b/data-otxserver/monster/humanoids/minotaur_bruiser.lua index b704e765d..51eb24129 100644 --- a/data-otxserver/monster/humanoids/minotaur_bruiser.lua +++ b/data-otxserver/monster/humanoids/minotaur_bruiser.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "MorrisMinotaurDeath", +} + monster.health = 100 monster.maxHealth = 100 monster.race = "blood" diff --git a/data-otxserver/monster/humanoids/minotaur_cult_follower.lua b/data-otxserver/monster/humanoids/minotaur_cult_follower.lua index 1aff1c992..18883c468 100644 --- a/data-otxserver/monster/humanoids/minotaur_cult_follower.lua +++ b/data-otxserver/monster/humanoids/minotaur_cult_follower.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "MinotaurCultTaskDeath", +} + monster.raceId = 1508 monster.Bestiary = { class = "Humanoid", diff --git a/data-otxserver/monster/humanoids/minotaur_cult_prophet.lua b/data-otxserver/monster/humanoids/minotaur_cult_prophet.lua index 13e823fa1..5f86e2de2 100644 --- a/data-otxserver/monster/humanoids/minotaur_cult_prophet.lua +++ b/data-otxserver/monster/humanoids/minotaur_cult_prophet.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "MinotaurCultTaskDeath", +} + monster.raceId = 1509 monster.Bestiary = { class = "Humanoid", diff --git a/data-otxserver/monster/humanoids/minotaur_cult_zealot.lua b/data-otxserver/monster/humanoids/minotaur_cult_zealot.lua index be4fc8a4b..571d3faa0 100644 --- a/data-otxserver/monster/humanoids/minotaur_cult_zealot.lua +++ b/data-otxserver/monster/humanoids/minotaur_cult_zealot.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "MinotaurCultTaskDeath", +} + monster.raceId = 1510 monster.Bestiary = { class = "Humanoid", diff --git a/data-otxserver/monster/humans/burning_gladiator.lua b/data-otxserver/monster/humans/burning_gladiator.lua index 70f9f4f0c..8923d0928 100644 --- a/data-otxserver/monster/humans/burning_gladiator.lua +++ b/data-otxserver/monster/humans/burning_gladiator.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "FafnarMissionsDeath", +} + monster.raceId = 1798 monster.Bestiary = { class = "Human", diff --git a/data-otxserver/monster/humans/nomad.lua b/data-otxserver/monster/humans/nomad.lua index d656857b4..9c34282bf 100644 --- a/data-otxserver/monster/humans/nomad.lua +++ b/data-otxserver/monster/humans/nomad.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "NomadDeath", +} + monster.raceId = 310 monster.Bestiary = { class = "Human", diff --git a/data-otxserver/monster/humans/nomad_blue.lua b/data-otxserver/monster/humans/nomad_blue.lua index 02465d966..07ba7aff2 100644 --- a/data-otxserver/monster/humans/nomad_blue.lua +++ b/data-otxserver/monster/humans/nomad_blue.lua @@ -14,6 +14,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "NomadDeath", +} + monster.raceId = 777 monster.Bestiary = { class = "Human", diff --git a/data-otxserver/monster/humans/nomad_female.lua b/data-otxserver/monster/humans/nomad_female.lua index 2703f84d4..9460aab59 100644 --- a/data-otxserver/monster/humans/nomad_female.lua +++ b/data-otxserver/monster/humans/nomad_female.lua @@ -14,6 +14,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "NomadDeath", +} + monster.raceId = 776 monster.Bestiary = { class = "Human", diff --git a/data-otxserver/monster/humans/priestess_of_the_wild_sun.lua b/data-otxserver/monster/humans/priestess_of_the_wild_sun.lua index 25eea0d87..a97c9a3c5 100644 --- a/data-otxserver/monster/humans/priestess_of_the_wild_sun.lua +++ b/data-otxserver/monster/humans/priestess_of_the_wild_sun.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "FafnarMissionsDeath", +} + monster.raceId = 1799 monster.Bestiary = { class = "Human", diff --git a/data-otxserver/monster/magicals/crystalcrusher.lua b/data-otxserver/monster/magicals/crystalcrusher.lua index c0698ab34..4da886c9d 100644 --- a/data-otxserver/monster/magicals/crystalcrusher.lua +++ b/data-otxserver/monster/magicals/crystalcrusher.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "MiddleSpikeDeath", +} + monster.raceId = 869 monster.Bestiary = { class = "Magical", diff --git a/data-otxserver/monster/magicals/enfeebled_silencer.lua b/data-otxserver/monster/magicals/enfeebled_silencer.lua index 95bd19488..c631f75d0 100644 --- a/data-otxserver/monster/magicals/enfeebled_silencer.lua +++ b/data-otxserver/monster/magicals/enfeebled_silencer.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ThreatenedDreamsNightmareMonstersDeath", +} + monster.raceId = 1443 monster.Bestiary = { class = "Magical", diff --git a/data-otxserver/monster/magicals/frazzlemaw.lua b/data-otxserver/monster/magicals/frazzlemaw.lua index 509276286..32a053b1d 100644 --- a/data-otxserver/monster/magicals/frazzlemaw.lua +++ b/data-otxserver/monster/magicals/frazzlemaw.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "RoshamuulKillsDeath", +} + monster.raceId = 1022 monster.Bestiary = { class = "Magical", diff --git a/data-otxserver/monster/magicals/silencer.lua b/data-otxserver/monster/magicals/silencer.lua index e71ec572c..b2399ce29 100644 --- a/data-otxserver/monster/magicals/silencer.lua +++ b/data-otxserver/monster/magicals/silencer.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "RoshamuulKillsDeath", +} + monster.raceId = 1014 monster.Bestiary = { class = "Magical", diff --git a/data-otxserver/monster/magicals/weakened_frazzlemaw.lua b/data-otxserver/monster/magicals/weakened_frazzlemaw.lua index d44126f95..d7e8eba09 100644 --- a/data-otxserver/monster/magicals/weakened_frazzlemaw.lua +++ b/data-otxserver/monster/magicals/weakened_frazzlemaw.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ThreatenedDreamsNightmareMonstersDeath", +} + monster.raceId = 1442 monster.Bestiary = { class = "Magical", diff --git a/data-otxserver/monster/mammals/husky.lua b/data-otxserver/monster/mammals/husky.lua index 314d948e4..dae58bcc6 100644 --- a/data-otxserver/monster/mammals/husky.lua +++ b/data-otxserver/monster/mammals/husky.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "HuskyDeath", +} + monster.raceId = 325 monster.Bestiary = { class = "Mammal", diff --git a/data-otxserver/monster/mammals/rat.lua b/data-otxserver/monster/mammals/rat.lua index 17747658e..205888f9a 100644 --- a/data-otxserver/monster/mammals/rat.lua +++ b/data-otxserver/monster/mammals/rat.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "RationalRequestRatDeath", +} + monster.raceId = 21 monster.Bestiary = { class = "Mammal", diff --git a/data-otxserver/monster/quests/bigfoots_burden/bosses/abyssador.lua b/data-otxserver/monster/quests/bigfoots_burden/bosses/abyssador.lua index 177700eed..24c993fda 100644 --- a/data-otxserver/monster/quests/bigfoots_burden/bosses/abyssador.lua +++ b/data-otxserver/monster/quests/bigfoots_burden/bosses/abyssador.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "BossesWarzoneDeath", +} + monster.bosstiary = { bossRaceId = 887, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/bigfoots_burden/bosses/deathstrike.lua b/data-otxserver/monster/quests/bigfoots_burden/bosses/deathstrike.lua index 9fef07f96..b7e88ede7 100644 --- a/data-otxserver/monster/quests/bigfoots_burden/bosses/deathstrike.lua +++ b/data-otxserver/monster/quests/bigfoots_burden/bosses/deathstrike.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "BossesWarzoneDeath", +} + monster.bosstiary = { bossRaceId = 892, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/bigfoots_burden/bosses/gnomevil.lua b/data-otxserver/monster/quests/bigfoots_burden/bosses/gnomevil.lua index b0d0a7487..cd287d837 100644 --- a/data-otxserver/monster/quests/bigfoots_burden/bosses/gnomevil.lua +++ b/data-otxserver/monster/quests/bigfoots_burden/bosses/gnomevil.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "BossesWarzoneDeath", +} + monster.bosstiary = { bossRaceId = 893, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/bigfoots_burden/versperoth.lua b/data-otxserver/monster/quests/bigfoots_burden/versperoth.lua index d8e260236..c422f817b 100644 --- a/data-otxserver/monster/quests/bigfoots_burden/versperoth.lua +++ b/data-otxserver/monster/quests/bigfoots_burden/versperoth.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "VesperothDeath", +} + monster.health = 100000 monster.maxHealth = 100000 monster.race = "venom" diff --git a/data-otxserver/monster/quests/cults_of_tibia/bosses/dorokoll_the_mystic.lua b/data-otxserver/monster/quests/cults_of_tibia/bosses/dorokoll_the_mystic.lua index 018dc2c09..926fb0c79 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/bosses/dorokoll_the_mystic.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/bosses/dorokoll_the_mystic.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "EssenceOfMaliceSpawnsDeath", +} + monster.health = 30000 monster.maxHealth = 30000 monster.race = "blood" diff --git a/data-otxserver/monster/quests/cults_of_tibia/bosses/eliz_the_unyielding.lua b/data-otxserver/monster/quests/cults_of_tibia/bosses/eliz_the_unyielding.lua index bc6aa5b17..41c7815e7 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/bosses/eliz_the_unyielding.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/bosses/eliz_the_unyielding.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "EssenceOfMaliceSpawnsDeath", +} + monster.health = 30000 monster.maxHealth = 30000 monster.race = "blood" diff --git a/data-otxserver/monster/quests/cults_of_tibia/bosses/eshtaba_the_conjurer.lua b/data-otxserver/monster/quests/cults_of_tibia/bosses/eshtaba_the_conjurer.lua index 175b0df63..b6190942d 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/bosses/eshtaba_the_conjurer.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/bosses/eshtaba_the_conjurer.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "EssenceOfMaliceSpawnsDeath", +} + monster.health = 30000 monster.maxHealth = 30000 monster.race = "blood" diff --git a/data-otxserver/monster/quests/cults_of_tibia/bosses/essence_of_malice.lua b/data-otxserver/monster/quests/cults_of_tibia/bosses/essence_of_malice.lua index e9b7c7d91..ef4913137 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/bosses/essence_of_malice.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/bosses/essence_of_malice.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "CultsOfTibiaBossDeath", +} + monster.bosstiary = { bossRaceId = 1487, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/cults_of_tibia/bosses/malkhar_deathbringer.lua b/data-otxserver/monster/quests/cults_of_tibia/bosses/malkhar_deathbringer.lua index 14013f130..7b800bd8f 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/bosses/malkhar_deathbringer.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/bosses/malkhar_deathbringer.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "EssenceOfMaliceSpawnsDeath", +} + monster.health = 30000 monster.maxHealth = 30000 monster.race = "blood" diff --git a/data-otxserver/monster/quests/cults_of_tibia/bosses/mezlon_the_defiler.lua b/data-otxserver/monster/quests/cults_of_tibia/bosses/mezlon_the_defiler.lua index 425ae3cc7..3576693ea 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/bosses/mezlon_the_defiler.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/bosses/mezlon_the_defiler.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "EssenceOfMaliceSpawnsDeath", +} + monster.health = 30000 monster.maxHealth = 30000 monster.race = "blood" diff --git a/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_death.lua b/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_death.lua index 9ef05c56c..5ad9d8233 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_death.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_death.lua @@ -14,6 +14,10 @@ monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 +monster.events = { + "DestroyedPillar", +} + monster.changeTarget = { interval = 4000, chance = 20, diff --git a/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_draining.lua b/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_draining.lua index ec8fb38d7..c2bb501e3 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_draining.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_draining.lua @@ -14,6 +14,10 @@ monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 +monster.events = { + "DestroyedPillar", +} + monster.changeTarget = { interval = 4000, chance = 20, diff --git a/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_healing.lua b/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_healing.lua index fff5544ec..95c185f7d 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_healing.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_healing.lua @@ -14,6 +14,10 @@ monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 +monster.events = { + "DestroyedPillar", +} + monster.changeTarget = { interval = 4000, chance = 20, diff --git a/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_protection.lua b/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_protection.lua index d8d103b22..5729390a4 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_protection.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_protection.lua @@ -14,6 +14,10 @@ monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 +monster.events = { + "DestroyedPillar", +} + monster.changeTarget = { interval = 4000, chance = 20, diff --git a/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_summoning.lua b/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_summoning.lua index a6e02db4f..27937b855 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_summoning.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_summoning.lua @@ -14,6 +14,10 @@ monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 +monster.events = { + "DestroyedPillar", +} + monster.changeTarget = { interval = 4000, chance = 20, diff --git a/data-otxserver/monster/quests/cults_of_tibia/bosses/ravenous_hunger.lua b/data-otxserver/monster/quests/cults_of_tibia/bosses/ravenous_hunger.lua index cee0dd32f..ee9b5d37a 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/bosses/ravenous_hunger.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/bosses/ravenous_hunger.lua @@ -13,6 +13,11 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "LeidenHeal", + "CultsOfTibiaBossDeath", +} + monster.bosstiary = { bossRaceId = 1427, bossRace = RARITY_ARCHFOE, @@ -57,10 +62,6 @@ monster.flags = { canWalkOnPoison = true, } -monster.events = { - "LeidenHeal", -} - monster.light = { level = 0, color = 0, diff --git a/data-otxserver/monster/quests/cults_of_tibia/bosses/the_corruptor_of_souls.lua b/data-otxserver/monster/quests/cults_of_tibia/bosses/the_corruptor_of_souls.lua index dfcc46ab6..adc1b89d3 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/bosses/the_corruptor_of_souls.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/bosses/the_corruptor_of_souls.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "CultsOfTibiaBossDeath", +} + monster.health = 290000 monster.maxHealth = 290000 monster.race = "venom" diff --git a/data-otxserver/monster/quests/cults_of_tibia/bosses/the_false_god.lua b/data-otxserver/monster/quests/cults_of_tibia/bosses/the_false_god.lua index 888f06815..a1ec678bd 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/bosses/the_false_god.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/bosses/the_false_god.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "CultsOfTibiaBossDeath", +} + monster.bosstiary = { bossRaceId = 1409, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/cults_of_tibia/bosses/the_sandking.lua b/data-otxserver/monster/quests/cults_of_tibia/bosses/the_sandking.lua index 89ef694e5..3e0914007 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/bosses/the_sandking.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/bosses/the_sandking.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "CultsOfTibiaBossDeath", +} + monster.bosstiary = { bossRaceId = 1444, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/cults_of_tibia/bosses/the_souldespoiler.lua b/data-otxserver/monster/quests/cults_of_tibia/bosses/the_souldespoiler.lua index abcf4d8fc..35878eae9 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/bosses/the_souldespoiler.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/bosses/the_souldespoiler.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "CultsOfTibiaBossDeath", +} + monster.bosstiary = { bossRaceId = 1422, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/cults_of_tibia/bosses/the_source_of_corruption.lua b/data-otxserver/monster/quests/cults_of_tibia/bosses/the_source_of_corruption.lua index ef6600758..83f14ead5 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/bosses/the_source_of_corruption.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/bosses/the_source_of_corruption.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "CultsOfTibiaBossDeath", +} + monster.bosstiary = { bossRaceId = 1500, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/cults_of_tibia/bosses/the_unarmored_voidborn.lua b/data-otxserver/monster/quests/cults_of_tibia/bosses/the_unarmored_voidborn.lua index 40c70d77f..0dbf6743e 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/bosses/the_unarmored_voidborn.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/bosses/the_unarmored_voidborn.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "CultsOfTibiaBossDeath", +} + monster.bosstiary = { bossRaceId = 1406, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/cults_of_tibia/cult_believer.lua b/data-otxserver/monster/quests/cults_of_tibia/cult_believer.lua index 71a717df8..18c727b1e 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/cult_believer.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/cult_believer.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "CarlinVortexDeath", +} + monster.raceId = 1512 monster.Bestiary = { class = "Human", diff --git a/data-otxserver/monster/quests/cults_of_tibia/cult_enforcer.lua b/data-otxserver/monster/quests/cults_of_tibia/cult_enforcer.lua index 27b33840d..abe7c8d4a 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/cult_enforcer.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/cult_enforcer.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "CarlinVortexDeath", +} + monster.raceId = 1513 monster.Bestiary = { class = "Human", diff --git a/data-otxserver/monster/quests/cults_of_tibia/cult_scholar.lua b/data-otxserver/monster/quests/cults_of_tibia/cult_scholar.lua index e4d9b02ad..bd743a110 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/cult_scholar.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/cult_scholar.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "CarlinVortexDeath", +} + monster.raceId = 1514 monster.Bestiary = { class = "Human", diff --git a/data-otxserver/monster/quests/cults_of_tibia/misguided_bully.lua b/data-otxserver/monster/quests/cults_of_tibia/misguided_bully.lua index 8f653d2f2..5cf1c3b85 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/misguided_bully.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/misguided_bully.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "GlowingRubbishAmuletDeath", +} + monster.raceId = 1412 monster.Bestiary = { class = "Humanoid", diff --git a/data-otxserver/monster/quests/cults_of_tibia/misguided_shadow.lua b/data-otxserver/monster/quests/cults_of_tibia/misguided_shadow.lua index 5886f068e..547c67f7c 100644 --- a/data-otxserver/monster/quests/cults_of_tibia/misguided_shadow.lua +++ b/data-otxserver/monster/quests/cults_of_tibia/misguided_shadow.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "GlowingRubbishAmuletDeath", +} + monster.health = 3000 monster.maxHealth = 3000 monster.race = "blood" diff --git a/data-otxserver/monster/quests/dangerous_depth/bosses/the_baron_from_below.lua b/data-otxserver/monster/quests/dangerous_depth/bosses/the_baron_from_below.lua index 12c461e44..e780ac65c 100644 --- a/data-otxserver/monster/quests/dangerous_depth/bosses/the_baron_from_below.lua +++ b/data-otxserver/monster/quests/dangerous_depth/bosses/the_baron_from_below.lua @@ -13,6 +13,11 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "DepthWarzoneBossDeath", + "TheBaronFromBelowThink", +} + monster.health = 350000 monster.maxHealth = 350000 monster.race = "blood" diff --git a/data-otxserver/monster/quests/dangerous_depth/bosses/the_count_of_the_core.lua b/data-otxserver/monster/quests/dangerous_depth/bosses/the_count_of_the_core.lua index 3a9b1726e..80878aaa3 100644 --- a/data-otxserver/monster/quests/dangerous_depth/bosses/the_count_of_the_core.lua +++ b/data-otxserver/monster/quests/dangerous_depth/bosses/the_count_of_the_core.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "DepthWarzoneBossDeath", +} + monster.health = 350000 monster.maxHealth = 350000 monster.race = "blood" diff --git a/data-otxserver/monster/quests/dangerous_depth/bosses/the_duke_of_the_depths.lua b/data-otxserver/monster/quests/dangerous_depth/bosses/the_duke_of_the_depths.lua index eb960a171..31c354f76 100644 --- a/data-otxserver/monster/quests/dangerous_depth/bosses/the_duke_of_the_depths.lua +++ b/data-otxserver/monster/quests/dangerous_depth/bosses/the_duke_of_the_depths.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "DepthWarzoneBossDeath", +} + monster.health = 350000 monster.maxHealth = 350000 monster.race = "blood" diff --git a/data-otxserver/monster/quests/dangerous_depth/makeshift_home.lua b/data-otxserver/monster/quests/dangerous_depth/makeshift_home.lua index fc70f937f..0b64ccee7 100644 --- a/data-otxserver/monster/quests/dangerous_depth/makeshift_home.lua +++ b/data-otxserver/monster/quests/dangerous_depth/makeshift_home.lua @@ -14,6 +14,10 @@ monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 +monster.events = { + "MakeshiftHomeDeath", +} + monster.changeTarget = { interval = 5000, chance = 10, diff --git a/data-otxserver/monster/quests/dangerous_depth/organic_matter.lua b/data-otxserver/monster/quests/dangerous_depth/organic_matter.lua index a7d5ec477..bf292570f 100644 --- a/data-otxserver/monster/quests/dangerous_depth/organic_matter.lua +++ b/data-otxserver/monster/quests/dangerous_depth/organic_matter.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "OrganicMatterDeath", +} + monster.health = 10000 monster.maxHealth = 10000 monster.race = "venom" diff --git a/data-otxserver/monster/quests/dangerous_depth/snail_slime.lua b/data-otxserver/monster/quests/dangerous_depth/snail_slime.lua index e5e4942e6..2bfa943c4 100644 --- a/data-otxserver/monster/quests/dangerous_depth/snail_slime.lua +++ b/data-otxserver/monster/quests/dangerous_depth/snail_slime.lua @@ -13,6 +13,11 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "SnailSlimeDeath", + "SnailSlimeThink", +} + monster.health = 4500 monster.maxHealth = 4500 monster.race = "venom" diff --git a/data-otxserver/monster/quests/dark_trails/death_priest_shargon.lua b/data-otxserver/monster/quests/dark_trails/death_priest_shargon.lua index 13fd2f07c..c64a01061 100644 --- a/data-otxserver/monster/quests/dark_trails/death_priest_shargon.lua +++ b/data-otxserver/monster/quests/dark_trails/death_priest_shargon.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ShargonDeath", +} + monster.bosstiary = { bossRaceId = 1047, bossRace = RARITY_BANE, diff --git a/data-otxserver/monster/quests/dark_trails/the_ravager.lua b/data-otxserver/monster/quests/dark_trails/the_ravager.lua index 1c10ace0d..a8683a6f9 100644 --- a/data-otxserver/monster/quests/dark_trails/the_ravager.lua +++ b/data-otxserver/monster/quests/dark_trails/the_ravager.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "TheRavagerDeath", +} + monster.bosstiary = { bossRaceId = 1035, bossRace = RARITY_BANE, diff --git a/data-otxserver/monster/quests/feaster_of_souls/the_dread_maiden.lua b/data-otxserver/monster/quests/feaster_of_souls/the_dread_maiden.lua index 9ca5ba118..83308c9c2 100644 --- a/data-otxserver/monster/quests/feaster_of_souls/the_dread_maiden.lua +++ b/data-otxserver/monster/quests/feaster_of_souls/the_dread_maiden.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "FeasterOfSoulsBossDeath", +} + monster.bosstiary = { bossRaceId = 1872, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/feaster_of_souls/the_fear_feaster.lua b/data-otxserver/monster/quests/feaster_of_souls/the_fear_feaster.lua index 058842c70..b5f69b05e 100644 --- a/data-otxserver/monster/quests/feaster_of_souls/the_fear_feaster.lua +++ b/data-otxserver/monster/quests/feaster_of_souls/the_fear_feaster.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "FeasterOfSoulsBossDeath", +} + monster.health = 300000 monster.maxHealth = 300000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/feaster_of_souls/the_pale_worm.lua b/data-otxserver/monster/quests/feaster_of_souls/the_pale_worm.lua index 41bf63ad7..bde610ee6 100644 --- a/data-otxserver/monster/quests/feaster_of_souls/the_pale_worm.lua +++ b/data-otxserver/monster/quests/feaster_of_souls/the_pale_worm.lua @@ -22,6 +22,7 @@ monster.manaCost = 0 monster.events = { "paleWormDeath", + "FeasterOfSoulsBossDeath", } monster.changeTarget = { diff --git a/data-otxserver/monster/quests/feaster_of_souls/the_unwelcome.lua b/data-otxserver/monster/quests/feaster_of_souls/the_unwelcome.lua index 383795d8b..7c0cd0529 100644 --- a/data-otxserver/monster/quests/feaster_of_souls/the_unwelcome.lua +++ b/data-otxserver/monster/quests/feaster_of_souls/the_unwelcome.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "FeasterOfSoulsBossDeath", +} + monster.health = 300000 monster.maxHealth = 300000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/ferumbras_mortal_shell.lua b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/ferumbras_mortal_shell.lua index 0d1cb7757..271601095 100644 --- a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/ferumbras_mortal_shell.lua +++ b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/ferumbras_mortal_shell.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "AscendantBossesDeath", +} + monster.health = 300000 monster.maxHealth = 300000 monster.race = "venom" diff --git a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/mazoran.lua b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/mazoran.lua index e412a2af7..1a25d4352 100644 --- a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/mazoran.lua +++ b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/mazoran.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "AscendantBossesDeath", +} + monster.bosstiary = { bossRaceId = 1186, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/plagirath.lua b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/plagirath.lua index e0cb0b883..b86ac1a47 100644 --- a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/plagirath.lua +++ b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/plagirath.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "AscendantBossesDeath", +} + monster.bosstiary = { bossRaceId = 1199, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/ragiaz.lua b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/ragiaz.lua index 0f196297f..e9f97824c 100644 --- a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/ragiaz.lua +++ b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/ragiaz.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "AscendantBossesDeath", +} + monster.bosstiary = { bossRaceId = 1180, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/razzagorn.lua b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/razzagorn.lua index 480df7868..07d2a55b0 100644 --- a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/razzagorn.lua +++ b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/razzagorn.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "AscendantBossesDeath", +} + monster.bosstiary = { bossRaceId = 1177, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/shulgrax.lua b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/shulgrax.lua index 2ad81b631..69eae8f36 100644 --- a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/shulgrax.lua +++ b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/shulgrax.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "AscendantBossesDeath", +} + monster.health = 40000 monster.maxHealth = 40000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/tarbaz.lua b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/tarbaz.lua index 9b6bf3492..16fd12f63 100644 --- a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/tarbaz.lua +++ b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/tarbaz.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "AscendantBossesDeath", +} + monster.health = 290000 monster.maxHealth = 290000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/the_lord_of_the_lice.lua b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/the_lord_of_the_lice.lua index 1a9d2504c..08b0fd0a8 100644 --- a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/the_lord_of_the_lice.lua +++ b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/the_lord_of_the_lice.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "AscendantBossesDeath", +} + monster.bosstiary = { bossRaceId = 1179, bossRace = RARITY_BANE, diff --git a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/the_shatterer.lua b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/the_shatterer.lua index 76a70e531..eb414a427 100644 --- a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/the_shatterer.lua +++ b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/the_shatterer.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "TheShattererDeath", +} + monster.health = 220000 monster.maxHealth = 220000 monster.race = "fire" diff --git a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/zamulosh.lua b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/zamulosh.lua index 00d02c7c3..f3bbd04ef 100644 --- a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/zamulosh.lua +++ b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/zamulosh.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "AscendantBossesDeath", +} + monster.health = 300000 monster.maxHealth = 300000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/zamulosh2.lua b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/zamulosh2.lua index e3f7a2cfc..5adb3a046 100644 --- a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/zamulosh2.lua +++ b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/zamulosh2.lua @@ -14,6 +14,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "AscendantBossesDeath", +} + monster.health = 300000 monster.maxHealth = 300000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/zamulosh3.lua b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/zamulosh3.lua index 3d8b71189..ec8cb0ade 100644 --- a/data-otxserver/monster/quests/ferumbras_ascendant/bosses/zamulosh3.lua +++ b/data-otxserver/monster/quests/ferumbras_ascendant/bosses/zamulosh3.lua @@ -14,6 +14,11 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "AscendantBossesDeath", + "ZamuloshClone", +} + monster.health = 1000 monster.maxHealth = 1000 monster.race = "undead" @@ -53,10 +58,6 @@ monster.flags = { canWalkOnPoison = true, } -monster.events = { - "ZamuloshClone", -} - monster.light = { level = 0, color = 0, diff --git a/data-otxserver/monster/quests/forgotten_knowledge/bosses/lady_tenebris.lua b/data-otxserver/monster/quests/forgotten_knowledge/bosses/lady_tenebris.lua index 40452abca..c7087a421 100644 --- a/data-otxserver/monster/quests/forgotten_knowledge/bosses/lady_tenebris.lua +++ b/data-otxserver/monster/quests/forgotten_knowledge/bosses/lady_tenebris.lua @@ -13,6 +13,11 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ForgottenKnowledgeBossDeath", + "HealthForgotten", +} + monster.bosstiary = { bossRaceId = 1315, bossRace = RARITY_ARCHFOE, @@ -57,10 +62,6 @@ monster.flags = { canWalkOnPoison = true, } -monster.events = { - "HealthForgotten", -} - monster.light = { level = 0, color = 0, diff --git a/data-otxserver/monster/quests/forgotten_knowledge/bosses/lloyd.lua b/data-otxserver/monster/quests/forgotten_knowledge/bosses/lloyd.lua index 4cb143dd9..2cd9bdcd5 100644 --- a/data-otxserver/monster/quests/forgotten_knowledge/bosses/lloyd.lua +++ b/data-otxserver/monster/quests/forgotten_knowledge/bosses/lloyd.lua @@ -13,6 +13,11 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ForgottenKnowledgeBossDeath", + "LloydPrepareDeath", +} + monster.bosstiary = { bossRaceId = 1329, bossRace = RARITY_ARCHFOE, @@ -57,10 +62,6 @@ monster.flags = { canWalkOnPoison = true, } -monster.events = { - "LloydPrepareDeath", -} - monster.light = { level = 0, color = 0, diff --git a/data-otxserver/monster/quests/forgotten_knowledge/bosses/melting_frozen_horror.lua b/data-otxserver/monster/quests/forgotten_knowledge/bosses/melting_frozen_horror.lua index d856af449..6fa44fff6 100644 --- a/data-otxserver/monster/quests/forgotten_knowledge/bosses/melting_frozen_horror.lua +++ b/data-otxserver/monster/quests/forgotten_knowledge/bosses/melting_frozen_horror.lua @@ -13,6 +13,11 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ForgottenKnowledgeBossDeath", + "MeltingDeath", +} + monster.health = 70000 monster.maxHealth = 70000 monster.race = "undead" @@ -57,10 +62,6 @@ monster.flags = { canWalkOnPoison = true, } -monster.events = { - "MeltingDeath", -} - monster.light = { level = 0, color = 0, diff --git a/data-otxserver/monster/quests/forgotten_knowledge/bosses/soul_of_dragonking_zyrtarch.lua b/data-otxserver/monster/quests/forgotten_knowledge/bosses/soul_of_dragonking_zyrtarch.lua index 030838fa5..2def55d92 100644 --- a/data-otxserver/monster/quests/forgotten_knowledge/bosses/soul_of_dragonking_zyrtarch.lua +++ b/data-otxserver/monster/quests/forgotten_knowledge/bosses/soul_of_dragonking_zyrtarch.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ForgottenKnowledgeBossDeath", +} + monster.bosstiary = { bossRaceId = 1289, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_blazing_time_guardian.lua b/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_blazing_time_guardian.lua index 736c3233d..dd4144c4a 100644 --- a/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_blazing_time_guardian.lua +++ b/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_blazing_time_guardian.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ForgottenKnowledgeBossDeath", +} + monster.health = 150000 monster.maxHealth = 150000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_enraged_thorn_knight.lua b/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_enraged_thorn_knight.lua index 6e74ec828..38d27e009 100644 --- a/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_enraged_thorn_knight.lua +++ b/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_enraged_thorn_knight.lua @@ -13,6 +13,11 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ForgottenKnowledgeBossDeath", + "HealthForgotten", +} + monster.bosstiary = { bossRaceId = 1297, bossRace = RARITY_ARCHFOE, @@ -57,10 +62,6 @@ monster.flags = { canWalkOnPoison = true, } -monster.events = { - "HealthForgotten", -} - monster.light = { level = 0, color = 0, diff --git a/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_freezing_time_guardian.lua b/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_freezing_time_guardian.lua index e43d50183..ec4aac0f9 100644 --- a/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_freezing_time_guardian.lua +++ b/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_freezing_time_guardian.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ForgottenKnowledgeBossDeath", +} + monster.health = 150000 monster.maxHealth = 150000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_last_lore_keeper.lua b/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_last_lore_keeper.lua index 893cade47..a875379d5 100644 --- a/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_last_lore_keeper.lua +++ b/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_last_lore_keeper.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ForgottenKnowledgeBossDeath", +} + monster.health = 750000 monster.maxHealth = 750000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_time_guardian.lua b/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_time_guardian.lua index 86d45d2d7..53d7eee51 100644 --- a/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_time_guardian.lua +++ b/data-otxserver/monster/quests/forgotten_knowledge/bosses/the_time_guardian.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ForgottenKnowledgeBossDeath", +} + monster.health = 150000 monster.maxHealth = 150000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/forgotten_knowledge/bound_astral_power.lua b/data-otxserver/monster/quests/forgotten_knowledge/bound_astral_power.lua index f012b1c11..42be68d8e 100644 --- a/data-otxserver/monster/quests/forgotten_knowledge/bound_astral_power.lua +++ b/data-otxserver/monster/quests/forgotten_knowledge/bound_astral_power.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "BoundAstralPowerDeath", +} + monster.health = 70000 monster.maxHealth = 70000 monster.race = "venom" diff --git a/data-otxserver/monster/quests/forgotten_knowledge/cosmic_energy_prism_a.lua b/data-otxserver/monster/quests/forgotten_knowledge/cosmic_energy_prism_a.lua index c85eda464..7dde9b156 100644 --- a/data-otxserver/monster/quests/forgotten_knowledge/cosmic_energy_prism_a.lua +++ b/data-otxserver/monster/quests/forgotten_knowledge/cosmic_energy_prism_a.lua @@ -14,6 +14,11 @@ monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 +monster.events = { + "EnergyPrismDeath", + "EnergyPrismHealthChange", +} + monster.changeTarget = { interval = 2000, chance = 0, @@ -43,10 +48,6 @@ monster.flags = { canWalkOnPoison = true, } -monster.events = { - "EnergyPrism", -} - monster.light = { level = 0, color = 0, diff --git a/data-otxserver/monster/quests/forgotten_knowledge/cosmic_energy_prism_b.lua b/data-otxserver/monster/quests/forgotten_knowledge/cosmic_energy_prism_b.lua index eb9093054..cfd5dd674 100644 --- a/data-otxserver/monster/quests/forgotten_knowledge/cosmic_energy_prism_b.lua +++ b/data-otxserver/monster/quests/forgotten_knowledge/cosmic_energy_prism_b.lua @@ -14,6 +14,11 @@ monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 +monster.events = { + "EnergyPrismHealthChange", + "EnergyPrismDeath", +} + monster.changeTarget = { interval = 2000, chance = 0, @@ -43,10 +48,6 @@ monster.flags = { canWalkOnPoison = true, } -monster.events = { - "EnergyPrism", -} - monster.light = { level = 0, color = 0, diff --git a/data-otxserver/monster/quests/forgotten_knowledge/cosmic_energy_prism_c.lua b/data-otxserver/monster/quests/forgotten_knowledge/cosmic_energy_prism_c.lua index b8de11033..92045bac1 100644 --- a/data-otxserver/monster/quests/forgotten_knowledge/cosmic_energy_prism_c.lua +++ b/data-otxserver/monster/quests/forgotten_knowledge/cosmic_energy_prism_c.lua @@ -44,7 +44,7 @@ monster.flags = { } monster.events = { - "EnergyPrism", + "EnergyPrismHealthChange", } monster.light = { diff --git a/data-otxserver/monster/quests/forgotten_knowledge/cosmic_energy_prism_d.lua b/data-otxserver/monster/quests/forgotten_knowledge/cosmic_energy_prism_d.lua index cf53e32a3..ec58b3ead 100644 --- a/data-otxserver/monster/quests/forgotten_knowledge/cosmic_energy_prism_d.lua +++ b/data-otxserver/monster/quests/forgotten_knowledge/cosmic_energy_prism_d.lua @@ -14,6 +14,11 @@ monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 +monster.events = { + "EnergyPrismHealthChange", + "EnergyPrismDeath", +} + monster.changeTarget = { interval = 2000, chance = 0, @@ -43,10 +48,6 @@ monster.flags = { canWalkOnPoison = true, } -monster.events = { - "EnergyPrism", -} - monster.light = { level = 0, color = 0, diff --git a/data-otxserver/monster/quests/grave_danger/bosses/count_vlarkorth.lua b/data-otxserver/monster/quests/grave_danger/bosses/count_vlarkorth.lua index 929bd2f90..ebe04c8ec 100644 --- a/data-otxserver/monster/quests/grave_danger/bosses/count_vlarkorth.lua +++ b/data-otxserver/monster/quests/grave_danger/bosses/count_vlarkorth.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "GraveDangerBossDeath", +} + monster.health = 75000 monster.maxHealth = 75000 monster.race = "venom" diff --git a/data-otxserver/monster/quests/grave_danger/bosses/duke_krule.lua b/data-otxserver/monster/quests/grave_danger/bosses/duke_krule.lua index 121f09f2d..0760491d1 100644 --- a/data-otxserver/monster/quests/grave_danger/bosses/duke_krule.lua +++ b/data-otxserver/monster/quests/grave_danger/bosses/duke_krule.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "GraveDangerBossDeath", +} + monster.health = 75000 monster.maxHealth = 75000 monster.race = "venom" diff --git a/data-otxserver/monster/quests/grave_danger/bosses/earl_osam.lua b/data-otxserver/monster/quests/grave_danger/bosses/earl_osam.lua index ccc260d20..c996116a3 100644 --- a/data-otxserver/monster/quests/grave_danger/bosses/earl_osam.lua +++ b/data-otxserver/monster/quests/grave_danger/bosses/earl_osam.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "GraveDangerBossDeath", +} + monster.health = 75000 monster.maxHealth = 75000 monster.race = "venom" diff --git a/data-otxserver/monster/quests/grave_danger/bosses/king_zelos.lua b/data-otxserver/monster/quests/grave_danger/bosses/king_zelos.lua index 7b3adde7c..0201e8214 100644 --- a/data-otxserver/monster/quests/grave_danger/bosses/king_zelos.lua +++ b/data-otxserver/monster/quests/grave_danger/bosses/king_zelos.lua @@ -14,6 +14,7 @@ monster.outfit = { } monster.events = { + "GraveDangerBossDeath", "zelosDeath", } diff --git a/data-otxserver/monster/quests/grave_danger/bosses/lord_azaram.lua b/data-otxserver/monster/quests/grave_danger/bosses/lord_azaram.lua index 8e47689c9..701a0b6f9 100644 --- a/data-otxserver/monster/quests/grave_danger/bosses/lord_azaram.lua +++ b/data-otxserver/monster/quests/grave_danger/bosses/lord_azaram.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "GraveDangerBossDeath", +} + monster.health = 75000 monster.maxHealth = 75000 monster.race = "venom" diff --git a/data-otxserver/monster/quests/grave_danger/bosses/sir_baeloc.lua b/data-otxserver/monster/quests/grave_danger/bosses/sir_baeloc.lua index d9a43a7dc..042ce32e9 100644 --- a/data-otxserver/monster/quests/grave_danger/bosses/sir_baeloc.lua +++ b/data-otxserver/monster/quests/grave_danger/bosses/sir_baeloc.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "GraveDangerBossDeath", +} + monster.health = 75000 monster.maxHealth = 75000 monster.race = "venom" diff --git a/data-otxserver/monster/quests/hero_of_rathleton/deep_terror.lua b/data-otxserver/monster/quests/hero_of_rathleton/deep_terror.lua index d5715452e..534175a88 100644 --- a/data-otxserver/monster/quests/hero_of_rathleton/deep_terror.lua +++ b/data-otxserver/monster/quests/hero_of_rathleton/deep_terror.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "RathletonBossDeath", +} + monster.bosstiary = { bossRaceId = 1087, bossRace = RARITY_BANE, diff --git a/data-otxserver/monster/quests/hero_of_rathleton/empowered_glooth_horror.lua b/data-otxserver/monster/quests/hero_of_rathleton/empowered_glooth_horror.lua index 8f3e9d0e4..b99cd1f87 100644 --- a/data-otxserver/monster/quests/hero_of_rathleton/empowered_glooth_horror.lua +++ b/data-otxserver/monster/quests/hero_of_rathleton/empowered_glooth_horror.lua @@ -13,6 +13,11 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "RathletonBossDeath", + "GloothHorror", +} + monster.health = 25000 monster.maxHealth = 25000 monster.race = "venom" @@ -52,10 +57,6 @@ monster.flags = { canWalkOnPoison = true, } -monster.events = { - "GloothHorror", -} - monster.light = { level = 0, color = 0, diff --git a/data-otxserver/monster/quests/hero_of_rathleton/professor_maxxen.lua b/data-otxserver/monster/quests/hero_of_rathleton/professor_maxxen.lua index 8bb03ae76..8a1ec35e9 100644 --- a/data-otxserver/monster/quests/hero_of_rathleton/professor_maxxen.lua +++ b/data-otxserver/monster/quests/hero_of_rathleton/professor_maxxen.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "RathletonBossDeath", +} + monster.health = 90000 monster.maxHealth = 90000 monster.race = "venom" diff --git a/data-otxserver/monster/quests/in_service_of_yalahar/azerus.lua b/data-otxserver/monster/quests/in_service_of_yalahar/azerus.lua index cd5ad5ae0..87329f077 100644 --- a/data-otxserver/monster/quests/in_service_of_yalahar/azerus.lua +++ b/data-otxserver/monster/quests/in_service_of_yalahar/azerus.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "AzerusDeath", +} + monster.health = 26000 monster.maxHealth = 26000 monster.race = "blood" diff --git a/data-otxserver/monster/quests/in_service_of_yalahar/azerus2.lua b/data-otxserver/monster/quests/in_service_of_yalahar/azerus2.lua index ef0b7d498..19f074c17 100644 --- a/data-otxserver/monster/quests/in_service_of_yalahar/azerus2.lua +++ b/data-otxserver/monster/quests/in_service_of_yalahar/azerus2.lua @@ -14,6 +14,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "AzerusDeath", +} + monster.health = 26000 monster.maxHealth = 26000 monster.race = "blood" diff --git a/data-otxserver/monster/quests/in_service_of_yalahar/inky.lua b/data-otxserver/monster/quests/in_service_of_yalahar/inky.lua index 7326ed59a..bcb266254 100644 --- a/data-otxserver/monster/quests/in_service_of_yalahar/inky.lua +++ b/data-otxserver/monster/quests/in_service_of_yalahar/inky.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "QuaraLeadersDeath", +} + monster.health = 750 monster.maxHealth = 750 monster.race = "blood" diff --git a/data-otxserver/monster/quests/in_service_of_yalahar/sharptooth.lua b/data-otxserver/monster/quests/in_service_of_yalahar/sharptooth.lua index d707fc895..583df08b8 100644 --- a/data-otxserver/monster/quests/in_service_of_yalahar/sharptooth.lua +++ b/data-otxserver/monster/quests/in_service_of_yalahar/sharptooth.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "QuaraLeadersDeath", +} + monster.health = 3100 monster.maxHealth = 3100 monster.race = "blood" diff --git a/data-otxserver/monster/quests/kilmaresh/an_astral_glyph.lua b/data-otxserver/monster/quests/kilmaresh/an_astral_glyph.lua index 5b76352b4..a9c879233 100644 --- a/data-otxserver/monster/quests/kilmaresh/an_astral_glyph.lua +++ b/data-otxserver/monster/quests/kilmaresh/an_astral_glyph.lua @@ -14,6 +14,11 @@ monster.corpse = 0 monster.speed = 235 monster.manaCost = 0 +monster.events = { + "ForgottenKnowledgeBossDeath", + "AstralGlyphDeath", +} + monster.changeTarget = { interval = 2000, chance = 0, @@ -46,10 +51,6 @@ monster.flags = { canWalkOnPoison = true, } -monster.events = { - "AstralGlyphDeath", -} - monster.light = { level = 0, color = 0, diff --git a/data-otxserver/monster/quests/kilmaresh/bragrumol.lua b/data-otxserver/monster/quests/kilmaresh/bragrumol.lua index b653df68c..bb7ef9507 100644 --- a/data-otxserver/monster/quests/kilmaresh/bragrumol.lua +++ b/data-otxserver/monster/quests/kilmaresh/bragrumol.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "BragrumolDeath", +} + monster.health = 38000 monster.maxHealth = 38000 monster.race = "fire" diff --git a/data-otxserver/monster/quests/kilmaresh/mozradek.lua b/data-otxserver/monster/quests/kilmaresh/mozradek.lua index 093b8d7ce..8602923a0 100644 --- a/data-otxserver/monster/quests/kilmaresh/mozradek.lua +++ b/data-otxserver/monster/quests/kilmaresh/mozradek.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "MozradekDeath", +} + monster.bosstiary = { bossRaceId = 1829, bossRace = RARITY_BANE, diff --git a/data-otxserver/monster/quests/kilmaresh/xogixath.lua b/data-otxserver/monster/quests/kilmaresh/xogixath.lua index 886b76329..3c77465e1 100644 --- a/data-otxserver/monster/quests/kilmaresh/xogixath.lua +++ b/data-otxserver/monster/quests/kilmaresh/xogixath.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "XogixathDeath", +} + monster.health = 28000 monster.maxHealth = 28000 monster.race = "fire" diff --git a/data-otxserver/monster/quests/liquid_black/jaul.lua b/data-otxserver/monster/quests/liquid_black/jaul.lua index c9fa8b2c7..965bbacb1 100644 --- a/data-otxserver/monster/quests/liquid_black/jaul.lua +++ b/data-otxserver/monster/quests/liquid_black/jaul.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "DeeplingBossDeath", +} + monster.bosstiary = { bossRaceId = 773, bossRace = RARITY_BANE, diff --git a/data-otxserver/monster/quests/liquid_black/obujos.lua b/data-otxserver/monster/quests/liquid_black/obujos.lua index b8c84b54c..1f32fd54f 100644 --- a/data-otxserver/monster/quests/liquid_black/obujos.lua +++ b/data-otxserver/monster/quests/liquid_black/obujos.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "DeeplingBossDeath", +} + monster.bosstiary = { bossRaceId = 774, bossRace = RARITY_BANE, diff --git a/data-otxserver/monster/quests/liquid_black/tanjis.lua b/data-otxserver/monster/quests/liquid_black/tanjis.lua index 4313a4a74..586af950b 100644 --- a/data-otxserver/monster/quests/liquid_black/tanjis.lua +++ b/data-otxserver/monster/quests/liquid_black/tanjis.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "DeeplingBossDeath", +} + monster.bosstiary = { bossRaceId = 775, bossRace = RARITY_BANE, diff --git a/data-otxserver/monster/quests/primal_ordeal_quest/magma_bubble.lua b/data-otxserver/monster/quests/primal_ordeal_quest/magma_bubble.lua index eb7d9a7ae..8f3bf7f61 100644 --- a/data-otxserver/monster/quests/primal_ordeal_quest/magma_bubble.lua +++ b/data-otxserver/monster/quests/primal_ordeal_quest/magma_bubble.lua @@ -15,6 +15,7 @@ monster.outfit = { monster.events = { "MagmaBubbleDeath", + "ThePrimeOrdealBossDeath", } monster.bosstiary = { diff --git a/data-otxserver/monster/quests/primal_ordeal_quest/the_primal_menace.lua b/data-otxserver/monster/quests/primal_ordeal_quest/the_primal_menace.lua index c6a7eb461..b81e83f7a 100644 --- a/data-otxserver/monster/quests/primal_ordeal_quest/the_primal_menace.lua +++ b/data-otxserver/monster/quests/primal_ordeal_quest/the_primal_menace.lua @@ -66,6 +66,7 @@ monster.outfit = { monster.events = { "ThePrimalMenaceDeath", + "ThePrimeOrdealBossDeath", } monster.health = 400000 diff --git a/data-otxserver/monster/quests/soul_war/goshnars_cruelty.lua b/data-otxserver/monster/quests/soul_war/goshnars_cruelty.lua index 502c11e7d..40957e0bd 100644 --- a/data-otxserver/monster/quests/soul_war/goshnars_cruelty.lua +++ b/data-otxserver/monster/quests/soul_war/goshnars_cruelty.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "SoulwarsBossDeath", +} + monster.health = 300000 monster.maxHealth = 300000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/soul_war/goshnars_greed.lua b/data-otxserver/monster/quests/soul_war/goshnars_greed.lua index 834edccf5..0c8ddbbac 100644 --- a/data-otxserver/monster/quests/soul_war/goshnars_greed.lua +++ b/data-otxserver/monster/quests/soul_war/goshnars_greed.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "SoulwarsBossDeath", +} + monster.health = 300000 monster.maxHealth = 300000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/soul_war/goshnars_malice.lua b/data-otxserver/monster/quests/soul_war/goshnars_malice.lua index ce6699ea3..5e79dcccb 100644 --- a/data-otxserver/monster/quests/soul_war/goshnars_malice.lua +++ b/data-otxserver/monster/quests/soul_war/goshnars_malice.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "SoulwarsBossDeath", +} + monster.health = 300000 monster.maxHealth = 300000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/soul_war/goshnars_megalomania.lua b/data-otxserver/monster/quests/soul_war/goshnars_megalomania.lua index 1c871919b..18cfdeacd 100644 --- a/data-otxserver/monster/quests/soul_war/goshnars_megalomania.lua +++ b/data-otxserver/monster/quests/soul_war/goshnars_megalomania.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "SoulwarsBossDeath", +} + monster.health = 500000 monster.maxHealth = 500000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/soul_war/goshnars_spite.lua b/data-otxserver/monster/quests/soul_war/goshnars_spite.lua index f6180e7ff..cf46b89a7 100644 --- a/data-otxserver/monster/quests/soul_war/goshnars_spite.lua +++ b/data-otxserver/monster/quests/soul_war/goshnars_spite.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "SoulwarsBossDeath", +} + monster.health = 300000 monster.maxHealth = 300000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/the_dream_courts/bosses/alptramun.lua b/data-otxserver/monster/quests/the_dream_courts/bosses/alptramun.lua index a46b6610a..76275c2cd 100644 --- a/data-otxserver/monster/quests/the_dream_courts/bosses/alptramun.lua +++ b/data-otxserver/monster/quests/the_dream_courts/bosses/alptramun.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "DreamCourtsBossDeath", +} + monster.health = 320000 monster.maxHealth = 320000 monster.race = "blood" diff --git a/data-otxserver/monster/quests/the_dream_courts/bosses/izcandar_the_banished.lua b/data-otxserver/monster/quests/the_dream_courts/bosses/izcandar_the_banished.lua index 26b2c8372..9c6930248 100644 --- a/data-otxserver/monster/quests/the_dream_courts/bosses/izcandar_the_banished.lua +++ b/data-otxserver/monster/quests/the_dream_courts/bosses/izcandar_the_banished.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "DreamCourtsBossDeath", +} + monster.bosstiary = { bossRaceId = 1699, bossRace = RARITY_NEMESIS, diff --git a/data-otxserver/monster/quests/the_dream_courts/bosses/malofur_mangrinder.lua b/data-otxserver/monster/quests/the_dream_courts/bosses/malofur_mangrinder.lua index 4e85ee19d..2bd63f042 100644 --- a/data-otxserver/monster/quests/the_dream_courts/bosses/malofur_mangrinder.lua +++ b/data-otxserver/monster/quests/the_dream_courts/bosses/malofur_mangrinder.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "DreamCourtsBossDeath", +} + monster.health = 320000 monster.maxHealth = 320000 monster.race = "blood" diff --git a/data-otxserver/monster/quests/the_dream_courts/bosses/maxxenius.lua b/data-otxserver/monster/quests/the_dream_courts/bosses/maxxenius.lua index d5dd38909..8db50108f 100644 --- a/data-otxserver/monster/quests/the_dream_courts/bosses/maxxenius.lua +++ b/data-otxserver/monster/quests/the_dream_courts/bosses/maxxenius.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "DreamCourtsBossDeath", +} + monster.health = 320000 monster.maxHealth = 320000 monster.race = "blood" diff --git a/data-otxserver/monster/quests/the_dream_courts/bosses/the_nightmare_beast.lua b/data-otxserver/monster/quests/the_dream_courts/bosses/the_nightmare_beast.lua index c8c3f8da2..d0520193a 100644 --- a/data-otxserver/monster/quests/the_dream_courts/bosses/the_nightmare_beast.lua +++ b/data-otxserver/monster/quests/the_dream_courts/bosses/the_nightmare_beast.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "DreamCourtsBossDeath", +} + monster.health = 850000 monster.maxHealth = 850000 monster.race = "blood" diff --git a/data-otxserver/monster/quests/the_elemental_spheres/earth_overlord.lua b/data-otxserver/monster/quests/the_elemental_spheres/earth_overlord.lua index c651694c2..33251b292 100644 --- a/data-otxserver/monster/quests/the_elemental_spheres/earth_overlord.lua +++ b/data-otxserver/monster/quests/the_elemental_spheres/earth_overlord.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ElementalOverlordDeath", +} + monster.health = 4000 monster.maxHealth = 4000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/the_elemental_spheres/energy_overlord.lua b/data-otxserver/monster/quests/the_elemental_spheres/energy_overlord.lua index 10846df7c..844a6504d 100644 --- a/data-otxserver/monster/quests/the_elemental_spheres/energy_overlord.lua +++ b/data-otxserver/monster/quests/the_elemental_spheres/energy_overlord.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ElementalOverlordDeath", +} + monster.health = 4000 monster.maxHealth = 4000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/the_elemental_spheres/fire_overlord.lua b/data-otxserver/monster/quests/the_elemental_spheres/fire_overlord.lua index c3b7d152a..736432426 100644 --- a/data-otxserver/monster/quests/the_elemental_spheres/fire_overlord.lua +++ b/data-otxserver/monster/quests/the_elemental_spheres/fire_overlord.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ElementalOverlordDeath", +} + monster.health = 4000 monster.maxHealth = 4000 monster.race = "fire" diff --git a/data-otxserver/monster/quests/the_elemental_spheres/ice_overlord.lua b/data-otxserver/monster/quests/the_elemental_spheres/ice_overlord.lua index 7da731c90..9a65a1c8e 100644 --- a/data-otxserver/monster/quests/the_elemental_spheres/ice_overlord.lua +++ b/data-otxserver/monster/quests/the_elemental_spheres/ice_overlord.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ElementalOverlordDeath", +} + monster.health = 4000 monster.maxHealth = 4000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/the_elemental_spheres/lord_of_the_elements.lua b/data-otxserver/monster/quests/the_elemental_spheres/lord_of_the_elements.lua index eba6b1c94..7bdc28f74 100644 --- a/data-otxserver/monster/quests/the_elemental_spheres/lord_of_the_elements.lua +++ b/data-otxserver/monster/quests/the_elemental_spheres/lord_of_the_elements.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ElementalOverlordDeath", +} + monster.bosstiary = { bossRaceId = 454, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/the_inquisition/annihilon.lua b/data-otxserver/monster/quests/the_inquisition/annihilon.lua index e35249ea8..26013b74e 100644 --- a/data-otxserver/monster/quests/the_inquisition/annihilon.lua +++ b/data-otxserver/monster/quests/the_inquisition/annihilon.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "InquisitionBossDeath", +} + monster.bosstiary = { bossRaceId = 418, bossRace = RARITY_BANE, diff --git a/data-otxserver/monster/quests/the_inquisition/golgordan.lua b/data-otxserver/monster/quests/the_inquisition/golgordan.lua index 7da1ca0e0..59a74148e 100644 --- a/data-otxserver/monster/quests/the_inquisition/golgordan.lua +++ b/data-otxserver/monster/quests/the_inquisition/golgordan.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "InquisitionBossDeath", +} + monster.bosstiary = { bossRaceId = 416, bossRace = RARITY_BANE, diff --git a/data-otxserver/monster/quests/the_inquisition/hellgorak.lua b/data-otxserver/monster/quests/the_inquisition/hellgorak.lua index 2fcb10ece..79209cb85 100644 --- a/data-otxserver/monster/quests/the_inquisition/hellgorak.lua +++ b/data-otxserver/monster/quests/the_inquisition/hellgorak.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "InquisitionBossDeath", +} + monster.bosstiary = { bossRaceId = 403, bossRace = RARITY_BANE, diff --git a/data-otxserver/monster/quests/the_inquisition/latrivan.lua b/data-otxserver/monster/quests/the_inquisition/latrivan.lua index 9854d2060..be2d46288 100644 --- a/data-otxserver/monster/quests/the_inquisition/latrivan.lua +++ b/data-otxserver/monster/quests/the_inquisition/latrivan.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "InquisitionBossDeath", +} + monster.health = 25000 monster.maxHealth = 25000 monster.race = "fire" diff --git a/data-otxserver/monster/quests/the_inquisition/madareth.lua b/data-otxserver/monster/quests/the_inquisition/madareth.lua index 344609d71..66caf4329 100644 --- a/data-otxserver/monster/quests/the_inquisition/madareth.lua +++ b/data-otxserver/monster/quests/the_inquisition/madareth.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "InquisitionBossDeath", +} + monster.bosstiary = { bossRaceId = 414, bossRace = RARITY_BANE, diff --git a/data-otxserver/monster/quests/the_inquisition/ungreez.lua b/data-otxserver/monster/quests/the_inquisition/ungreez.lua index be3f10a6e..c19b21999 100644 --- a/data-otxserver/monster/quests/the_inquisition/ungreez.lua +++ b/data-otxserver/monster/quests/the_inquisition/ungreez.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "UngreezDeath", +} + monster.health = 8200 monster.maxHealth = 8200 monster.race = "blood" diff --git a/data-otxserver/monster/quests/the_inquisition/ushuriel.lua b/data-otxserver/monster/quests/the_inquisition/ushuriel.lua index 25b14bd62..35c7d81b0 100644 --- a/data-otxserver/monster/quests/the_inquisition/ushuriel.lua +++ b/data-otxserver/monster/quests/the_inquisition/ushuriel.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "InquisitionBossDeath", +} + monster.health = 31500 monster.maxHealth = 31500 monster.race = "fire" diff --git a/data-otxserver/monster/quests/the_inquisition/zugurosh.lua b/data-otxserver/monster/quests/the_inquisition/zugurosh.lua index 796346d7a..fedf47e5f 100644 --- a/data-otxserver/monster/quests/the_inquisition/zugurosh.lua +++ b/data-otxserver/monster/quests/the_inquisition/zugurosh.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "InquisitionBossDeath", +} + monster.bosstiary = { bossRaceId = 434, bossRace = RARITY_BANE, diff --git a/data-otxserver/monster/quests/the_new_frontier/shard_of_corruption.lua b/data-otxserver/monster/quests/the_new_frontier/shard_of_corruption.lua index a818d4132..c7ba3fa0e 100644 --- a/data-otxserver/monster/quests/the_new_frontier/shard_of_corruption.lua +++ b/data-otxserver/monster/quests/the_new_frontier/shard_of_corruption.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ShardOfCorruptionDeath", +} + monster.health = 600 monster.maxHealth = 600 monster.race = "undead" diff --git a/data-otxserver/monster/quests/the_new_frontier/tirecz.lua b/data-otxserver/monster/quests/the_new_frontier/tirecz.lua index 8bd994210..42cbd1f2b 100644 --- a/data-otxserver/monster/quests/the_new_frontier/tirecz.lua +++ b/data-otxserver/monster/quests/the_new_frontier/tirecz.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "TireczDeath", +} + monster.health = 25000 monster.maxHealth = 25000 monster.race = "blood" diff --git a/data-otxserver/monster/quests/the_secret_library/bosses/ghulosh.lua b/data-otxserver/monster/quests/the_secret_library/bosses/ghulosh.lua index 789d59fc8..4324a573e 100644 --- a/data-otxserver/monster/quests/the_secret_library/bosses/ghulosh.lua +++ b/data-otxserver/monster/quests/the_secret_library/bosses/ghulosh.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "SecretLibraryBossDeath", +} + monster.bosstiary = { bossRaceId = 1608, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/the_secret_library/bosses/gorzindel.lua b/data-otxserver/monster/quests/the_secret_library/bosses/gorzindel.lua index bd05efbfc..b00bffd6d 100644 --- a/data-otxserver/monster/quests/the_secret_library/bosses/gorzindel.lua +++ b/data-otxserver/monster/quests/the_secret_library/bosses/gorzindel.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "SecretLibraryBossDeath", +} + monster.bosstiary = { bossRaceId = 1591, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/the_secret_library/bosses/the_scourge_of_oblivion.lua b/data-otxserver/monster/quests/the_secret_library/bosses/the_scourge_of_oblivion.lua index 9529a00ce..5965afef0 100644 --- a/data-otxserver/monster/quests/the_secret_library/bosses/the_scourge_of_oblivion.lua +++ b/data-otxserver/monster/quests/the_secret_library/bosses/the_scourge_of_oblivion.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "SecretLibraryBossDeath", +} + monster.bosstiary = { bossRaceId = 1642, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/the_secret_library/lokathmor.lua b/data-otxserver/monster/quests/the_secret_library/lokathmor.lua index 47484e5dc..537b2584d 100644 --- a/data-otxserver/monster/quests/the_secret_library/lokathmor.lua +++ b/data-otxserver/monster/quests/the_secret_library/lokathmor.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "SecretLibraryBossDeath", +} + monster.bosstiary = { bossRaceId = 1574, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/the_secret_library/mazzinor.lua b/data-otxserver/monster/quests/the_secret_library/mazzinor.lua index bbf93c314..a9be1bc32 100644 --- a/data-otxserver/monster/quests/the_secret_library/mazzinor.lua +++ b/data-otxserver/monster/quests/the_secret_library/mazzinor.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "SecretLibraryBossDeath", +} + monster.bosstiary = { bossRaceId = 1605, bossRace = RARITY_ARCHFOE, diff --git a/data-otxserver/monster/quests/wrath_of_the_emperor/fury_of_the_emperor.lua b/data-otxserver/monster/quests/wrath_of_the_emperor/fury_of_the_emperor.lua index 463d57908..46f365304 100644 --- a/data-otxserver/monster/quests/wrath_of_the_emperor/fury_of_the_emperor.lua +++ b/data-otxserver/monster/quests/wrath_of_the_emperor/fury_of_the_emperor.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "WrathOfTheEmperorBossDeath", +} + monster.health = 51000 monster.maxHealth = 51000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/wrath_of_the_emperor/lizard_abomination.lua b/data-otxserver/monster/quests/wrath_of_the_emperor/lizard_abomination.lua index eab957f40..9b0e18c6c 100644 --- a/data-otxserver/monster/quests/wrath_of_the_emperor/lizard_abomination.lua +++ b/data-otxserver/monster/quests/wrath_of_the_emperor/lizard_abomination.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ZalamonDeath", +} + monster.health = 95000 monster.maxHealth = 95000 monster.race = "blood" diff --git a/data-otxserver/monster/quests/wrath_of_the_emperor/mutated_zalamon.lua b/data-otxserver/monster/quests/wrath_of_the_emperor/mutated_zalamon.lua index ad7c98a1a..39aa68ae9 100644 --- a/data-otxserver/monster/quests/wrath_of_the_emperor/mutated_zalamon.lua +++ b/data-otxserver/monster/quests/wrath_of_the_emperor/mutated_zalamon.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ZalamonDeath", +} + monster.health = 155000 monster.maxHealth = 155000 monster.race = "venom" diff --git a/data-otxserver/monster/quests/wrath_of_the_emperor/scorn_of_the_emperor.lua b/data-otxserver/monster/quests/wrath_of_the_emperor/scorn_of_the_emperor.lua index bbb474fa6..7b0b97c63 100644 --- a/data-otxserver/monster/quests/wrath_of_the_emperor/scorn_of_the_emperor.lua +++ b/data-otxserver/monster/quests/wrath_of_the_emperor/scorn_of_the_emperor.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "WrathOfTheEmperorBossDeath", +} + monster.health = 45000 monster.maxHealth = 45000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/wrath_of_the_emperor/snake_god_essence.lua b/data-otxserver/monster/quests/wrath_of_the_emperor/snake_god_essence.lua index 9d7e4f4fb..8479eeba8 100644 --- a/data-otxserver/monster/quests/wrath_of_the_emperor/snake_god_essence.lua +++ b/data-otxserver/monster/quests/wrath_of_the_emperor/snake_god_essence.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ZalamonDeath", +} + monster.health = 65000 monster.maxHealth = 65000 monster.race = "blood" diff --git a/data-otxserver/monster/quests/wrath_of_the_emperor/snake_thing.lua b/data-otxserver/monster/quests/wrath_of_the_emperor/snake_thing.lua index 272ef668f..0085b08ca 100644 --- a/data-otxserver/monster/quests/wrath_of_the_emperor/snake_thing.lua +++ b/data-otxserver/monster/quests/wrath_of_the_emperor/snake_thing.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ZalamonDeath", +} + monster.health = 70000 monster.maxHealth = 70000 monster.race = "venom" diff --git a/data-otxserver/monster/quests/wrath_of_the_emperor/spite_of_the_emperor.lua b/data-otxserver/monster/quests/wrath_of_the_emperor/spite_of_the_emperor.lua index f0951ea2d..2ab416325 100644 --- a/data-otxserver/monster/quests/wrath_of_the_emperor/spite_of_the_emperor.lua +++ b/data-otxserver/monster/quests/wrath_of_the_emperor/spite_of_the_emperor.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "WrathOfTheEmperorBossDeath", +} + monster.health = 48000 monster.maxHealth = 48000 monster.race = "undead" diff --git a/data-otxserver/monster/quests/wrath_of_the_emperor/the_keeper.lua b/data-otxserver/monster/quests/wrath_of_the_emperor/the_keeper.lua index 43d731d6b..3062b6f2f 100644 --- a/data-otxserver/monster/quests/wrath_of_the_emperor/the_keeper.lua +++ b/data-otxserver/monster/quests/wrath_of_the_emperor/the_keeper.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "TheKeeperDeath", +} + monster.health = 40000 monster.maxHealth = 40000 monster.race = "venom" diff --git a/data-otxserver/monster/quests/wrath_of_the_emperor/wrath_of_the_emperor.lua b/data-otxserver/monster/quests/wrath_of_the_emperor/wrath_of_the_emperor.lua index 70494aee5..99ad23610 100644 --- a/data-otxserver/monster/quests/wrath_of_the_emperor/wrath_of_the_emperor.lua +++ b/data-otxserver/monster/quests/wrath_of_the_emperor/wrath_of_the_emperor.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "WrathOfTheEmperorBossDeath", +} + monster.health = 55000 monster.maxHealth = 55000 monster.race = "undead" diff --git a/data-otxserver/monster/reptiles/lizard_magistratus.lua b/data-otxserver/monster/reptiles/lizard_magistratus.lua index 410adcacc..cce60cb8d 100644 --- a/data-otxserver/monster/reptiles/lizard_magistratus.lua +++ b/data-otxserver/monster/reptiles/lizard_magistratus.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "LizardMagistratusDeath", +} + monster.raceId = 655 monster.Bestiary = { class = "Reptile", diff --git a/data-otxserver/monster/reptiles/lizard_noble.lua b/data-otxserver/monster/reptiles/lizard_noble.lua index 18847211c..1dcfe3d28 100644 --- a/data-otxserver/monster/reptiles/lizard_noble.lua +++ b/data-otxserver/monster/reptiles/lizard_noble.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "LizardNobleDeath", +} + monster.raceId = 656 monster.Bestiary = { class = "Reptile", diff --git a/data-otxserver/monster/trainers/training_machine.lua b/data-otxserver/monster/trainers/training_machine.lua new file mode 100644 index 000000000..c5a98a9ce --- /dev/null +++ b/data-otxserver/monster/trainers/training_machine.lua @@ -0,0 +1,65 @@ +local mType = Game.createMonsterType("Training Machine") +local monster = {} + +monster.description = "a training machine" +monster.experience = 0 +monster.outfit = { + lookType = 1142, +} + +monster.health = 1000000 +monster.maxHealth = monster.health +monster.race = "venom" +monster.corpse = 0 +monster.speed = 0 + +monster.changeTarget = { + interval = 1 * 1000, + chance = 0, +} + +monster.flags = { + summonable = false, + attackable = true, + hostile = true, + convinceable = false, + illusionable = false, + canPushItems = true, + canPushCreatures = true, + targetDistance = 1, + staticAttackChance = 100, +} + +monster.summons = {} + +monster.voices = { + interval = 5000, + chance = 10, + { text = "I hope you are enjoying your sparring Sir or Ma'am!", yell = false }, + { text = "Threat level rising!", yell = false }, + { text = "Engaging in hostile interaction!", yell = false }, + { text = "Rrrtttarrrttarrrtta", yell = false }, + { text = "Please feel free to hit me Sir or Ma'am!", yell = false }, + { text = "klonk klonk klonk", yell = false }, + { text = "Self-diagnosis running.", yell = false }, + { text = "Battle simulation proceeding.", yell = false }, + { text = "Repairs initiated!", yell = false }, +} + +monster.loot = {} + +monster.attacks = { + { name = "melee", attack = 130, interval = 2 * 1000, minDamage = -1, maxDamage = -2 }, +} + +monster.defenses = { + defense = 1, + armor = 1, + { name = "combat", type = COMBAT_HEALING, chance = 15, interval = 2 * 1000, minDamage = 10000, maxDamage = 50000, effect = CONST_ME_MAGIC_BLUE }, +} + +monster.elements = {} + +monster.immunities = {} + +mType:register(monster) diff --git a/data-otxserver/monster/undeads/demon_skeleton.lua b/data-otxserver/monster/undeads/demon_skeleton.lua index 7e133b866..c40806e29 100644 --- a/data-otxserver/monster/undeads/demon_skeleton.lua +++ b/data-otxserver/monster/undeads/demon_skeleton.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "UpperSpikeDeath", +} + monster.raceId = 37 monster.Bestiary = { class = "Undead", diff --git a/data-otxserver/monster/vermins/deepworm.lua b/data-otxserver/monster/vermins/deepworm.lua index 112735939..91b2ded87 100644 --- a/data-otxserver/monster/vermins/deepworm.lua +++ b/data-otxserver/monster/vermins/deepworm.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "WarzoneWormDeath", +} + monster.raceId = 1531 monster.Bestiary = { class = "Vermin", diff --git a/data-otxserver/monster/vermins/diremaw.lua b/data-otxserver/monster/vermins/diremaw.lua index 530c32039..1e3accb0f 100644 --- a/data-otxserver/monster/vermins/diremaw.lua +++ b/data-otxserver/monster/vermins/diremaw.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "WarzoneWormDeath", +} + monster.raceId = 1532 monster.Bestiary = { class = "Vermin", diff --git a/data-otxserver/monster/vermins/drillworm.lua b/data-otxserver/monster/vermins/drillworm.lua index f1ae51b1d..3cf92fce1 100644 --- a/data-otxserver/monster/vermins/drillworm.lua +++ b/data-otxserver/monster/vermins/drillworm.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "LowerSpikeDeath", +} + monster.raceId = 878 monster.Bestiary = { class = "Vermin", diff --git a/data-otxserver/monster/vermins/parasite.lua b/data-otxserver/monster/vermins/parasite.lua index da9810202..65e83dbb7 100644 --- a/data-otxserver/monster/vermins/parasite.lua +++ b/data-otxserver/monster/vermins/parasite.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "ParasiteDeath", +} + monster.health = 550 monster.maxHealth = 550 monster.race = "venom" diff --git a/data-otxserver/monster/vermins/wiggler.lua b/data-otxserver/monster/vermins/wiggler.lua index 3c438edb4..76c994cdf 100644 --- a/data-otxserver/monster/vermins/wiggler.lua +++ b/data-otxserver/monster/vermins/wiggler.lua @@ -13,6 +13,10 @@ monster.outfit = { lookMount = 0, } +monster.events = { + "WigglerDeath", +} + monster.raceId = 899 monster.Bestiary = { class = "Vermin", diff --git a/data-otxserver/scripts/creaturescripts/monster/lower_roshamuul.lua b/data-otxserver/scripts/creaturescripts/monster/lower_roshamuul.lua index c27c83a21..a7a6ef8f1 100644 --- a/data-otxserver/scripts/creaturescripts/monster/lower_roshamuul.lua +++ b/data-otxserver/scripts/creaturescripts/monster/lower_roshamuul.lua @@ -1,14 +1,18 @@ local setting = { - ["frazzlemaw"] = roshamuul_killed_frazzlemaws, + ["frazzlemaw"] = ROSHAMUUL_KILLED_FRAZZLEMAWS, ["silencer"] = ROSHAMUUL_KILLED_SILENCERS, } -local lowerRoshamuul = CreatureEvent("LowerRoshamuul") -function lowerRoshamuul.onKill(creature, target) - local monster = setting[target:getName():lower()] - if monster then - creature:setStorageValue(monster, math.max(0, creature:getStorageValue(monster)) + 1) +local lowerRoshamuul = CreatureEvent("RoshamuulKillsDeath") +function lowerRoshamuul.onDeath(creature, _corpse, _lastHitKiller, mostDamageKiller) + local monster = setting[creature:getName():lower()] + if not monster then + return true end + + onDeathForParty(creature, mostDamageKiller, function(creature, player) + player:setStorageValue(monster, math.max(0, player:getStorageValue(monster)) + 1) + end) return true end diff --git a/data-otxserver/scripts/creaturescripts/others/login_events.lua b/data-otxserver/scripts/creaturescripts/others/login_events.lua index f61182bea..7adef4c07 100644 --- a/data-otxserver/scripts/creaturescripts/others/login_events.lua +++ b/data-otxserver/scripts/creaturescripts/others/login_events.lua @@ -1,12 +1,8 @@ local loginEvents = CreatureEvent("LoginEvents") function loginEvents.onLogin(player) local events = { - --Monster - "LowerRoshamuul", --Others "AdvanceSave", - "BestiaryOnKill", - "BosstiaryOnKill", "BossParticipation", "DropLoot", "PlayerDeath", @@ -14,114 +10,10 @@ function loginEvents.onLogin(player) "FamiliarLogin", "FamiliarAdvance", --Quests - --Adventurers Guild Quest - "Thegreatdragonhuntkill", - --Bigfoot Burden Quest - "BossesWarzone", - "ParasiteWarzone", - "VersperothKill", - "WigglerKill", --Cults Of Tibia Quest - "BossesCults", - "MinotaurTask", - "VortexCarlin", "LeidenHeal", - "GlowingRubbishAmulet", - "DestroyedPillar", "HealthPillar", "YalahariHealth", - "EssenceOfMalice", - --Dangerous Depths Quest - "LostExileKill", - "SnailSlimeKill", - "TheBaronFromBelowKill", - --Dawnport Quest - "MorrisMinotaurKill", - "MorrisGoblinKill", - "MorrisTrollKill", - --Elemental Spheres Quest - "OverlordKill", - --Ferumbras Ascendant Quest - "AscendantBossesKill", - "TheShattererKill", - --Firewalker Boots - "PythiusTheRottenKill", - --Forgotten Knowledge Quest - "BossesForgottenKill", - "AstralPower", - "EnergyPrismDeath", - "ReplicaServant", - --Hero Of Rathleton - "RathletonBossKill", - --Secret Service - "BlackKnightKill", - --Service Of Yalahar - "DiseasedTrio", - "Azerus", - "QuaraLeaders", - --Inquisition - "InquisitionBossKill", - "UngreezKill", - --Killing In The Name Of - "KillingInTheNameOfKill", - "KillingInTheNameOfMinotaurKill", - "TiquandasRevengeKill", - "DemodrasKill", - --Kilmaresh - "BragrumolKill", - "MozradekKill", - "XogixathKill", - "FafnarKill", - --Liquid Black - "DeeplingBosses", - --Raging Mage Worldchange - "EnergizedRagingMageKill", - "RagingMageKill", - "YielothaxKill", - --Spike Tasks - "LowerSpikeKill", - "UpperSpikeKill", - "MiddleSpikeKill", - --Svargrond Arena - "SvargrondArenaKill", - --The Ice Islands Quest - "HuskyKill", - --The First Dragon - "KillDragon", - "SomewhatBeatableDeath", - --The New Frontier - "ShardOfCorruptionKill", - "TireczKill", - --Thieves Guild - "NomadKill", - --Threatened Dreams - Nightmare Intruders - "ThreatenedDreamsNightmareMonstersKills", - --Wrath of the Emperor - "LizardMagistratusKill", - "LizardNobleKill", - "KeeperKill", - "BossesKill", - "ZalamonKill", - -- The Rookie Guard - "VascalirRatKills", - -- An Uneasy Alliance - "RenegadeOrcKill", - -- Grave Danger - "GraveDangerKill", - -- Feaster of Souls - "FeasterOfSoulsKill", - -- Soul War - "SoulWarKill", - -- Secret Library - "SecretLibraryKill", - -- The Dream Courts - "DreamCourtsKill", - -- Prime Ordeal - "PrimeOrdealKill", - -- Concoctions - "ConcoctionsOnLogin", - -- Hazard System - "PrimalHazardKill", } for i = 1, #events do diff --git a/data-otxserver/scripts/globalevents/others/bosslever_death.lua b/data-otxserver/scripts/globalevents/others/bosslever_death.lua new file mode 100644 index 000000000..e31c8609a --- /dev/null +++ b/data-otxserver/scripts/globalevents/others/bosslever_death.lua @@ -0,0 +1,29 @@ +local onBossDeath = CreatureEvent("BossLeverOnDeath") +function onBossDeath.onDeath(creature) + if not creature then + return true + end + local name = creature:getName() + local key = "boss." .. toKey(name) + local zone = Zone(key) + if not zone then + return true + end + local bossLever = BossLever[name] + if not bossLever then + return true + end + if bossLever.timeoutEvent then + stopEvent(bossLever.timeoutEvent) + bossLever.timeoutEvent = nil + end + if bossLever.timeAfterKill > 0 then + zone:sendTextMessage(MESSAGE_EVENT_ADVANCE, "The " .. name .. " has been defeated. You have " .. bossLever.timeAfterKill .. " seconds to leave the room.") + bossLever.timeoutEvent = addEvent(function(zone) + zone:refresh() + zone:removePlayers() + end, bossLever.timeAfterKill * 1000, zone) + end + return true +end +onBossDeath:register() diff --git a/data-otxserver/scripts/hazard/primal.lua b/data-otxserver/scripts/hazard/primal.lua index 8aeb80a55..e4309b78f 100644 --- a/data-otxserver/scripts/hazard/primal.lua +++ b/data-otxserver/scripts/hazard/primal.lua @@ -82,8 +82,14 @@ function createPrimalPod(position) end end -local primalKill = CreatureEvent("PrimalHazardKill") -function primalKill.onKill(_player, creature) +local spawnEvent = ZoneEvent(hazardZone) +function spawnEvent.onSpawn(monster, position) + monster:registerEvent("PrimalHazardDeath") +end +spawnEvent:register() + +local deathEvent = CreatureEvent("PrimalHazardDeath") +function deathEvent.onDeath(creature) if not configManager.getBoolean(configKeys.TOGGLE_HAZARDSYSTEM) then return true end @@ -123,4 +129,4 @@ function primalKill.onKill(_player, creature) return true end -primalKill:register() +deathEvent:register() diff --git a/data/libs/concoctions_lib.lua b/data/libs/concoctions_lib.lua index 0d8a6e657..72547a8a1 100644 --- a/data/libs/concoctions_lib.lua +++ b/data/libs/concoctions_lib.lua @@ -12,26 +12,26 @@ ConcoctionTickType = { Concoction = {} Concoction.__index = Concoction Concoction.Ids = { - KooldownAid = 36723, - StaminaExtension = 36725, - StrikeEnhancement = 36724, - CharmUpgrade = 36726, - WealthDuplex = 36727, - BestiaryBetterment = 36728, - FireResilience = 36729, - IceResilience = 36730, - EarthResilience = 36731, - EnergyResilience = 36732, - HolyResilience = 36733, - DeathResilience = 36734, - PhysicalResilience = 36735, - FireAmplification = 36736, - IceAmplification = 36737, - EarthAmplification = 36738, - EnergyAmplification = 36739, - HolyAmplification = 36740, - DeathAmplification = 36741, - PhysicalAmplification = 36742, + KooldownAid = Concoction_KooldownAid, + StaminaExtension = Concoction_StaminaExtension, + StrikeEnhancement = Concoction_StrikeEnhancement, + CharmUpgrade = Concoction_CharmUpgrade, + WealthDuplex = Concoction_WealthDuplex, + BestiaryBetterment = Concoction_BestiaryBetterment, + FireResilience = Concoction_FireResilience, + IceResilience = Concoction_IceResilience, + EarthResilience = Concoction_EarthResilience, + EnergyResilience = Concoction_EnergyResilience, + HolyResilience = Concoction_HolyResilience, + DeathResilience = Concoction_DeathResilience, + PhysicalResilience = Concoction_PhysicalResilience, + FireAmplification = Concoction_FireAmplification, + IceAmplification = Concoction_IceAmplification, + EarthAmplification = Concoction_EarthAmplification, + EnergyAmplification = Concoction_EnergyAmplification, + HolyAmplification = Concoction_HolyAmplification, + DeathAmplification = Concoction_DeathAmplification, + PhysicalAmplification = Concoction_PhysicalAmplification, } function Concoction.find(identifier) diff --git a/data/libs/functions/set.lua b/data/libs/functions/set.lua new file mode 100644 index 000000000..e3e6b6f92 --- /dev/null +++ b/data/libs/functions/set.lua @@ -0,0 +1,146 @@ +---@class Set +---@field values table +---@field options table +---@field options.insensitive boolean +---@method contains(key: any): boolean +---@method insert(key: any): void +---@method remove(key: any): void +---@method union(other: Set): Set +---@method intersection(other: Set): Set +---@method iter(): function +---@method __eq(other: Set): boolean +---@method __key(k: any): any +---@method __len(): number +---@method __tostring(): string +Set = {} + +---@param initial table|Set +---@param options table +---@return Set +setmetatable(Set, { + __call = function(self, initial, options) + local set = setmetatable({ + values = {}, + options = options or {}, + }, { __index = Set }) + if Set.isSet(initial) then + for k in initial:iter() do + set:insert(k) + end + elseif type(initial) == "table" then + for _, k in ipairs(initial) do + set:insert(k) + end + end + return set + end, +}) + +function Set.isSet(t) + local meta = getmetatable(t) + return meta and (meta == Set or meta.__index == Set) +end + +function Set:contains(key) + key = self:__key(key) + return self.values[key] ~= nil +end + +function Set:insert(key) + key = self:__key(key) + self.values[key] = true +end + +function Set:remove(key) + key = self:__key(key) + self.values[key] = nil +end + +function Set:union(other) + local set = Set(self, self.options) + for k in Set(other, self.options):iter() do + set:insert(k) + end + return set +end + +function Set:intersection(other) + local set = Set({}, self.options) + for k in Set(other, self.options):iter() do + if self:contains(k) then + set:insert(k) + end + end + return set +end + +function Set:__eq(other) + if #self ~= #other then + return false + end + for k in pairs(self.values) do + if not other:contains(k) then + return false + end + end + return true +end + +function Set:__key(k) + if self.options.insensitive then + if type(k) ~= "string" then + logger.error("key must be a string when insensitive option is enabled") + end + k = k:lower() + end + return k +end + +function Set:iter() + return pairs(self.values) +end + +function Set:__len() + return #self.values +end + +function Set:__tostring() + local t = {} + for k in self:iter() do + table.insert(t, k) + end + return "{ " .. table.concat(t, ", ") .. " }" +end + +function Set:tostring() + return self:__tostring() +end + +-- Usage: +-- local s = Set({ 1, 2, 3 }) +-- s:insert(4) +-- s:remove(2) +-- print(s:contains(1)) -- true +-- print(s:contains(2)) -- false +-- print(s:contains(3)) -- true +-- print(s:contains(4)) -- true +-- print(s:contains(5)) -- false +-- print(#s) -- 3 +-- print(s) -- { 1, 3, 4 } +-- for k in s:iter() do +-- print(k) +-- end +-- local s2 = Set({ 3, 4, 5 }) +-- print(s:union(s2)) -- { 1, 3, 4, 5 } +-- print(s2:union(s)) -- { 3, 4, 5, 1 } +-- print(s:union(s2) == s2:union(s)) -- true +-- +-- Strings +-- local s = Set({}, { insensitive = true }) +-- s:insert("a") +-- s:insert("B") +-- s:insert("c") +-- print(s) -- { a, b, c } +-- print(s:contains("a")) -- true +-- print(s:contains("A")) -- true +-- print(s:contains("b")) -- true diff --git a/data/libs/kill_lib.lua b/data/libs/kill_lib.lua new file mode 100644 index 000000000..257be4722 --- /dev/null +++ b/data/libs/kill_lib.lua @@ -0,0 +1,21 @@ +-- Utility to combine onDeath event with a "kill" event for a player with a party (or not). + +function onDeathForParty(creature, player, func) + if not player or not player:isPlayer() then + return + end + + local participants = Participants(player, true) + for _, participant in ipairs(participants) do + func(creature, participant) + end +end + +function onDeathForDamagingPlayers(creature, func) + for key, value in pairs(creature:getDamageMap()) do + local player = Player(key) + if player then + func(creature, player) + end + end +end diff --git a/data/libs/libs.lua b/data/libs/libs.lua index ccc71dc89..bd6164111 100644 --- a/data/libs/libs.lua +++ b/data/libs/libs.lua @@ -32,3 +32,4 @@ dofile(CORE_DIRECTORY .. "/libs/loyalty_lib.lua") dofile(CORE_DIRECTORY .. "/libs/encounters_lib.lua") dofile(CORE_DIRECTORY .. "/libs/raids_lib.lua") dofile(CORE_DIRECTORY .. "/libs/concoctions_lib.lua") +dofile(CORE_DIRECTORY .. "/libs/kill_lib.lua") diff --git a/data/libs/raids_lib.lua b/data/libs/raids_lib.lua index 4f1ea9b8c..9b0b9d105 100644 --- a/data/libs/raids_lib.lua +++ b/data/libs/raids_lib.lua @@ -143,3 +143,17 @@ function Raid:getActivePlayerCount() end return count end + +--Overrides Encounter:addBroadcast +--Adds a stage that broadcasts raid information globally +--@param message string The message to send +--@return boolean True if the message stage is added successfully, false otherwise +function Raid:addBroadcast(message, type) + type = type or MESSAGE_EVENT_ADVANCE + return self:addStage({ + start = function() + self:broadcast(type, message) + Webhook.sendMessage("Incoming raid", message, WEBHOOK_COLOR_RAID) + end, + }) +end diff --git a/data/modules/modules.xml b/data/modules/modules.xml index 647be9adc..c45646183 100644 --- a/data/modules/modules.xml +++ b/data/modules/modules.xml @@ -16,6 +16,9 @@ + + + diff --git a/data/modules/scripts/cults_of_tibia/death.lua b/data/modules/scripts/cults_of_tibia/death.lua new file mode 100644 index 000000000..a9a855a94 --- /dev/null +++ b/data/modules/scripts/cults_of_tibia/death.lua @@ -0,0 +1,13 @@ +function onRecvbyte(player, msg, byte) + if IsRunningGlobalDatapack() and player then + local storageDeathFake = player:getStorageValue(Storage.CultsOfTibia.Barkless.Death) + if storageDeathFake == 1 then + player:setStorageValue(Storage.CultsOfTibia.Barkless.Death, 0) + player:addHealth(player:getMaxHealth()) + player:addMana(player:getMaxMana()) + player:setHiddenHealth(false) + player:removeCondition(CONDITION_OUTFIT) + player:teleportTo(player:getTown():getTemplePosition(), true) + end + end +end diff --git a/data/scripts/creatureevents/bestiary_kill.lua b/data/scripts/creatureevents/bestiary_kill.lua deleted file mode 100644 index a238124ea..000000000 --- a/data/scripts/creatureevents/bestiary_kill.lua +++ /dev/null @@ -1,35 +0,0 @@ -local bestiaryOnKill = CreatureEvent("BestiaryOnKill") -function bestiaryOnKill.onKill(player, creature, lastHit) - if not player:isPlayer() or not creature:isMonster() or creature:hasBeenSummoned() or creature:isPlayer() then - return true - end - - local mType = MonsterType(creature:getName()) - if not mType then - logger.error("[bestiaryOnKill.onKill] monster with name {} have wrong MonsterType", creature:getName()) - return true - end - - if mType:Bestiaryrace() == 0 then - return true - end - - local bestiaryBetterment = Concoction.find(Concoction.Ids.BestiaryBetterment) - if not bestiaryBetterment then - logger.warn("[BestiaryOnKill] - Could not find BestiaryBetterment concoction.") - end - for cid, damage in pairs(creature:getDamageMap()) do - local participant = Player(cid) - if participant and participant:isPlayer() then - local bestiaryMultiplier = (configManager.getNumber(configKeys.BESTIARY_KILL_MULTIPLIER) or 1) - if bestiaryBetterment and bestiaryBetterment:active(participant) then - bestiaryMultiplier = bestiaryMultiplier * bestiaryBetterment.config.multiplier - end - participant:addBestiaryKill(creature:getName(), bestiaryMultiplier) - end - end - - return true -end - -bestiaryOnKill:register() diff --git a/data/scripts/creatureevents/bosstiary_kill.lua b/data/scripts/creatureevents/bosstiary_kill.lua deleted file mode 100644 index 2a1139cd3..000000000 --- a/data/scripts/creatureevents/bosstiary_kill.lua +++ /dev/null @@ -1,33 +0,0 @@ -local bosstiaryOnKill = CreatureEvent("BosstiaryOnKill") -function bosstiaryOnKill.onKill(player, creature, lastHit) - if not player:isPlayer() or not creature:isMonster() or creature:hasBeenSummoned() or creature:isPlayer() then - return true - end - - local mType = MonsterType(creature:getName()) - if not mType then - logger.error("[bosstiaryOnKill.onKill] monster with name {} have wrong MonsterType", creature:getName()) - return true - end - - if mType:bossRace() == nil or mType:bossRace() == "" then - return true - end - - local bosstiaryMultiplier = (configManager.getNumber(configKeys.BOSSTIARY_KILL_MULTIPLIER) or 1) - local killBonus = (configManager.getNumber(configKeys.BOOSTED_BOSS_KILL_BONUS) or 3) - for cid, damage in pairs(creature:getDamageMap()) do - local participant = Player(cid) - if participant and participant:isPlayer() then - if creature:getName():lower() == (Game.getBoostedBoss()):lower() then - participant:addBosstiaryKill(creature:getName(), bosstiaryMultiplier * killBonus) - else - participant:addBosstiaryKill(creature:getName(), bosstiaryMultiplier) - end - end - end - - return true -end - -bosstiaryOnKill:register()