From e1a9a7cb4559f0882939cbf8e4d4ac6f22db48ba Mon Sep 17 00:00:00 2001 From: Matt Gomez Date: Wed, 26 Jan 2022 21:31:33 -0600 Subject: [PATCH] lasted from otservbr https://github.com/opentibiabr/otservbr-global/commit/e96951dab094a25c9c2d9af5145d32e2036f598c --- config.lua.dist | 9 +- data/XML/imbuements.xml | 178 +- data/XML/mounts.xml | 9 + data/XML/outfits.xml | 10 + data/XML/vocations.xml | 2 +- data/chatchannels/scripts/advertising.lua | 4 +- data/chatchannels/scripts/english_chat.lua | 6 +- data/events/events.xml | 42 +- data/events/scripts/creature.lua | 19 +- data/events/scripts/player.lua | 262 +- data/global.lua | 29 +- data/items/items.otb | Bin 1676135 -> 1726172 bytes data/items/items.xml | 3294 ++++++++++++++--- data/lib/core/core.lua | 1 - data/lib/core/creature.lua | 11 + data/lib/core/functions.lua | 10 +- data/lib/core/imbuements.lua | 191 - data/lib/core/storages.lua | 7 +- data/lib/others/reward_boss_lib.lua | 25 +- data/lib/tables/exercise_training.lua | 135 + data/lib/tables/familiar.lua | 29 + data/lib/tables/table.lua | 2 + data/lib/tables/town.lua | 19 +- data/modules/scripts/blessings/blessings.lua | 2 +- data/modules/scripts/gamestore/init.lua | 3 +- data/modules/scripts/prey_system/assets.lua | 6 +- data/modules/scripts/prey_system/prey.lua | 42 +- data/monster/Fey/tainted_soul.lua | 114 + .../bosses/grand_master_oberon_functions.lua | 54 + data/monster/amphibics/azure_frog.lua | 4 +- data/monster/amphibics/bog_frog.lua | 4 +- data/monster/amphibics/coral_frog.lua | 4 +- data/monster/amphibics/crimson_frog.lua | 4 +- data/monster/amphibics/deathspawn.lua | 4 +- data/monster/amphibics/filth_toad.lua | 4 +- data/monster/amphibics/green_frog.lua | 4 +- data/monster/amphibics/infernal_frog.lua | 4 +- data/monster/amphibics/orchid_frog.lua | 4 +- data/monster/amphibics/salamander.lua | 4 +- data/monster/amphibics/toad.lua | 4 +- data/monster/aquatics/abyssal_calamary.lua | 4 +- data/monster/aquatics/blood_crab.lua | 4 +- data/monster/aquatics/calamary.lua | 4 +- data/monster/aquatics/crab.lua | 4 +- data/monster/aquatics/crustacea_gigantica.lua | 4 +- data/monster/aquatics/deathling_scout.lua | 4 +- .../aquatics/deathling_spellsinger.lua | 4 +- data/monster/aquatics/deepling_brawler.lua | 4 +- data/monster/aquatics/deepling_elite.lua | 4 +- data/monster/aquatics/deepling_guard.lua | 4 +- .../aquatics/deepling_master_librarian.lua | 4 +- data/monster/aquatics/deepling_scout.lua | 4 +- .../monster/aquatics/deepling_spellsinger.lua | 4 +- data/monster/aquatics/deepling_tyrant.lua | 4 +- data/monster/aquatics/deepling_warrior.lua | 4 +- data/monster/aquatics/deepling_worker.lua | 4 +- data/monster/aquatics/deepsea_blood_crab.lua | 4 +- data/monster/aquatics/fish.lua | 4 +- data/monster/aquatics/jellyfish.lua | 4 +- data/monster/aquatics/manta_ray.lua | 4 +- data/monster/aquatics/northern_pike.lua | 4 +- data/monster/aquatics/quara_constrictor.lua | 4 +- .../aquatics/quara_constrictor_scout.lua | 4 +- data/monster/aquatics/quara_hydromancer.lua | 4 +- .../aquatics/quara_hydromancer_scout.lua | 4 +- data/monster/aquatics/quara_mantassin.lua | 4 +- .../aquatics/quara_mantassin_scout.lua | 4 +- data/monster/aquatics/quara_pincher.lua | 4 +- data/monster/aquatics/quara_pincher_scout.lua | 4 +- data/monster/aquatics/quara_predator.lua | 4 +- .../monster/aquatics/quara_predator_scout.lua | 4 +- .../aquatics/renegade_quara_constrictor.lua | 4 +- .../aquatics/renegade_quara_hydromancer.lua | 4 +- .../aquatics/renegade_quara_mantassin.lua | 6 +- .../aquatics/renegade_quara_pincher.lua | 4 +- .../aquatics/renegade_quara_predator.lua | 4 +- data/monster/aquatics/shark.lua | 4 +- data/monster/birds/agressive_chicken.lua | 4 +- data/monster/birds/agrestic_chicken.lua | 4 +- data/monster/birds/berserker_chicken.lua | 4 +- data/monster/birds/cave_parrot.lua | 4 +- data/monster/birds/chicken.lua | 4 +- data/monster/birds/demon_parrot.lua | 4 +- data/monster/birds/dire_penguin.lua | 4 +- data/monster/birds/flamingo.lua | 4 +- data/monster/birds/marsh_stalker.lua | 4 +- data/monster/birds/parrot.lua | 4 +- data/monster/birds/penguin.lua | 4 +- data/monster/birds/pigeon.lua | 4 +- data/monster/birds/seagull.lua | 4 +- data/monster/birds/terror_bird.lua | 4 +- data/monster/bosses/ancient_lion_archer.lua | 5 +- data/monster/bosses/ancient_lion_knight.lua | 5 +- data/monster/bosses/ancient_lion_warlock.lua | 5 +- data/monster/bosses/apocalypse.lua | 4 +- data/monster/bosses/apprentice_sheng.lua | 11 +- data/monster/bosses/armenius.lua | 4 +- data/monster/bosses/bazir.lua | 11 +- data/monster/bosses/bibby_bloodbath.lua | 4 +- data/monster/bosses/big_boss_trolliver.lua | 11 +- data/monster/bosses/black_knight.lua | 4 +- data/monster/bosses/bullwark.lua | 4 +- data/monster/bosses/chikhaton.lua | 4 +- data/monster/bosses/clubarc_the_plunderer.lua | 4 +- data/monster/bosses/custodian.lua | 4 +- data/monster/bosses/dharalion.lua | 11 +- data/monster/bosses/diblis_the_fair.lua | 11 +- data/monster/bosses/diseased_bill.lua | 4 +- data/monster/bosses/diseased_dan.lua | 4 +- data/monster/bosses/diseased_fred.lua | 4 +- data/monster/bosses/ekatrix.lua | 4 +- data/monster/bosses/energized_raging_mage.lua | 11 +- data/monster/bosses/fleshslicer.lua | 4 +- data/monster/bosses/freegoiz.lua | 4 +- data/monster/bosses/gaffir.lua | 11 +- data/monster/bosses/general_murius.lua | 13 +- data/monster/bosses/glitterscale.lua | 4 +- data/monster/bosses/grandfather_tridian.lua | 13 +- data/monster/bosses/gravelord_oshuran.lua | 11 +- data/monster/bosses/groam.lua | 4 +- data/monster/bosses/guard_captain_quaid.lua | 4 +- data/monster/bosses/hairman_the_huge.lua | 4 +- data/monster/bosses/heoni.lua | 4 +- data/monster/bosses/incredibly_old_witch.lua | 4 +- data/monster/bosses/infernatil.lua | 11 +- data/monster/bosses/jesse_the_wicked.lua | 4 +- data/monster/bosses/koshei_the_deathless.lua | 11 +- data/monster/bosses/kraknaknork's_demon.lua | 4 +- data/monster/bosses/kraknaknork.lua | 11 +- data/monster/bosses/kroazur.lua | 4 +- data/monster/bosses/lisa.lua | 4 +- data/monster/bosses/mad_mage.lua | 11 +- data/monster/bosses/mad_technomancer.lua | 4 +- data/monster/bosses/morik_the_gladiator.lua | 11 +- data/monster/bosses/munster.lua | 11 +- data/monster/bosses/pythius_the_rotten.lua | 11 +- data/monster/bosses/raging_mage.lua | 11 +- data/monster/bosses/raxias.lua | 4 +- data/monster/bosses/renegade_orc.lua | 4 +- data/monster/bosses/robby_the_reckless.lua | 4 +- data/monster/bosses/rukor_zad.lua | 4 +- .../bosses/smuggler_baron_silvertoe.lua | 11 +- data/monster/bosses/spider_queen.lua | 4 +- data/monster/bosses/splasher.lua | 4 +- data/monster/bosses/teleskor.lua | 4 +- data/monster/bosses/the_abomination.lua | 4 +- data/monster/bosses/the_astral_source.lua | 8 +- data/monster/bosses/the_blightfather.lua | 4 +- data/monster/bosses/the_book_of_death.lua | 4 +- data/monster/bosses/the_collector.lua | 4 +- data/monster/bosses/the_evil_eye.lua | 13 +- data/monster/bosses/the_first_dragon.lua | 8 +- data/monster/bosses/the_frog_prince.lua | 4 +- data/monster/bosses/verminor.lua | 4 +- data/monster/bosses/visco.lua | 4 +- data/monster/bosses/warlord_ruzad.lua | 11 +- data/monster/bosses/weakened_demon.lua | 4 +- data/monster/bosses/weakened_shlorg.lua | 4 +- data/monster/bosses/williwasp.lua | 4 +- data/monster/bosses/yaga_the_crone.lua | 4 +- data/monster/bosses/zamuloshsummom.lua | 4 +- data/monster/bosses/zarabustor.lua | 13 +- data/monster/bosses/zavarash.lua | 11 +- data/monster/bosses/zevelon_duskbringer.lua | 11 +- data/monster/bosses/zoralurk.lua | 11 +- data/monster/bosses/zushuka.lua | 4 +- data/monster/constructs/animated_snowman.lua | 4 +- data/monster/constructs/biting_book.lua | 4 +- data/monster/constructs/clay_guardian.lua | 4 +- .../constructs/damaged_crystal_golem.lua | 4 +- .../constructs/damaged_worker_golem.lua | 4 +- data/monster/constructs/diamond_servant.lua | 4 +- .../constructs/diamond_servant_replica.lua | 4 +- .../constructs/enraged_crystal_golem.lua | 4 +- data/monster/constructs/eternal_guardian.lua | 4 +- data/monster/constructs/glooth_golem.lua | 4 +- data/monster/constructs/golden_servant.lua | 4 +- .../constructs/golden_servant_replica.lua | 4 +- data/monster/constructs/ice_golem.lua | 4 +- data/monster/constructs/infected_weeper.lua | 11 +- data/monster/constructs/iron_servant.lua | 4 +- .../constructs/iron_servant_replica.lua | 4 +- data/monster/constructs/lava_golem.lua | 4 +- data/monster/constructs/magma_crawler.lua | 4 +- data/monster/constructs/metal_gargoyle.lua | 4 +- data/monster/constructs/orewalker.lua | 4 +- data/monster/constructs/rotten_golem.lua | 4 +- data/monster/constructs/rustheap_golem.lua | 4 +- .../monster/constructs/sandstone_scorpion.lua | 4 +- data/monster/constructs/stone_devourer.lua | 4 +- data/monster/constructs/stone_golem.lua | 4 +- data/monster/constructs/walker.lua | 4 +- data/monster/constructs/war_golem.lua | 4 +- data/monster/constructs/weeper.lua | 4 +- data/monster/constructs/worker_golem.lua | 4 +- data/monster/dawnport/brittle_skeleton.lua | 4 +- data/monster/dawnport/crazed_dwarf.lua | 4 +- data/monster/dawnport/dawn_bat.lua | 4 +- data/monster/dawnport/dawn_scorpion.lua | 4 +- data/monster/dawnport/dawnfly.lua | 4 +- data/monster/dawnport/juvenile_cyclops.lua | 4 +- data/monster/dawnport/lesser_fire_devil.lua | 4 +- data/monster/dawnport/meadow_strider.lua | 4 +- data/monster/dawnport/mountain_troll.lua | 4 +- .../monster/dawnport/muglex_clan_assassin.lua | 10 +- data/monster/dawnport/muglex_clan_footman.lua | 4 +- .../dawnport/muglex_clan_scavenger.lua | 4 +- data/monster/dawnport/sacred_snake.lua | 4 +- data/monster/dawnport/salamander_trainer.lua | 4 +- data/monster/dawnport/scar_tribe_shaman.lua | 11 +- data/monster/dawnport/scar_tribe_warrior.lua | 4 +- data/monster/dawnport/spidris_elitesumom.lua | 4 +- .../dawnport/troll-trained_salamander.lua | 4 +- data/monster/dawnport/troll_marauder.lua | 4 +- data/monster/dawnport/weakened_shlorg.lua | 4 +- data/monster/dawnport/woodling.lua | 4 +- data/monster/demons/askarak_demon.lua | 4 +- data/monster/demons/askarak_lord.lua | 4 +- data/monster/demons/askarak_prince.lua | 4 +- data/monster/demons/brachiodemon.lua | 4 +- data/monster/demons/dark_torturer.lua | 4 +- data/monster/demons/dawnfire_asura.lua | 4 +- data/monster/demons/demon.lua | 13 +- data/monster/demons/demon_outcast.lua | 11 +- data/monster/demons/destroyer.lua | 4 +- data/monster/demons/diabolic_imp.lua | 4 +- data/monster/demons/duskbringer.lua | 4 +- data/monster/demons/fire_devil.lua | 4 +- data/monster/demons/floating_savant.lua | 11 +- data/monster/demons/frost_flower_asura.lua | 4 +- data/monster/demons/fury.lua | 4 +- data/monster/demons/gozzler.lua | 4 +- data/monster/demons/grimeleech.lua | 4 +- data/monster/demons/hellfire_fighter.lua | 4 +- data/monster/demons/hellflayer.lua | 4 +- data/monster/demons/hellhound.lua | 4 +- data/monster/demons/hellspawn.lua | 4 +- data/monster/demons/herald_of_gloom.lua | 6 +- data/monster/demons/infernal_demon.lua | 4 +- data/monster/demons/juggernaut.lua | 4 +- data/monster/demons/many_faces.lua | 4 +- data/monster/demons/midnight_asura.lua | 4 +- data/monster/demons/nightfiend.lua | 4 +- data/monster/demons/plaguesmith.lua | 4 +- data/monster/demons/shaburak_demon.lua | 4 +- data/monster/demons/shaburak_lord.lua | 4 +- data/monster/demons/shaburak_prince.lua | 4 +- data/monster/demons/shadow_hound.lua | 4 +- data/monster/demons/true_dawnfire_asura.lua | 4 +- .../demons/true_frost_flower_asura.lua | 4 +- data/monster/demons/true_midnight_asura.lua | 4 +- data/monster/demons/vexclaw.lua | 4 +- data/monster/dragons/dragon.lua | 4 +- data/monster/dragons/dragon_hatchling.lua | 4 +- data/monster/dragons/dragon_lord.lua | 4 +- .../monster/dragons/dragon_lord_hatchling.lua | 4 +- data/monster/dragons/draken_abomination.lua | 11 +- data/monster/dragons/draken_elite.lua | 4 +- data/monster/dragons/draken_spellweaver.lua | 4 +- data/monster/dragons/draken_warmaster.lua | 4 +- data/monster/dragons/elder_wyrm.lua | 4 +- data/monster/dragons/frost_dragon.lua | 4 +- .../dragons/frost_dragon_hatchling.lua | 4 +- data/monster/dragons/ghastly_dragon.lua | 4 +- data/monster/dragons/haunted_dragon.lua | 4 +- data/monster/dragons/hydra.lua | 4 +- data/monster/dragons/ice_dragon.lua | 4 +- data/monster/dragons/wyrm.lua | 4 +- data/monster/elementals/cliff_strider.lua | 4 +- data/monster/elementals/earth_elemental.lua | 4 +- data/monster/elementals/energy_elemental.lua | 4 +- data/monster/elementals/fire_elemental.lua | 4 +- .../elementals/high_voltage_elemental.lua | 4 +- data/monster/elementals/ironblight.lua | 4 +- .../elementals/knowledge_elemental.lua | 4 +- data/monster/elementals/lava_lurker.lua | 4 +- .../elementals/massive_earth_elemental.lua | 4 +- .../elementals/massive_energy_elemental.lua | 4 +- .../elementals/massive_fire_elemental.lua | 4 +- .../elementals/massive_water_elemental.lua | 4 +- data/monster/elementals/raging_fire.lua | 4 +- .../elementals/ravenous_lava_lurker.lua | 4 +- .../elementals/turbulent_elemental.lua | 4 +- data/monster/elementals/water_elemental.lua | 4 +- data/monster/empty.txt | 0 data/monster/event_creatures/bones.lua | 4 +- .../event_creatures/eclipse_knight.lua | 4 +- .../event_creatures/essence_of_darkness.lua | 4 +- data/monster/event_creatures/fluffy.lua | 4 +- .../event_creatures/grynch_clan_goblin.lua | 4 +- data/monster/event_creatures/hacker.lua | 4 +- data/monster/event_creatures/minishabaal.lua | 11 +- .../event_creatures/party_skeleton.lua | 4 +- .../monster/event_creatures/pinata_dragon.lua | 11 +- data/monster/event_creatures/primitive.lua | 4 +- .../monster/event_creatures/spectral_scum.lua | 4 +- .../event_creatures/the_halloween_hare.lua | 4 +- .../event_creatures/the_mutated_pumpkin.lua | 4 +- .../monster/event_creatures/undead_minion.lua | 4 +- .../extra_dimensional/breach_brood.lua | 4 +- .../extra_dimensional/courage_leech.lua | 4 +- .../extra_dimensional/dread_intruder.lua | 4 +- .../instable_breach_brood.lua | 4 +- .../extra_dimensional/instable_sparkion.lua | 4 +- .../extra_dimensional/reality_reaver.lua | 4 +- data/monster/extra_dimensional/sparkion.lua | 4 +- .../stabilizing_dread_intruder.lua | 4 +- .../stabilizing_reality_reaver.lua | 4 +- data/monster/extra_dimensional/yielothax.lua | 4 +- data/monster/fey/arctic_faun.lua | 4 +- data/monster/fey/boogy.lua | 4 +- data/monster/fey/dark_faun.lua | 4 +- data/monster/fey/dryad.lua | 4 +- data/monster/fey/faun.lua | 4 +- data/monster/fey/nymph.lua | 4 +- data/monster/fey/pixie.lua | 4 +- data/monster/fey/pooka.lua | 4 +- data/monster/fey/swan_maiden.lua | 4 +- data/monster/fey/twisted_pooka.lua | 4 +- data/monster/fey/wisp.lua | 4 +- data/monster/giants/behemoth.lua | 4 +- data/monster/giants/cyclops.lua | 4 +- data/monster/giants/cyclops_drone.lua | 4 +- data/monster/giants/cyclops_smith.lua | 4 +- data/monster/giants/frost_giant.lua | 4 +- data/monster/giants/frost_giantess.lua | 4 +- data/monster/giants/ogre_brute.lua | 4 +- data/monster/giants/ogre_rowdy.lua | 4 +- data/monster/giants/ogre_ruffian.lua | 4 +- data/monster/giants/ogre_sage.lua | 11 +- data/monster/giants/ogre_savage.lua | 4 +- data/monster/giants/ogre_shaman.lua | 13 +- data/monster/giants/orclops_doomhauler.lua | 4 +- data/monster/giants/orclops_ravager.lua | 4 +- data/monster/humanoids/broken_shaper.lua | 4 +- data/monster/humanoids/chakoya_toolshaper.lua | 4 +- .../monster/humanoids/chakoya_tribewarden.lua | 4 +- data/monster/humanoids/chakoya_windcaller.lua | 4 +- data/monster/humanoids/cheese_thief.lua | 4 +- data/monster/humanoids/corym_charlatan.lua | 4 +- data/monster/humanoids/corym_skirmisher.lua | 4 +- data/monster/humanoids/corym_vanguard.lua | 4 +- .../humanoids/crazed_summer_rearguard.lua | 4 +- .../humanoids/crazed_summer_vanguard.lua | 4 +- .../humanoids/crazed_winter_rearguard.lua | 4 +- .../humanoids/crazed_winter_vanguard.lua | 4 +- data/monster/humanoids/dwarf.lua | 4 +- data/monster/humanoids/dwarf_geomancer.lua | 4 +- data/monster/humanoids/dwarf_guard.lua | 4 +- data/monster/humanoids/dwarf_miner.lua | 4 +- data/monster/humanoids/dwarf_soldier.lua | 4 +- data/monster/humanoids/dworc_fleshhunter.lua | 4 +- data/monster/humanoids/dworc_venomsniper.lua | 4 +- data/monster/humanoids/dworc_voodoomaster.lua | 4 +- data/monster/humanoids/elf.lua | 4 +- data/monster/humanoids/elf_arcanist.lua | 4 +- data/monster/humanoids/elf_scout.lua | 4 +- data/monster/humanoids/elite_pirat.lua | 4 +- data/monster/humanoids/enslaved_dwarf.lua | 4 +- data/monster/humanoids/execowtioner.lua | 4 +- data/monster/humanoids/firestarter.lua | 4 +- data/monster/humanoids/frost_troll.lua | 4 +- .../humanoids/furious_orc_berserker.lua | 4 +- data/monster/humanoids/furious_troll.lua | 11 +- .../humanoids/glooth_powered_minotaur.lua | 4 +- data/monster/humanoids/goblin.lua | 4 +- data/monster/humanoids/goblin_assassin.lua | 4 +- data/monster/humanoids/goblin_leader.lua | 4 +- data/monster/humanoids/goblin_scavenger.lua | 4 +- data/monster/humanoids/insane_siren.lua | 4 +- data/monster/humanoids/island_troll.lua | 4 +- .../humanoids/little_corym_charlatan.lua | 4 +- data/monster/humanoids/lost_basher.lua | 4 +- data/monster/humanoids/lost_berserker.lua | 4 +- data/monster/humanoids/lost_exile.lua | 4 +- data/monster/humanoids/lost_husher.lua | 4 +- data/monster/humanoids/lost_thrower.lua | 4 +- data/monster/humanoids/minotaur.lua | 4 +- data/monster/humanoids/minotaur_amazon.lua | 4 +- data/monster/humanoids/minotaur_archer.lua | 4 +- data/monster/humanoids/minotaur_bruiser.lua | 4 +- .../humanoids/minotaur_cult_follower.lua | 4 +- .../humanoids/minotaur_cult_prophet.lua | 4 +- .../humanoids/minotaur_cult_zealot.lua | 4 +- data/monster/humanoids/minotaur_guard.lua | 4 +- data/monster/humanoids/minotaur_hunter.lua | 4 +- data/monster/humanoids/minotaur_invader.lua | 4 +- data/monster/humanoids/minotaur_mage.lua | 4 +- data/monster/humanoids/minotaur_occultist.lua | 4 +- data/monster/humanoids/minotaur_poacher.lua | 4 +- data/monster/humanoids/minotaur_totem.lua | 4 +- data/monster/humanoids/mooh'tah_warrior.lua | 4 +- data/monster/humanoids/moohtant.lua | 4 +- data/monster/humanoids/orc.lua | 4 +- data/monster/humanoids/orc_berserker.lua | 4 +- data/monster/humanoids/orc_leader.lua | 4 +- data/monster/humanoids/orc_marauder.lua | 4 +- data/monster/humanoids/orc_rider.lua | 4 +- data/monster/humanoids/orc_shaman.lua | 11 +- data/monster/humanoids/orc_spearman.lua | 4 +- data/monster/humanoids/orc_warlord.lua | 4 +- data/monster/humanoids/orc_warrior.lua | 4 +- data/monster/humanoids/pirat_artillerist.lua | 4 +- data/monster/humanoids/pirat_bombardier.lua | 4 +- data/monster/humanoids/pirat_cutthroat.lua | 4 +- data/monster/humanoids/pirat_mate.lua | 4 +- data/monster/humanoids/pirat_scoundrel.lua | 4 +- .../humanoids/running_elite_orc_guard.lua | 4 +- data/monster/humanoids/shaper_matriarch.lua | 4 +- .../humanoids/soul-broken_harbinger.lua | 4 +- data/monster/humanoids/swamp_troll.lua | 4 +- data/monster/humanoids/troll.lua | 4 +- data/monster/humanoids/troll_champion.lua | 4 +- data/monster/humanoids/troll_guard.lua | 4 +- data/monster/humanoids/troll_legionnaire.lua | 4 +- data/monster/humanoids/twisted_shaper.lua | 4 +- data/monster/humanoids/worm_priestess.lua | 4 +- data/monster/humanoids/young_troll.lua | 4 +- data/monster/humans/acolyte_of_darkness.lua | 4 +- data/monster/humans/acolyte_of_the_cult.lua | 11 +- data/monster/humans/adept_of_the_cult.lua | 11 +- data/monster/humans/adventurer.lua | 4 +- data/monster/humans/amazon.lua | 4 +- data/monster/humans/angry_adventurer.lua | 4 +- data/monster/humans/assassin.lua | 4 +- data/monster/humans/bandit.lua | 4 +- data/monster/humans/barbarian_bloodwalker.lua | 4 +- data/monster/humans/barbarian_brutetamer.lua | 11 +- .../monster/humans/barbarian_headsplitter.lua | 4 +- data/monster/humans/barbarian_skullhunter.lua | 4 +- data/monster/humans/black_sphinx_acolyte.lua | 11 +- data/monster/humans/blood_hand.lua | 4 +- data/monster/humans/blood_priest.lua | 4 +- data/monster/humans/burning_gladiator.lua | 4 +- data/monster/humans/cobra_assassin.lua | 4 +- data/monster/humans/cobra_scout.lua | 5 +- data/monster/humans/cobra_vizier.lua | 4 +- data/monster/humans/crazed_beggar.lua | 4 +- data/monster/humans/crypt_defiler.lua | 4 +- data/monster/humans/dark_apprentice.lua | 4 +- data/monster/humans/dark_magician.lua | 4 +- data/monster/humans/dark_monk.lua | 4 +- .../humans/enlightened_of_the_cult.lua | 13 +- data/monster/humans/feverish_citizen.lua | 4 +- data/monster/humans/gang_member.lua | 4 +- data/monster/humans/gladiator.lua | 4 +- data/monster/humans/glooth_bandit.lua | 4 +- data/monster/humans/glooth_brigand.lua | 4 +- data/monster/humans/grave_robber.lua | 4 +- .../humans/hardened_usurper_archer.lua | 5 +- .../humans/hardened_usurper_knight.lua | 5 +- .../humans/hardened_usurper_warlock.lua | 5 +- data/monster/humans/hero.lua | 4 +- data/monster/humans/hunter.lua | 4 +- data/monster/humans/ice_witch.lua | 4 +- data/monster/humans/infernalist.lua | 11 +- data/monster/humans/lion_archer.lua | 5 +- data/monster/humans/lion_knight.lua | 5 +- data/monster/humans/lion_warlock.lua | 5 +- data/monster/humans/mad_scientist.lua | 4 +- data/monster/humans/monk.lua | 4 +- data/monster/humans/monk_of_the_order.lua | 4 +- data/monster/humans/mutated_human.lua | 4 +- data/monster/humans/necromancer.lua | 15 +- data/monster/humans/necromancer_servant.lua | 4 +- data/monster/humans/nomad.lua | 4 +- data/monster/humans/nomad_female.lua | 4 +- data/monster/humans/nomadfemale.lua | 1 - data/monster/humans/novice_of_the_cult.lua | 11 +- data/monster/humans/pirate_buccaneer.lua | 4 +- data/monster/humans/pirate_corsair.lua | 4 +- data/monster/humans/pirate_cutthroat.lua | 4 +- data/monster/humans/pirate_marauder.lua | 4 +- data/monster/humans/poacher.lua | 4 +- data/monster/humans/priestess.lua | 11 +- .../humans/priestess_of_the_wild_sun.lua | 4 +- data/monster/humans/renegade_knight.lua | 4 +- data/monster/humans/shadow_pupil.lua | 13 +- data/monster/humans/smuggler.lua | 4 +- data/monster/humans/stalker.lua | 4 +- data/monster/humans/usurper_archer.lua | 5 +- data/monster/humans/usurper_knight.lua | 5 +- data/monster/humans/usurper_warlock.lua | 5 +- data/monster/humans/valkyrie.lua | 4 +- data/monster/humans/vicious_squire.lua | 4 +- data/monster/humans/vile_grandmaster.lua | 4 +- data/monster/humans/warlock.lua | 11 +- data/monster/humans/wild_warrior.lua | 4 +- data/monster/humans/witch.lua | 4 +- data/monster/lycanthropes/werebadger.lua | 4 +- data/monster/lycanthropes/werebear.lua | 4 +- data/monster/lycanthropes/wereboar.lua | 4 +- data/monster/lycanthropes/werefox.lua | 11 +- data/monster/lycanthropes/werehyaena.lua | 6 +- .../lycanthropes/werehyaena_shaman.lua | 6 +- data/monster/lycanthropes/werelion.lua | 6 +- data/monster/lycanthropes/werelioness.lua | 6 +- data/monster/lycanthropes/werewolf.lua | 11 +- data/monster/magicals/animated_feather.lua | 4 +- data/monster/magicals/arachnophobica.lua | 4 +- data/monster/magicals/armadile.lua | 4 +- data/monster/magicals/blue_djinn.lua | 4 +- data/monster/magicals/bog_raider.lua | 4 +- data/monster/magicals/bonelord.lua | 11 +- data/monster/magicals/brain_squid.lua | 4 +- data/monster/magicals/braindeath.lua | 11 +- data/monster/magicals/burning_book.lua | 4 +- data/monster/magicals/choking_fear.lua | 4 +- data/monster/magicals/crypt_warden.lua | 4 +- data/monster/magicals/crystalcrusher.lua | 4 +- data/monster/magicals/cursed_book.lua | 4 +- data/monster/magicals/dragonling.lua | 4 +- data/monster/magicals/efreet.lua | 11 +- data/monster/magicals/elder_bonelord.lua | 13 +- data/monster/magicals/energetic_book.lua | 4 +- .../magicals/energuardian_of_tales.lua | 4 +- data/monster/magicals/enfeebled_silencer.lua | 4 +- data/monster/magicals/fahim_the_wise.lua | 11 +- data/monster/magicals/feral_sphinx.lua | 4 +- data/monster/magicals/feversleep.lua | 4 +- data/monster/magicals/flying_book.lua | 4 +- data/monster/magicals/forest_fury.lua | 4 +- data/monster/magicals/frazzlemaw.lua | 4 +- data/monster/magicals/gargoyle.lua | 4 +- data/monster/magicals/gazer.lua | 4 +- data/monster/magicals/green_djinn.lua | 4 +- data/monster/magicals/gryphon.lua | 4 +- data/monster/magicals/guardian_of_tales.lua | 4 +- data/monster/magicals/guzzlemaw.lua | 4 +- data/monster/magicals/icecold_book.lua | 4 +- data/monster/magicals/lamassu.lua | 4 +- data/monster/magicals/lumbering_carnivor.lua | 4 +- data/monster/magicals/manticore.lua | 4 +- data/monster/magicals/marid.lua | 11 +- data/monster/magicals/medusa.lua | 4 +- data/monster/magicals/menacing_carnivor.lua | 4 +- data/monster/magicals/midnight_panther.lua | 4 +- data/monster/magicals/nightmare.lua | 4 +- data/monster/magicals/nightmare_scion.lua | 4 +- data/monster/magicals/nightstalker.lua | 6 +- data/monster/magicals/phantasm.lua | 11 +- data/monster/magicals/phantasm_summon.lua | 4 +- data/monster/magicals/rage_squid.lua | 4 +- data/monster/magicals/retching_horror.lua | 4 +- data/monster/magicals/rorc.lua | 4 +- data/monster/magicals/shiversleep.lua | 4 +- data/monster/magicals/shock_head.lua | 4 +- data/monster/magicals/sight_of_surrender.lua | 4 +- data/monster/magicals/silencer.lua | 6 +- data/monster/magicals/sphinx.lua | 4 +- data/monster/magicals/spiky_carnivor.lua | 4 +- data/monster/magicals/squid_warden.lua | 4 +- data/monster/magicals/terrorsleep.lua | 4 +- data/monster/magicals/thanatursus.lua | 4 +- data/monster/magicals/weakened_frazzlemaw.lua | 4 +- data/monster/mammals/badger.lua | 4 +- data/monster/mammals/bat.lua | 4 +- data/monster/mammals/bear.lua | 4 +- data/monster/mammals/black_sheep.lua | 4 +- data/monster/mammals/boar.lua | 4 +- data/monster/mammals/brown_horse.lua | 4 +- data/monster/mammals/cat.lua | 4 +- data/monster/mammals/cave_rat.lua | 4 +- data/monster/mammals/clomp.lua | 4 +- data/monster/mammals/crystal_wolf.lua | 4 +- data/monster/mammals/deer.lua | 4 +- data/monster/mammals/desperate_white_deer.lua | 8 +- data/monster/mammals/dog.lua | 4 +- data/monster/mammals/donkey.lua | 4 +- data/monster/mammals/doom_deer.lua | 4 +- data/monster/mammals/dromedary.lua | 4 +- data/monster/mammals/elephant.lua | 4 +- data/monster/mammals/enraged_squirrel.lua | 4 +- data/monster/mammals/enraged_white_deer.lua | 8 +- data/monster/mammals/evil_sheep.lua | 4 +- data/monster/mammals/evil_sheep_lord.lua | 11 +- data/monster/mammals/exotic_bat.lua | 4 +- data/monster/mammals/fox.lua | 4 +- data/monster/mammals/ghost_wolf.lua | 4 +- data/monster/mammals/ghoulish_hyaena.lua | 4 +- data/monster/mammals/gloom_wolf.lua | 4 +- data/monster/mammals/gnarlhound.lua | 4 +- data/monster/mammals/grey_horse.lua | 4 +- data/monster/mammals/horse.lua | 4 +- data/monster/mammals/hot_dog.lua | 4 +- data/monster/mammals/husky.lua | 4 +- data/monster/mammals/hyaena.lua | 4 +- data/monster/mammals/killer_rabbit.lua | 11 +- data/monster/mammals/kongra.lua | 4 +- data/monster/mammals/lion.lua | 4 +- data/monster/mammals/mammoth.lua | 4 +- data/monster/mammals/merlkin.lua | 4 +- data/monster/mammals/modified_gnarlhound.lua | 4 +- data/monster/mammals/mole.lua | 4 +- data/monster/mammals/mushroom_sniffer.lua | 4 +- data/monster/mammals/mutated_bat.lua | 4 +- data/monster/mammals/mutated_rat.lua | 4 +- data/monster/mammals/mutated_tiger.lua | 4 +- data/monster/mammals/noble_lion.lua | 4 +- data/monster/mammals/panda.lua | 4 +- data/monster/mammals/pig.lua | 4 +- data/monster/mammals/polar_bear.lua | 4 +- data/monster/mammals/poodle.lua | 4 +- data/monster/mammals/rabbit.lua | 4 +- data/monster/mammals/rat.lua | 4 +- data/monster/mammals/roaring_lion.lua | 4 +- data/monster/mammals/sheep.lua | 4 +- data/monster/mammals/sibang.lua | 4 +- data/monster/mammals/silver_rabbit.lua | 4 +- data/monster/mammals/skunk.lua | 4 +- data/monster/mammals/squirrel.lua | 4 +- data/monster/mammals/starving_wolf.lua | 4 +- data/monster/mammals/stone_rhino.lua | 4 +- data/monster/mammals/terrified_elephant.lua | 4 +- data/monster/mammals/thieving_squirrel.lua | 4 +- data/monster/mammals/thornfire_wolf.lua | 4 +- data/monster/mammals/tiger.lua | 4 +- data/monster/mammals/vampire_pig.lua | 4 +- data/monster/mammals/vulcongra.lua | 4 +- data/monster/mammals/war_wolf.lua | 4 +- data/monster/mammals/water_buffalo.lua | 4 +- data/monster/mammals/white_deer.lua | 8 +- data/monster/mammals/white_lion.lua | 4 +- data/monster/mammals/wild_dog.lua | 4 +- data/monster/mammals/wild_horse.lua | 4 +- data/monster/mammals/winter_wolf.lua | 4 +- data/monster/mammals/wolf.lua | 4 +- data/monster/mammals/yeti.lua | 4 +- data/monster/nostalgia/old_bear.lua | 4 +- data/monster/nostalgia/old_bonelord.lua | 11 +- data/monster/nostalgia/old_bug.lua | 4 +- data/monster/nostalgia/old_giant_spider.lua | 4 +- data/monster/nostalgia/old_pig.lua | 4 +- data/monster/nostalgia/old_spider.lua | 4 +- data/monster/nostalgia/old_wasp.lua | 4 +- data/monster/nostalgia/old_wolf.lua | 4 +- data/monster/plants/bane_bringer.lua | 4 +- data/monster/plants/branchy_crawler.lua | 4 +- data/monster/plants/carniphila.lua | 4 +- data/monster/plants/cloak_of_terror.lua | 4 +- data/monster/plants/glooth_anemone.lua | 4 +- data/monster/plants/haunted_treeling.lua | 4 +- data/monster/plants/hideous_fungus.lua | 11 +- data/monster/plants/humongous_fungus.lua | 4 +- data/monster/plants/leaf_golem.lua | 4 +- data/monster/plants/omnivora.lua | 4 +- data/monster/plants/spit_nettle.lua | 4 +- data/monster/plants/swampling.lua | 4 +- data/monster/plants/wilting_leaf_golem.lua | 4 +- .../a_pirates_tail_quest/tentuglys_head.lua | 4 +- .../quests/ancient_tombs/ashmunrah.lua | 13 +- .../monster/quests/ancient_tombs/dipthrah.lua | 11 +- .../monster/quests/ancient_tombs/horestis.lua | 11 +- data/monster/quests/ancient_tombs/mahrdis.lua | 11 +- .../quests/ancient_tombs/morguthis.lua | 11 +- data/monster/quests/ancient_tombs/omruc.lua | 11 +- data/monster/quests/ancient_tombs/rahemos.lua | 11 +- .../quests/ancient_tombs/shredderthrower.lua | 4 +- data/monster/quests/ancient_tombs/thalas.lua | 11 +- .../quests/ancient_tombs/vashresamun.lua | 11 +- .../quests/annihilator/angry_demon.lua | 11 +- .../bigfoots_burden/bosses/abyssador.lua | 4 +- .../bigfoots_burden/bosses/deathstrike.lua | 4 +- .../bigfoots_burden/bosses/gnomevil.lua | 4 +- .../bigfoots_burden/humorless_fungus.lua | 4 +- .../bigfoots_burden/minion_of_versperoth.lua | 4 +- .../quests/bigfoots_burden/strange_slime.lua | 4 +- .../quests/bigfoots_burden/versperoth.lua | 4 +- .../quests/cults_of_tibia/animated_clomp.lua | 4 +- .../cults_of_tibia/animated_cyclops.lua | 4 +- .../cults_of_tibia/animated_guzzlemaw.lua | 4 +- .../cults_of_tibia/animated_moohtant.lua | 4 +- .../quests/cults_of_tibia/animated_mummy.lua | 4 +- .../cults_of_tibia/animated_ogre_brute.lua | 4 +- .../cults_of_tibia/animated_ogre_savage.lua | 4 +- .../cults_of_tibia/animated_ogre_shaman.lua | 13 +- .../quests/cults_of_tibia/animated_rhino.lua | 4 +- .../cults_of_tibia/animated_rotworm.lua | 4 +- .../quests/cults_of_tibia/animated_skunk.lua | 4 +- .../cults_of_tibia/animated_stone_golem.lua | 4 +- .../cults_of_tibia/barkless_devotee.lua | 4 +- .../cults_of_tibia/barkless_fanatic.lua | 4 +- .../bosses/dorokoll_the_mystic.lua | 4 +- .../bosses/dorokoll_the_mystic_stop.lua | 4 +- .../bosses/eliz_the_unyielding.lua | 4 +- .../bosses/eliz_the_unyielding_stop.lua | 4 +- .../bosses/eshtaba_the_conjurer.lua | 19 +- .../bosses/eshtaba_the_conjurer_stop.lua | 19 +- .../bosses/essence_of_malice.lua | 4 +- .../cults_of_tibia/bosses/last_planegazer.lua | 4 +- .../quests/cults_of_tibia/bosses/leiden.lua | 17 +- .../bosses/malkhar_deathbringer.lua | 4 +- .../bosses/malkhar_deathbringer_stop.lua | 4 +- .../bosses/mezlon_the_defiler.lua | 4 +- .../bosses/mezlon_the_defiler_stop.lua | 4 +- .../bosses/pillars/containment_crystal.lua | 4 +- .../bosses/pillars/destroyed_pillar.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 +- .../bosses/ravennous_hunger.lua | 21 +- .../bosses/summons/dark_soul.lua | 4 +- .../bosses/summons/dread_minion.lua | 4 +- .../bosses/summons/enraged_sand_brood.lua | 4 +- .../bosses/summons/freed_soul.lua | 4 +- .../bosses/summons/liquor_spirit.lua | 8 +- .../bosses/summons/sand_brood.lua | 4 +- .../bosses/summons/sand_vortex.lua | 4 +- .../bosses/summons/security_golem.lua | 4 +- .../bosses/summons/soul_reaper.lua | 4 +- .../bosses/summons/sphere_of_wrath.lua | 4 +- .../bosses/summons/stolen_soul.lua | 4 +- .../bosses/summons/vermin_swarm.lua | 4 +- .../bosses/summons/voidshard.lua | 4 +- .../bosses/the_armored_voidborn.lua | 4 +- .../bosses/the_corruptor_of_souls.lua | 4 +- .../cults_of_tibia/bosses/the_false_god.lua | 4 +- .../bosses/the_remorseless_corruptor.lua | 4 +- .../cults_of_tibia/bosses/the_sandking.lua | 4 +- .../bosses/the_sandking_fake.lua | 4 +- .../bosses/the_sinister_hermit_clean.lua | 11 +- .../bosses/the_sinister_hermit_dirty.lua | 11 +- .../bosses/the_souldespoiler.lua | 11 +- .../bosses/the_source_of_corruption.lua | 4 +- .../bosses/the_unarmored_voidborn.lua | 4 +- .../cults_of_tibia/bosses/wine_cask.lua | 8 +- .../bosses/zarcorix_of_yalahar.lua | 4 +- .../cults_of_tibia/containment_machine.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 +- .../cults_of_tibia/goldhanded_cultist.lua | 4 +- .../quests/cults_of_tibia/minotaur_idol.lua | 4 +- .../quests/cults_of_tibia/misguided_bully.lua | 4 +- .../cults_of_tibia/misguided_shadow.lua | 4 +- .../quests/cults_of_tibia/misguided_thief.lua | 4 +- .../cults_of_tibia/orc_cult_fanatic.lua | 4 +- .../cults_of_tibia/orc_cult_inquisitor.lua | 4 +- .../quests/cults_of_tibia/orc_cult_minion.lua | 4 +- .../quests/cults_of_tibia/orc_cult_priest.lua | 4 +- .../quests/cults_of_tibia/orc_cultist.lua | 4 +- .../dangerous_depth/aggressive_lava.lua | 12 +- .../dangerous_depth/aggressive_matter.lua | 4 +- .../bosses/ancient_spawn_of_morgathla.lua | 4 +- .../bosses/the_baron_from_below.lua | 10 +- .../bosses/the_count_of_the_core.lua | 4 +- .../bosses/the_duke_of_the_depths.lua | 10 +- .../the_duke_of_the_depths_immortal.lua | 26 +- .../bosses/the_hungry_baron_from_below.lua | 8 +- .../quests/dangerous_depth/captured_dwarf.lua | 4 +- .../quests/dangerous_depth/ember_beast.lua | 4 +- .../quests/dangerous_depth/fiery_blood.lua | 6 +- .../quests/dangerous_depth/fiery_heart.lua | 12 +- .../dangerous_depth/gnome_pack_crawler.lua | 4 +- .../dangerous_depth/lava_lurker_attendant.lua | 4 +- .../quests/dangerous_depth/lost_gnome.lua | 4 +- .../quests/dangerous_depth/makeshift_home.lua | 4 +- .../quests/dangerous_depth/organic_matter.lua | 4 +- .../quests/dangerous_depth/snail_slime.lua | 4 +- .../quests/dark_trails/canopic_jar.lua | 4 +- .../dark_trails/death_priest_shargon.lua | 19 +- .../quests/dark_trails/depowered_minotaur.lua | 4 +- .../dark_trails/greater_canopic_jar.lua | 4 +- .../dark_trails/greater_death_minion.lua | 4 +- .../dark_trails/lesser_death_minion.lua | 4 +- .../quests/dark_trails/minotaur_invader.lua | 4 +- .../quests/dark_trails/minotaur_totem.lua | 4 +- .../dark_trails/superior_death_minion.lua | 4 +- .../quests/dark_trails/the_ravager.lua | 19 +- .../quests/dark_trails/tremor_worm.lua | 4 +- .../feaster_of_souls/irgix_the_flimsy.lua | 4 +- .../feaster_of_souls/the_fear_feaster.lua | 4 +- .../quests/feaster_of_souls/unaz_the_mean.lua | 4 +- .../feaster_of_souls/vok_the_freakish.lua | 4 +- .../bosses/ascending_ferumbras.lua | 4 +- .../bosses/death_dragon.lua | 8 +- .../bosses/destabilized_ferumbras.lua | 15 +- .../bosses/enraged_soul.lua | 4 +- .../bosses/ferumbras_mortal_shell.lua | 11 +- .../bosses/ferumbras_soul_splinter.lua | 15 +- .../ferumbras_ascendant/bosses/mazoran.lua | 4 +- .../ferumbras_ascendant/bosses/plagirath.lua | 4 +- .../ferumbras_ascendant/bosses/ragiaz.lua | 4 +- .../ferumbras_ascendant/bosses/razzagorn.lua | 11 +- .../bosses/redeemed_soul.lua | 4 +- .../ferumbras_ascendant/bosses/shulgrax.lua | 4 +- .../bosses/sin_devourer.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 | 11 +- .../ferumbras_ascendant/bosses/zamulosh2.lua | 4 +- .../ferumbras_ascendant/bosses/zamulosh3.lua | 8 +- .../ferumbras_ascendant/damned_soul.lua | 4 +- .../ferumbras_ascendant/desperate_soul.lua | 4 +- .../ferumbras_ascendant/disgusting_ooze.lua | 8 +- .../ferumbras_ascendant/ferumbras_essence.lua | 4 +- .../lovely/lovely_deer.lua | 4 +- .../lovely/lovely_frazzlemaw.lua | 4 +- .../lovely/lovely_polar_bear.lua | 4 +- .../lovely/lovely_rotworm.lua | 4 +- .../lovely/lovely_scorpion.lua | 4 +- .../lovely/lovely_snake.lua | 4 +- .../lovely/lovely_souleater.lua | 4 +- .../lovely/lovely_yielothax.lua | 4 +- .../ferumbras_ascendant/rage_of_mazoran.lua | 4 +- .../summons/enthralled_demon.lua | 4 +- .../summons/rift_fragment.lua | 4 +- .../summons/rift_invader.lua | 8 +- .../traps/bone_capsule.lua | 8 +- .../ferumbras_ascendant/traps/despair.lua | 4 +- .../traps/electric_sparks.lua | 4 +- .../traps/eruption_of_destruction.lua | 4 +- .../ferumbras_ascendant/traps/guilt.lua | 4 +- .../quests/ferumbras_ascendant/traps/void.lua | 11 +- .../forgotten_knowledge/animated_sword.lua | 4 +- .../forgotten_knowledge/baby_dragon.lua | 4 +- .../bosses/dragonking_zyrtarch.lua | 4 +- .../bosses/lady_tenebris.lua | 8 +- .../forgotten_knowledge/bosses/lloyd.lua | 8 +- .../bosses/melting_frozen_horror.lua | 4 +- .../bosses/mounted_thorn_knight.lua | 9 +- .../bosses/solid_frozen_horror.lua | 4 +- .../bosses/soul_of_dragonking_zyrtarch.lua | 4 +- .../bosses/the_blazing_time_guardian.lua | 11 +- .../bosses/the_enraged_thorn_knight.lua | 8 +- .../bosses/the_freezing_time_guardian.lua | 4 +- .../bosses/the_last_lore_keeper.lua | 11 +- .../bosses/the_shielded_thorn_knight.lua | 9 +- .../bosses/the_time_guardian.lua | 4 +- .../bosses/thorn_steed.lua | 4 +- .../bound_astral_power.lua | 4 +- .../forgotten_knowledge/corrupted_soul.lua | 8 +- .../cosmic_energy_prism_a.lua | 8 +- .../cosmic_energy_prism_b.lua | 8 +- .../cosmic_energy_prism_c.lua | 8 +- .../cosmic_energy_prism_d.lua | 8 +- .../quests/forgotten_knowledge/dragon_egg.lua | 9 +- .../forgotten_knowledge/dragon_servant.lua | 4 +- .../quests/forgotten_knowledge/frozen_man.lua | 4 +- .../forgotten_knowledge/frozen_minion.lua | 4 +- .../quests/forgotten_knowledge/icicle.lua | 4 +- .../quests/forgotten_knowledge/lost_time.lua | 4 +- .../forgotten_knowledge/possessed_tree.lua | 8 +- .../forgotten_knowledge/shadow_fiend.lua | 4 +- .../forgotten_knowledge/shadow_tentacle.lua | 4 +- .../forgotten_knowledge/soulcatcher.lua | 4 +- .../forgotten_knowledge/sword_of_vegeance.lua | 4 +- .../sword_of_vengeance.lua | 4 +- .../the_distorted_astral_source.lua | 8 +- .../forgotten_knowledge/thorn_minion.lua | 4 +- .../forgotten_knowledge/time_keeper.lua | 4 +- .../forgotten_knowledge/time_waster.lua | 4 +- .../unbound_blightwalker.lua | 4 +- .../forgotten_knowledge/unbound_defiler.lua | 4 +- .../forgotten_knowledge/unbound_demon.lua | 4 +- .../unbound_demon_outcast.lua | 11 +- .../quests/grave_danger/black_cobra.lua | 4 +- .../grave_danger/bosses/count_vlarkorth.lua | 11 +- .../quests/grave_danger/bosses/duke_krule.lua | 4 +- .../quests/grave_danger/bosses/earl_osam.lua | 11 +- .../quests/grave_danger/bosses/king_zelos.lua | 4 +- .../grave_danger/bosses/lord_azaram.lua | 11 +- .../grave_danger/bosses/scarlett_etzel.lua | 4 +- .../quests/grave_danger/bosses/sir_baeloc.lua | 11 +- .../grave_danger/bosses/sir_nictros.lua | 8 +- .../grave_danger/cart_packed_with_gold.lua | 4 +- .../quests/grave_danger/condensed_sins.lua | 4 +- .../quests/grave_danger/dark_druid.lua | 4 +- .../quests/grave_danger/dark_knight.lua | 4 +- .../quests/grave_danger/dark_paladin.lua | 4 +- .../quests/grave_danger/dark_sorcerer.lua | 4 +- data/monster/quests/grave_danger/fetter.lua | 4 +- .../grave_danger/retainer_of_baeloc.lua | 4 +- .../quests/grave_danger/risen_soldier.lua | 4 +- .../quests/grave_danger/shard_of_magnor.lua | 4 +- .../quests/grave_danger/soulless_minion.lua | 4 +- .../quests/grave_danger/squire_of_nictros.lua | 4 +- .../quests/grave_danger/vampiric_blood.lua | 4 +- .../heart_of_destruction/aftershock.lua | 9 +- .../quests/heart_of_destruction/anomaly.lua | 9 +- .../heart_of_destruction/charged_anomaly.lua | 8 +- .../charged_disruption.lua | 9 +- .../quests/heart_of_destruction/charger.lua | 8 +- .../charging_outburst.lua | 8 +- .../quests/heart_of_destruction/crackler.lua | 8 +- .../heart_of_destruction/damage_resonance.lua | 8 +- .../depolarized_crackler.lua | 9 +- .../heart_of_destruction/disruption.lua | 9 +- .../heart_of_destruction/eradicator.lua | 9 +- .../heart_of_destruction/eradicator2.lua | 9 +- .../quests/heart_of_destruction/foreshock.lua | 9 +- .../quests/heart_of_destruction/frenzy.lua | 8 +- .../quests/heart_of_destruction/greed.lua | 4 +- .../quests/heart_of_destruction/outburst.lua | 9 +- .../heart_of_destruction/overcharge.lua | 8 +- .../overcharged_disruption.lua | 8 +- .../heart_of_destruction/realityquake.lua | 8 +- .../quests/heart_of_destruction/rupture.lua | 10 +- .../spark_of_destruction.lua | 4 +- .../heart_of_destruction/the_destruction.lua | 8 +- .../heart_of_destruction/the_hunger.lua | 8 +- .../quests/heart_of_destruction/the_rage.lua | 8 +- .../heart_of_destruction/unstable_spark.lua | 8 +- .../heart_of_destruction/world_devourer.lua | 8 +- .../quests/hero_of_rathleton/deep_terror.lua | 4 +- .../empowered_glooth_horror.lua | 8 +- .../quests/hero_of_rathleton/energy_pulse.lua | 4 +- .../feeble_glooth_horror.lua | 8 +- .../hero_of_rathleton/glooth-generator.lua | 4 +- .../hero_of_rathleton/glooth_horror.lua | 8 +- .../hero_of_rathleton/glooth_masher.lua | 4 +- .../hero_of_rathleton/glooth_slasher.lua | 4 +- .../hero_of_rathleton/glooth_trasher.lua | 4 +- .../hero_of_rathleton/professor_maxxen.lua | 17 +- .../strong_glooth_horror.lua | 8 +- .../tentacle_of_the_deep_terror.lua | 8 +- .../weakened_glooth_horror.lua | 8 +- .../quests/hidden_threats/cave_spider.lua | 11 +- .../quests/in_service_of_yalahar/azerus.lua | 17 +- .../quests/in_service_of_yalahar/azerus2.lua | 17 +- .../quests/in_service_of_yalahar/inky.lua | 4 +- .../in_service_of_yalahar/rift_brood.lua | 4 +- .../in_service_of_yalahar/rift_lord.lua | 4 +- .../in_service_of_yalahar/rift_phantom.lua | 4 +- .../in_service_of_yalahar/rift_scythe.lua | 4 +- .../in_service_of_yalahar/rift_worm.lua | 4 +- .../in_service_of_yalahar/sharptooth.lua | 4 +- .../in_service_of_yalahar/tormented_ghost.lua | 4 +- .../quests/in_service_of_yalahar/yalahari.lua | 4 +- data/monster/quests/isle_of_evil/boogey.lua | 11 +- .../monster/quests/isle_of_evil/dirtbeard.lua | 11 +- .../quests/isle_of_evil/doctor_perhaps.lua | 11 +- .../quests/isle_of_evil/evil_mastermind.lua | 11 +- data/monster/quests/isle_of_evil/mephiles.lua | 4 +- data/monster/quests/isle_of_evil/monstor.lua | 11 +- .../killing_in_the_name_of/bretzecutioner.lua | 4 +- .../killing_in_the_name_of/bruise_payne.lua | 4 +- .../killing_in_the_name_of/deathbine.lua | 4 +- .../killing_in_the_name_of/demodras.lua | 11 +- .../killing_in_the_name_of/esmeralda.lua | 4 +- .../killing_in_the_name_of/ethershreck.lua | 4 +- .../quests/killing_in_the_name_of/fazzrah.lua | 4 +- .../killing_in_the_name_of/flameborn.lua | 4 +- .../killing_in_the_name_of/fleshcrawler.lua | 11 +- .../quests/killing_in_the_name_of/gorgo.lua | 4 +- .../quests/killing_in_the_name_of/hemming.lua | 11 +- .../quests/killing_in_the_name_of/hide.lua | 4 +- .../killing_in_the_name_of/kerberos.lua | 4 +- .../killing_in_the_name_of/leviathan.lua | 4 +- .../paiz_the_pauperizer.lua | 4 +- .../killing_in_the_name_of/ribstride.lua | 4 +- .../killing_in_the_name_of/shardhead.lua | 4 +- .../killing_in_the_name_of/stonecracker.lua | 4 +- .../sulphur_scuttler.lua | 4 +- .../killing_in_the_name_of/the_bloodtusk.lua | 4 +- .../killing_in_the_name_of/the_bloodweb.lua | 4 +- .../killing_in_the_name_of/the_many.lua | 4 +- .../the_noxious_spawn.lua | 4 +- .../killing_in_the_name_of/the_old_widow.lua | 11 +- .../killing_in_the_name_of/the_snapper.lua | 4 +- .../quests/killing_in_the_name_of/thul.lua | 11 +- .../tiquandas_revenge.lua | 4 +- .../killing_in_the_name_of/tormentor.lua | 4 +- .../killing_in_the_name_of/tromphonyte.lua | 4 +- .../killing_in_the_name_of/zanakeph.lua | 4 +- .../kilmaresh/a_shielded_astral_glyph.lua | 4 +- .../quests/kilmaresh/an_astral_glyph.lua | 8 +- data/monster/quests/kilmaresh/bragrumol.lua | 4 +- data/monster/quests/kilmaresh/earworm.lua | 4 +- data/monster/quests/kilmaresh/mozradek.lua | 4 +- .../quests/kilmaresh/sun-marked_goanna.lua | 4 +- .../kilmaresh/urmahlullu_the_immaculate.lua | 8 +- .../quests/kilmaresh/urmahlullu_the_tamed.lua | 8 +- .../kilmaresh/urmahlullu_the_weakened.lua | 9 +- .../kilmaresh/wildness_of_urmahlullu.lua | 8 +- .../quests/kilmaresh/wisdom_of_urmahlullu.lua | 8 +- data/monster/quests/kilmaresh/xogixath.lua | 4 +- data/monster/quests/liquid_black/jaul.lua | 4 +- data/monster/quests/liquid_black/obujos.lua | 4 +- data/monster/quests/liquid_black/tanjis.lua | 4 +- .../an_observer_eye.lua | 4 +- .../an_observer_eye_(imune).lua | 4 +- .../reflection_of_mawhawk.lua | 4 +- .../reflection_of_obujos.lua | 4 +- .../mysterious_ornate_chest/ugly_monster.lua | 4 +- .../pits_of_inferno/countess_sorrow.lua | 13 +- .../quests/pits_of_inferno/demon_goblin.lua | 4 +- .../quests/pits_of_inferno/dracola.lua | 4 +- .../quests/pits_of_inferno/flamethrower.lua | 4 +- .../quests/pits_of_inferno/massacre.lua | 4 +- .../quests/pits_of_inferno/mr._punish.lua | 4 +- .../quests/pits_of_inferno/the_handmaiden.lua | 4 +- .../quests/pits_of_inferno/the_imperor.lua | 4 +- .../quests/pits_of_inferno/the_plasmother.lua | 11 +- data/monster/quests/roshamuul/bad_dream.lua | 4 +- .../quests/roshamuul/flame_of_omrafir.lua | 4 +- .../monster/quests/roshamuul/gaz'haragoth.lua | 15 +- data/monster/quests/roshamuul/horadron.lua | 11 +- .../roshamuul/minion_of_gaz'haragoth.lua | 4 +- .../roshamuul/nightmare_of_gaz'haragoth.lua | 4 +- data/monster/quests/roshamuul/omrafir.lua | 4 +- .../quests/roshamuul/prince_drazzak.lua | 4 +- data/monster/quests/roshamuul/terofar.lua | 4 +- data/monster/quests/soul_war/mirror_image.lua | 31 +- .../svargrond_arena/greenhorn/achad.lua | 4 +- .../greenhorn/axeitus_headbanger.lua | 4 +- .../svargrond_arena/greenhorn/bloodpaw.lua | 4 +- .../svargrond_arena/greenhorn/bovinus.lua | 4 +- .../greenhorn/colerian_the_barbarian.lua | 4 +- .../greenhorn/cursed_gladiator.lua | 4 +- .../svargrond_arena/greenhorn/frostfur.lua | 4 +- .../greenhorn/orcus_the_cruel.lua | 4 +- .../svargrond_arena/greenhorn/rocky.lua | 4 +- .../greenhorn/the_hairy_one.lua | 4 +- .../svargrond_arena/scrapper/avalanche.lua | 4 +- .../svargrond_arena/scrapper/drasilla.lua | 4 +- .../scrapper/grimgor_guteater.lua | 4 +- .../scrapper/kreebosh_the_exile.lua | 11 +- .../quests/svargrond_arena/scrapper/slim.lua | 4 +- .../scrapper/spirit_of_earth.lua | 4 +- .../scrapper/spirit_of_fire.lua | 4 +- .../scrapper/spirit_of_water.lua | 4 +- .../scrapper/the_dark_dancer.lua | 11 +- .../svargrond_arena/scrapper/the_hag.lua | 13 +- .../warlord/darakan_the_executioner.lua | 4 +- .../svargrond_arena/warlord/deathbringer.lua | 4 +- .../warlord/fallen_mooh'tah_master_ghar.lua | 4 +- .../warlord/gnorre_chyllson.lua | 4 +- .../warlord/norgle_glacierbeard.lua | 4 +- .../warlord/svoren_the_mad.lua | 4 +- .../warlord/the_masked_marauder.lua | 4 +- .../warlord/the_obliverator.lua | 12 +- .../svargrond_arena/warlord/the_pit_lord.lua | 4 +- .../svargrond_arena/warlord/webster.lua | 4 +- .../quests/the_curse_spreads/black_vixen.lua | 11 +- .../quests/the_curse_spreads/bloodback.lua | 11 +- .../quests/the_curse_spreads/darkfang.lua | 11 +- .../quests/the_curse_spreads/feroxa.lua | 8 +- .../quests/the_curse_spreads/feroxa2.lua | 8 +- .../quests/the_curse_spreads/feroxa3.lua | 8 +- .../quests/the_curse_spreads/feroxa4.lua | 8 +- .../quests/the_curse_spreads/feroxa5.lua | 4 +- .../quests/the_curse_spreads/shadowpelt.lua | 11 +- .../quests/the_curse_spreads/sharpclaw.lua | 11 +- .../the_dream_courts/bosses/alptramun.lua | 4 +- .../the_dream_courts/bosses/faceless_bane.lua | 5 +- .../bosses/izcandar_the_banished.lua | 4 +- .../bosses/malofur_mangrinder.lua | 4 +- .../the_dream_courts/bosses/maxxenius.lua | 4 +- .../the_dream_courts/bosses/plagueroot.lua | 4 +- .../bosses/the_nightmare_beast.lua | 4 +- .../quests/the_dream_courts/generator.lua | 4 +- .../the_dream_courts/horrible_dream.lua | 11 +- .../the_dream_courts/lucifuga_aranea.lua | 4 +- .../the_dream_courts/mind-wrecking_dream.lua | 4 +- .../the_dream_courts/nightmare_tendril.lua | 4 +- .../the_dream_courts/nightmarish_dream.lua | 4 +- .../the_dream_courts/plant_abomination.lua | 4 +- .../the_dream_courts/plant_attendant.lua | 4 +- .../the_dream_courts/the_cold_of_winter.lua | 4 +- .../the_dream_courts/the_heat_of_summer.lua | 4 +- .../the_dream_courts/unpleasant_dream.lua | 4 +- .../the_dream_courts/whirling_blades.lua | 4 +- .../blazing_fire_elemental.lua | 4 +- .../blistering_fire_elemental.lua | 4 +- .../charged_energy_elemental.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 +- .../jagged_earth_elemental.lua | 4 +- .../lord_of_the_elements.lua | 17 +- .../muddy_earth_elemental.lua | 4 +- .../overcharged_energy_elemental.lua | 4 +- .../roaring_water_elemental.lua | 4 +- .../slick_water_elemental.lua | 4 +- .../the_explorer_society/blue_butterfly.lua | 4 +- .../the_explorer_society/pink_butterfly.lua | 4 +- .../the_explorer_society/purple_butterfly.lua | 4 +- .../the_explorer_society/red_butterfly.lua | 4 +- .../the_explorer_society/yellow_butterfly.lua | 4 +- .../quests/the_first_dragon/angry_plant.lua | 8 +- .../bosses/fallen_challenger.lua | 8 +- .../bosses/gelidrazah_the_frozen.lua | 4 +- .../the_first_dragon/bosses/kalyassa.lua | 11 +- .../the_first_dragon/bosses/tazhadur.lua | 4 +- .../bosses/the_first_dragon.lua | 8 +- .../the_first_dragon/bosses/zorvorax.lua | 4 +- .../the_first_dragon/dragon_essence.lua | 8 +- .../quests/the_first_dragon/dragon_warden.lua | 4 +- .../quests/the_first_dragon/dragon_wrath.lua | 4 +- .../the_first_dragon/haunted_dragon.lua | 4 +- .../quests/the_first_dragon/ice_dragon.lua | 4 +- .../the_first_dragon/somewhat_beatable.lua | 8 +- .../the_first_dragon/spirit_of_fertility.lua | 4 +- .../the_first_dragon/unbeatable_dragon.lua | 4 +- .../the_inquisition/a_carved_stone_tile.lua | 11 +- .../quests/the_inquisition/annihilon.lua | 4 +- .../quests/the_inquisition/dreadbeast.lua | 4 +- .../the_inquisition/eye_of_the_seven.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/the_count.lua | 11 +- .../the_inquisition/the_weakened_count.lua | 4 +- .../quests/the_inquisition/ungreez.lua | 4 +- .../quests/the_inquisition/ushuriel.lua | 4 +- .../quests/the_inquisition/zugurosh.lua | 4 +- .../quests/the_new_frontier/baron_brute.lua | 4 +- .../quests/the_new_frontier/coldheart.lua | 4 +- .../quests/the_new_frontier/doomhowl.lua | 4 +- .../quests/the_new_frontier/dreadwing.lua | 4 +- .../quests/the_new_frontier/fatality.lua | 4 +- .../quests/the_new_frontier/haunter.lua | 4 +- .../quests/the_new_frontier/incineron.lua | 4 +- .../quests/the_new_frontier/menace.lua | 4 +- .../the_new_frontier/mooh'tah_master.lua | 4 +- .../monster/quests/the_new_frontier/rocko.lua | 4 +- .../the_new_frontier/shard_of_corruption.lua | 4 +- .../quests/the_new_frontier/the_axeorcist.lua | 4 +- .../the_new_frontier/the_dreadorian.lua | 4 +- .../quests/the_new_frontier/tirecz.lua | 4 +- .../quests/the_new_frontier/tremorak.lua | 4 +- .../bosses/ancient_lion_archer.lua | 5 +- .../bosses/ancient_lion_knight.lua | 5 +- .../bosses/ancient_lion_warlock.lua | 5 +- .../quests/the_order_of_lion/bosses/drume.lua | 16 +- .../quests/the_order_of_lion/bosses/kesar.lua | 5 +- .../the_order_of_lion/lion_commander.lua | 20 +- .../the_order_of_lion/usurper_commander.lua | 20 +- .../baleful_bunny.lua | 4 +- .../the_percht_queens_island/bonny_bunny.lua | 4 +- .../bright_percht_sleigh.lua | 4 +- .../cold_percht_sleigh.lua | 4 +- .../dark_percht_sleigh.lua | 4 +- .../the_percht_queens_island/percht.lua | 4 +- .../percht_minion.lua | 4 +- .../the_percht_queens_island/schiach.lua | 4 +- .../the_percht_queen.lua | 4 +- .../the_percht_queens_island/warm_fire.lua | 4 +- .../quests/the_secret_library/biting_cold.lua | 4 +- .../quests/the_secret_library/bone_jaw.lua | 4 +- .../the_secret_library/bosses/brokul.lua | 11 +- .../the_secret_library/bosses/ghulosh.lua | 4 +- .../the_secret_library/bosses/gorzindel.lua | 4 +- .../bosses/grand_canon_dominus.lua | 4 +- .../bosses/grand_chaplain_gaunder.lua | 4 +- .../bosses/grand_commander_soeren.lua | 4 +- .../bosses/grand_master_oberon.lua | 84 +- .../bosses/preceptor_lazare.lua | 4 +- .../bosses/thawing_dragon_lord.lua | 4 +- .../bosses/the_scourge_of_oblivion.lua | 13 +- .../the_secret_library/brother_chill.lua | 4 +- .../the_secret_library/brother_freeze.lua | 4 +- .../the_secret_library/concentrated_death.lua | 4 +- .../the_secret_library/dark_knowledge.lua | 4 +- .../the_secret_library/dazed_leaf_golem.lua | 4 +- .../quests/the_secret_library/demon_blood.lua | 4 +- .../quests/the_secret_library/demon_slave.lua | 4 +- .../quests/the_secret_library/force_field.lua | 4 +- .../the_secret_library/furious_scorpion.lua | 4 +- .../the_secret_library/ghulosh'_deathgaze.lua | 4 +- .../the_secret_library/imp_intruder.lua | 4 +- .../the_secret_library/invading_demon.lua | 4 +- .../quests/the_secret_library/jailer.lua | 4 +- .../the_secret_library/knowledge_raider.lua | 4 +- .../quests/the_secret_library/librarian.lua | 4 +- .../quests/the_secret_library/lokathmor.lua | 11 +- .../the_secret_library/lokathmor_stuck.lua | 4 +- .../the_secret_library/malicious_minion.lua | 4 +- .../quests/the_secret_library/mazzinor.lua | 4 +- .../quests/the_secret_library/mean_minion.lua | 4 +- .../neutral_deepling_warrior.lua | 4 +- .../the_secret_library/oberons_bile.lua | 8 +- .../the_secret_library/oberons_hate.lua | 7 +- .../quests/the_secret_library/oberons_ire.lua | 7 +- .../the_secret_library/oberons_spite.lua | 7 +- .../ravenous_beyondling.lua | 4 +- .../the_secret_library/rift_breacher.lua | 4 +- .../quests/the_secret_library/rift_minion.lua | 4 +- .../quests/the_secret_library/rift_spawn.lua | 4 +- .../the_secret_library/spawn_of_havoc.lua | 4 +- .../stolen_knowledge_of_armor.lua | 4 +- .../stolen_knowledge_of_healing.lua | 4 +- .../stolen_knowledge_of_lifesteal.lua | 4 +- .../stolen_knowledge_of_spells.lua | 4 +- .../stolen_knowledge_of_summoning.lua | 4 +- .../stolen_tome_of_portals.lua | 8 +- .../supercharged_mazzinor.lua | 4 +- .../the_secret_library/the_blazing_rose.lua | 4 +- .../the_book_of_secrets.lua | 4 +- .../the_devourer_of_secrets.lua | 4 +- .../the_diamond_blossom.lua | 4 +- .../the_secret_library/the_lily_of_night.lua | 4 +- .../the_secret_library/the_scion_of_havoc.lua | 4 +- .../the_secret_library/the_spellstealer.lua | 4 +- .../quests/the_secret_library/war_servant.lua | 4 +- .../the_secret_library/wild_knowledge.lua | 4 +- .../the_secret_library/yalahari_despoiler.lua | 4 +- .../fury_of_the_emperor.lua | 11 +- .../lizard_abomination.lua | 4 +- .../wrath_of_the_emperor/mutated_zalamon.lua | 4 +- .../scorn_of_the_emperor.lua | 11 +- .../snake_god_essence.lua | 4 +- .../wrath_of_the_emperor/snake_thing.lua | 4 +- .../spite_of_the_emperor.lua | 11 +- .../wrath_of_the_emperor/the_keeper.lua | 4 +- .../wrath_of_the_emperor.lua | 11 +- .../monster/raids/arachir_the_ancient_one.lua | 12 +- data/monster/raids/barbaria.lua | 11 +- data/monster/raids/battlemaster_zunzu.lua | 4 +- data/monster/raids/brutus_bloodbeard.lua | 4 +- data/monster/raids/captain_jones.lua | 4 +- data/monster/raids/chayenne.lua | 4 +- .../monster/raids/chizzoron_the_distorter.lua | 11 +- data/monster/raids/control_tower.lua | 4 +- data/monster/raids/deadeye_devious.lua | 4 +- data/monster/raids/draptor.lua | 4 +- data/monster/raids/fernfang.lua | 11 +- data/monster/raids/ferumbras.lua | 11 +- data/monster/raids/fleabringer.lua | 4 +- data/monster/raids/foreman_kneebiter.lua | 4 +- data/monster/raids/frost_servant.lua | 4 +- data/monster/raids/furyosa.lua | 11 +- data/monster/raids/ghazbaran.lua | 11 +- data/monster/raids/giant_spider_wyda.lua | 8 +- data/monster/raids/glooth_battery.lua | 4 +- data/monster/raids/glooth_bomb.lua | 4 +- data/monster/raids/glooth_fairy.lua | 4 +- data/monster/raids/grand_mother_foulscale.lua | 11 +- data/monster/raids/grorlam.lua | 4 +- data/monster/raids/hirintror.lua | 4 +- data/monster/raids/lethal_lissy.lua | 11 +- data/monster/raids/man_in_the_cave.lua | 11 +- data/monster/raids/mawhawk.lua | 4 +- data/monster/raids/morgaroth.lua | 11 +- data/monster/raids/necropharus.lua | 15 +- data/monster/raids/ocyakao.lua | 4 +- data/monster/raids/orc_armor.lua | 4 +- data/monster/raids/orc_helmet.lua | 4 +- data/monster/raids/orc_sambackpack.lua | 4 +- data/monster/raids/orc_shield.lua | 4 +- data/monster/raids/orshabaal.lua | 11 +- data/monster/raids/ron_the_ripper.lua | 4 +- data/monster/raids/rottie_the_rotworm.lua | 4 +- data/monster/raids/rotworm_queen.lua | 4 +- data/monster/raids/sir_valorcrest.lua | 11 +- data/monster/raids/spyrat_facing_east.lua | 4 +- data/monster/raids/spyrat_facing_north.lua | 4 +- data/monster/raids/spyrat_facing_south.lua | 4 +- data/monster/raids/spyrat_facing_west.lua | 4 +- data/monster/raids/the_horned_fox.lua | 15 +- data/monster/raids/the_pale_count.lua | 11 +- data/monster/raids/the_voice_of_ruin.lua | 4 +- data/monster/raids/the_welter.lua | 12 +- data/monster/raids/tyrn.lua | 4 +- data/monster/raids/white_pale.lua | 4 +- data/monster/raids/xenia.lua | 4 +- data/monster/raids/yakchal.lua | 11 +- data/monster/raids/zomba.lua | 4 +- data/monster/raids/zulazza_the_corruptor.lua | 4 +- data/monster/reptiles/adult_goanna.lua | 4 +- data/monster/reptiles/cobra.lua | 4 +- data/monster/reptiles/crocodile.lua | 4 +- data/monster/reptiles/dreadmaw.lua | 4 +- data/monster/reptiles/killer_caiman.lua | 4 +- data/monster/reptiles/lizard_chosen.lua | 4 +- .../monster/reptiles/lizard_dragon_priest.lua | 11 +- data/monster/reptiles/lizard_high_guard.lua | 4 +- data/monster/reptiles/lizard_legionnaire.lua | 4 +- data/monster/reptiles/lizard_magistratus.lua | 4 +- data/monster/reptiles/lizard_noble.lua | 4 +- data/monster/reptiles/lizard_sentinel.lua | 4 +- data/monster/reptiles/lizard_snakecharmer.lua | 11 +- data/monster/reptiles/lizard_templar.lua | 4 +- data/monster/reptiles/lizard_zaogun.lua | 4 +- data/monster/reptiles/sea_serpent.lua | 4 +- data/monster/reptiles/seacrest_serpent.lua | 4 +- data/monster/reptiles/serpent_spawn.lua | 4 +- data/monster/reptiles/snake.lua | 4 +- data/monster/reptiles/stampor.lua | 4 +- data/monster/reptiles/stonerefiner.lua | 4 +- data/monster/reptiles/thornback_tortoise.lua | 4 +- data/monster/reptiles/tortoise.lua | 4 +- data/monster/reptiles/wyvern.lua | 4 +- data/monster/reptiles/young_goanna.lua | 4 +- data/monster/reptiles/young_sea_serpent.lua | 4 +- data/monster/slimes/acid_blob.lua | 11 +- data/monster/slimes/death_blob.lua | 11 +- data/monster/slimes/defiler.lua | 4 +- data/monster/slimes/devourer.lua | 4 +- data/monster/slimes/glooth_blob.lua | 11 +- data/monster/slimes/ink_blob.lua | 4 +- data/monster/slimes/mercury_blob.lua | 11 +- data/monster/slimes/midnight_spawn.lua | 4 +- data/monster/slimes/slime.lua | 11 +- data/monster/slimes/son_of_verminor.lua | 4 +- data/monster/slimes/squidgy_slime.lua | 11 +- data/monster/summons/druid_familiar.lua | 1 - data/monster/summons/knight_familiar.lua | 1 - data/monster/summons/paladin_familiar.lua | 1 - data/monster/summons/sorcerer_familiar.lua | 1 - data/monster/traps/deathslicer.lua | 4 +- data/monster/traps/deaththrower.lua | 4 +- data/monster/traps/demon_summoner.lua | 11 +- data/monster/traps/floor_blob.lua | 4 +- data/monster/traps/hell_hole.lua | 11 +- data/monster/traps/hive_pore.lua | 13 +- data/monster/traps/lavahole.lua | 4 +- data/monster/traps/magic_pillar.lua | 11 +- data/monster/traps/magicthrower.lua | 4 +- data/monster/traps/mechanical_fighter.lua | 4 +- data/monster/traps/mimic.lua | 4 +- data/monster/traps/pillar.lua | 4 +- data/monster/traps/plaguethrower.lua | 4 +- data/monster/undeads/bane_of_light.lua | 4 +- data/monster/undeads/banshee.lua | 4 +- data/monster/undeads/betrayed_wraith.lua | 4 +- data/monster/undeads/blightwalker.lua | 4 +- data/monster/undeads/blood_beast.lua | 4 +- data/monster/undeads/bonebeast.lua | 4 +- data/monster/undeads/bony_sea_devil.lua | 4 +- data/monster/undeads/burster_spectre.lua | 4 +- data/monster/undeads/capricious_phantom.lua | 4 +- data/monster/undeads/crypt_shambler.lua | 4 +- data/monster/undeads/crypt_warrior.lua | 4 +- data/monster/undeads/cursed_prospector.lua | 4 +- data/monster/undeads/death_priest.lua | 4 +- data/monster/undeads/demon_skeleton.lua | 4 +- data/monster/undeads/distorted_phantom.lua | 4 +- data/monster/undeads/druid's_apparition.lua | 4 +- data/monster/undeads/elder_mummy.lua | 4 +- data/monster/undeads/evil_prospector.lua | 4 +- data/monster/undeads/falcon_knight.lua | 4 +- data/monster/undeads/falcon_paladin.lua | 4 +- data/monster/undeads/flimsy_lost_soul.lua | 4 +- data/monster/undeads/freakish_lost_soul.lua | 4 +- data/monster/undeads/gazer_spectre.lua | 4 +- data/monster/undeads/ghost.lua | 4 +- data/monster/undeads/ghoul.lua | 4 +- data/monster/undeads/grave_guard.lua | 4 +- data/monster/undeads/gravedigger.lua | 4 +- data/monster/undeads/grim_reaper.lua | 4 +- data/monster/undeads/hand_of_cursed_fate.lua | 4 +- data/monster/undeads/hazardous_phantom.lua | 4 +- data/monster/undeads/honour_guard.lua | 4 +- data/monster/undeads/infernal_phantom.lua | 4 +- data/monster/undeads/knight's_apparition.lua | 4 +- data/monster/undeads/lich.lua | 11 +- data/monster/undeads/lost_soul.lua | 4 +- data/monster/undeads/mean_lost_soul.lua | 4 +- data/monster/undeads/mould_phantom.lua | 4 +- data/monster/undeads/mummy.lua | 4 +- data/monster/undeads/paladin's_apparition.lua | 4 +- data/monster/undeads/pirate_ghost.lua | 4 +- data/monster/undeads/pirate_skeleton.lua | 4 +- data/monster/undeads/putrid_mummy.lua | 4 +- data/monster/undeads/ripper_spectre.lua | 4 +- data/monster/undeads/rot_elemental.lua | 4 +- data/monster/undeads/skeleton.lua | 4 +- .../undeads/skeleton_elite_warrior.lua | 4 +- data/monster/undeads/skeleton_warrior.lua | 4 +- .../monster/undeads/sorcerer's_apparition.lua | 4 +- data/monster/undeads/souleater.lua | 4 +- data/monster/undeads/spectre.lua | 4 +- data/monster/undeads/tarnished_spirit.lua | 4 +- data/monster/undeads/tomb_servant.lua | 4 +- data/monster/undeads/undead_cavebear.lua | 4 +- data/monster/undeads/undead_dragon.lua | 4 +- .../undeads/undead_elite_gladiator.lua | 4 +- data/monster/undeads/undead_gladiator.lua | 4 +- data/monster/undeads/undead_mine_worker.lua | 4 +- data/monster/undeads/undead_prospector.lua | 4 +- data/monster/undeads/vampire.lua | 4 +- data/monster/undeads/vampire_bride.lua | 4 +- data/monster/undeads/vampire_viscount.lua | 4 +- data/monster/undeads/vibrant_phantom.lua | 4 +- data/monster/undeads/vicious_manbat.lua | 4 +- data/monster/undeads/white_shade.lua | 4 +- data/monster/undeads/zombie.lua | 4 +- data/monster/vermins/ancient_scarab.lua | 11 +- data/monster/vermins/brimstone_bug.lua | 4 +- data/monster/vermins/bug.lua | 4 +- data/monster/vermins/burrowing_beetle.lua | 4 +- data/monster/vermins/butterfly.lua | 4 +- data/monster/vermins/carrion_worm.lua | 4 +- data/monster/vermins/cave_devourer.lua | 4 +- data/monster/vermins/centipede.lua | 4 +- data/monster/vermins/chasm_spawn.lua | 4 +- data/monster/vermins/cockroach.lua | 4 +- data/monster/vermins/crawler.lua | 4 +- data/monster/vermins/crystal_spider.lua | 4 +- data/monster/vermins/deepworm.lua | 4 +- data/monster/vermins/diremaw.lua | 4 +- data/monster/vermins/drillworm.lua | 4 +- data/monster/vermins/emerald_damselfly.lua | 4 +- data/monster/vermins/exotic_cave_spider.lua | 4 +- data/monster/vermins/giant_spider.lua | 11 +- data/monster/vermins/hibernal_moth.lua | 4 +- data/monster/vermins/hive_overseer.lua | 11 +- data/monster/vermins/insect_swarm.lua | 4 +- data/monster/vermins/insectoid_scout.lua | 4 +- data/monster/vermins/insectoid_worker.lua | 4 +- data/monster/vermins/kollos.lua | 4 +- data/monster/vermins/lacewing_moth.lua | 4 +- data/monster/vermins/ladybug.lua | 4 +- data/monster/vermins/lancer_beetle.lua | 4 +- data/monster/vermins/larva.lua | 4 +- data/monster/vermins/lesser_swarmer.lua | 4 +- data/monster/vermins/parasite.lua | 4 +- data/monster/vermins/poison_spider.lua | 4 +- data/monster/vermins/rotworm.lua | 4 +- data/monster/vermins/sacred_spider.lua | 4 +- data/monster/vermins/sandcrawler.lua | 4 +- data/monster/vermins/scarab.lua | 4 +- data/monster/vermins/scorpion.lua | 4 +- data/monster/vermins/slug.lua | 4 +- data/monster/vermins/spider.lua | 4 +- data/monster/vermins/spidris.lua | 4 +- data/monster/vermins/spidris_elite.lua | 4 +- data/monster/vermins/spitter.lua | 4 +- data/monster/vermins/swarmer.lua | 4 +- data/monster/vermins/swarmer_hatchling.lua | 4 +- data/monster/vermins/tarantula.lua | 4 +- data/monster/vermins/terramite.lua | 4 +- data/monster/vermins/tunnel_tyrant.lua | 4 +- data/monster/vermins/wailing_widow.lua | 4 +- data/monster/vermins/wasp.lua | 4 +- data/monster/vermins/waspoid.lua | 4 +- data/monster/vermins/wiggler.lua | 4 +- data/monster/wild_magics/wild_fire_magic.lua | 4 +- data/monster/wild_magics/wild_fury_magic.lua | 4 +- .../monster/wild_magics/wild_nature_magic.lua | 4 +- data/monster/wild_magics/wild_water_magic.lua | 4 +- data/npc/Albinius.xml | 9 +- data/npc/lib/npcsystem/modules.lua | 8 + .../actions/object/imbuement_shrine.lua | 6 +- data/scripts/actions/other/dolls.lua | 2 +- .../actions/other/exercise_training.lua | 225 +- data/scripts/actions/other/fluids.lua | 1 + data/scripts/actions/other/food.lua | 4 +- .../actions/other/others/quest_system1.lua | 106 - .../actions/other/others/quest_system2.lua | 122 - data/scripts/actions/other/teleport.lua | 2 +- .../actions/other/teleport_draw_well.lua | 8 +- data/scripts/actions/system/questSystem.lua | 8 - .../creaturescripts/others/advance_save.lua | 29 +- .../creaturescripts/others/familiars.lua | 16 +- data/scripts/creaturescripts/others/login.lua | 31 +- .../scripts/creaturescripts/others/logout.lua | 9 + .../others/offline_training.lua | 3 +- data/scripts/empty.txt | 0 .../globalevents/others/lagLessSave.lua | 23 - .../globalevents/others/server_save.lua | 2 +- data/scripts/globalevents/others/startup.lua | 28 +- data/scripts/lib/register_actions.lua | 5 +- data/scripts/lib/register_monster_type.lua | 25 +- data/scripts/lib/register_spells.lua | 1006 +++-- data/scripts/modules/bestiary_charms.lua | 40 +- .../equipment/unscripted_equipments.lua | 10 + data/scripts/spells/attack/eternal_winter.lua | 4 +- data/scripts/spells/attack/hells_core.lua | 4 +- data/scripts/spells/attack/lightning.lua | 4 +- .../spells/attack/rage_of_the_skies.lua | 4 +- .../spells/attack/strong_energy_strike.lua | 4 +- .../spells/attack/strong_flame_strike.lua | 4 +- .../spells/attack/strong_ice_strike.lua | 4 +- .../spells/attack/strong_terra_strike.lua | 4 +- .../spells/attack/ultimate_energy_strike.lua | 4 +- .../spells/attack/ultimate_flame_strike.lua | 4 +- .../spells/attack/ultimate_ice_strike.lua | 4 +- .../spells/attack/ultimate_terra_strike.lua | 4 +- .../scripts/spells/attack/wrath_of_nature.lua | 4 +- .../spells/monster/aggresive_lava_wave.lua | 51 + .../scripts/spells/monster/emberBeastArea.lua | 28 +- data/scripts/spells/monster/emberBeastHur.lua | 28 +- .../spells/monster/magic_pillar_summon.lua | 2 +- .../spells/monster/morgaroth_summon.lua | 2 +- .../spells/runes/animate_dead_rune.lua | 138 +- .../spells/runes/convince_creature.lua | 1 - data/scripts/spells/runes/paralyze_rune.lua | 2 +- data/scripts/spells/runes/sudden_death.lua | 2 +- data/scripts/spells/summon/druid_familiar.lua | 50 +- .../scripts/spells/summon/knight_familiar.lua | 50 +- .../spells/summon/paladin_familiar.lua | 50 +- .../spells/summon/sorcerer_familiar.lua | 49 +- .../scripts/spells/summon/summon_creature.lua | 16 +- data/scripts/spells/support/blood_rage.lua | 4 +- data/scripts/spells/support/charge.lua | 12 +- .../spells/support/expose_weakness.lua | 4 +- data/scripts/spells/support/haste.lua | 12 +- data/scripts/spells/support/protector.lua | 4 +- data/scripts/spells/support/sap_strength.lua | 6 +- data/scripts/spells/support/strong_haste.lua | 12 +- data/scripts/spells/support/swift_foot.lua | 12 +- .../scripts/talkactions/god/create_summon.lua | 20 +- data/startup/tables/door_level.lua | 122 +- data/startup/tables/door_quest.lua | 60 +- data/startup/tables/npc_spawn.lua | 198 - src/creatures/players/player.cpp | 2 +- src/io/iobestiary.cpp | 21 +- 1505 files changed, 7068 insertions(+), 7667 deletions(-) delete mode 100644 data/lib/core/imbuements.lua create mode 100644 data/lib/tables/exercise_training.lua create mode 100644 data/lib/tables/familiar.lua create mode 100644 data/monster/Fey/tainted_soul.lua create mode 100644 data/monster/Quests/the_secret_library/bosses/grand_master_oberon_functions.lua delete mode 100644 data/monster/empty.txt delete mode 100644 data/scripts/actions/other/others/quest_system1.lua delete mode 100644 data/scripts/actions/other/others/quest_system2.lua delete mode 100644 data/scripts/empty.txt delete mode 100644 data/scripts/globalevents/others/lagLessSave.lua create mode 100644 data/scripts/spells/monster/aggresive_lava_wave.lua diff --git a/config.lua.dist b/config.lua.dist index 6663773d2..c2d6e95ab 100644 --- a/config.lua.dist +++ b/config.lua.dist @@ -2,7 +2,7 @@ -- NOTE: valid values for worldType are: "pvp", "no-pvp" and "pvp-enforced" worldType = "pvp" hotkeyAimbotEnabled = true -protectionLevel = 0 +protectionLevel = 7 pzLocked = 60 * 1000 removeChargesFromRunes = true removeChargesFromPotions = true @@ -164,14 +164,13 @@ serverSaveShutdown = true sortLootByChance = true -- Rates --- NOTE: rateExp, rateSkill and rateMagic is used when 'rateUseStages = false' - or a fallback only +-- NOTE: rateExp, rateSkill and rateMagic is used as a fallback only -- To configure rates see file data/stages.lua -rateUseStages = true rateExp = 1 -rateLoot = 3 -rateSpawn = 1 rateSkill = 1 +rateLoot = 1 rateMagic = 1 +rateSpawn = 1 -- Today regeneration condition over an loop every 1 second, -- so values which should regenerated less then 1 second diff --git a/data/XML/imbuements.xml b/data/XML/imbuements.xml index 21a62b8d5..742df889c 100644 --- a/data/XML/imbuements.xml +++ b/data/XML/imbuements.xml @@ -1,135 +1,132 @@ - - - + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + - - + - - + - + - + @@ -137,18 +134,18 @@ - + - + - + @@ -156,128 +153,127 @@ - + - + - + - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -285,18 +281,18 @@ - + - + - + @@ -304,108 +300,108 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -413,18 +409,18 @@ - + - + - + diff --git a/data/XML/mounts.xml b/data/XML/mounts.xml index 52180266c..a96a0c0eb 100644 --- a/data/XML/mounts.xml +++ b/data/XML/mounts.xml @@ -181,4 +181,13 @@ + + + + + + + + + diff --git a/data/XML/outfits.xml b/data/XML/outfits.xml index 1e5276a94..0d409937e 100644 --- a/data/XML/outfits.xml +++ b/data/XML/outfits.xml @@ -98,6 +98,11 @@ + + + + + @@ -197,4 +202,9 @@ + + + + + diff --git a/data/XML/vocations.xml b/data/XML/vocations.xml index 58aa194dd..467e0f3eb 100644 --- a/data/XML/vocations.xml +++ b/data/XML/vocations.xml @@ -90,4 +90,4 @@ - \ No newline at end of file + diff --git a/data/chatchannels/scripts/advertising.lua b/data/chatchannels/scripts/advertising.lua index 0998faa20..9b9791dd1 100644 --- a/data/chatchannels/scripts/advertising.lua +++ b/data/chatchannels/scripts/advertising.lua @@ -16,8 +16,8 @@ function onSpeak(player, type, message) return true end - if player:getLevel() == 1 then - player:sendCancelMessage("You may not speak into channels as long as you are on level 1.") + if player:getLevel() < 20 and not player:isPremium() then + player:sendCancelMessage("You may not speak in this channel unless you have reached level 20 or your account has premium status.") return false end diff --git a/data/chatchannels/scripts/english_chat.lua b/data/chatchannels/scripts/english_chat.lua index 42517d2a5..7bedb4665 100644 --- a/data/chatchannels/scripts/english_chat.lua +++ b/data/chatchannels/scripts/english_chat.lua @@ -1,10 +1,10 @@ function onSpeak(player, type, message) - local playerAccountType = player:getAccountType() - if player:getLevel() == 1 and playerAccountType < ACCOUNT_TYPE_GAMEMASTER then - player:sendCancelMessage("You may not speak into channels as long as you are on level 1.") + if player:getLevel() < 20 and not player:isPremium() then + player:sendCancelMessage("You may not speak in this channel unless you have reached level 20 or your account has premium status.") return false end + local playerAccountType = player:getAccountType() if type == TALKTYPE_CHANNEL_Y then if playerAccountType >= ACCOUNT_TYPE_GAMEMASTER then type = TALKTYPE_CHANNEL_O diff --git a/data/events/events.xml b/data/events/events.xml index b18cb8686..362a561cc 100644 --- a/data/events/events.xml +++ b/data/events/events.xml @@ -1,48 +1,44 @@ - - + + + + + + + + - + + + + - - - - + + + - - - - - - - + - - - - + + + - - - - - diff --git a/data/events/scripts/creature.lua b/data/events/scripts/creature.lua index 4a9c9f65d..4eb4c79e8 100644 --- a/data/events/scripts/creature.lua +++ b/data/events/scripts/creature.lua @@ -4,7 +4,7 @@ function Creature:onChangeOutfit(outfit) local familiarLookType = self:getFamiliarLooktype() if familiarLookType ~= 0 then for _, summon in pairs(self:getSummons()) do - if summon:getType():isPet() then + if summon:getType():familiar() then if summon:getOutfit().lookType ~= familiarLookType then summon:setOutfit({lookType = familiarLookType}) end @@ -16,14 +16,6 @@ function Creature:onChangeOutfit(outfit) return true end -function Creature:onAreaCombat(tile, isAggressive) - return RETURNVALUE_NOERROR -end - -function Creature:onTargetCombat(target) - return RETURNVALUE_NOERROR -end - function Creature:onHear(speaker, words, type) end @@ -120,14 +112,7 @@ function Creature:onTargetCombat(target) end end - if self:isPlayer() then - if target and target:getName() == staminaBonus.target then - local playerId = self:getId() - if not staminaBonus.eventsTrainer[playerId] then - staminaBonus.eventsTrainer[playerId] = addEvent(addStamina, staminaBonus.period, playerId) - end - end - end + self:addEventStamina(target) return true end diff --git a/data/events/scripts/player.lua b/data/events/scripts/player.lua index 9d9e76625..dad39fd40 100644 --- a/data/events/scripts/player.lua +++ b/data/events/scripts/player.lua @@ -38,9 +38,6 @@ local storeItemID = { 35180, -- overcooked noodles } --- Capacity imbuement store -local STORAGE_CAPACITY_IMBUEMENT = 42154 - -- Players cannot throw items on teleports if set to true local blockTeleportTrashing = true @@ -137,26 +134,6 @@ function Player:onLook(thing, position, distance) else description = description .. thing:getDescription(distance) end - - local itemType = thing:getType() - if (itemType and itemType:getImbuingSlots() > 0) then - local imbuingSlots = "Imbuements: (" - for slot = 0, itemType:getImbuingSlots() - 1 do - if slot > 0 then - imbuingSlots = string.format("%s, ", imbuingSlots) - end - local duration = thing:getImbuementDuration(slot) - if duration > 0 then - local imbue = thing:getImbuement(slot) - imbuingSlots = string.format("%s%s %s %s", - imbuingSlots, imbue:getBase().name, imbue:getName(), getTime(duration)) - else - imbuingSlots = string.format("%sEmpty Slot", imbuingSlots) - end - end - imbuingSlots = string.format("%s).", imbuingSlots) - description = string.gsub(description, "It weighs", imbuingSlots.. "\nIt weighs") - end else description = description .. thing:getDescription(distance) if thing:isMonster() then @@ -164,7 +141,7 @@ function Player:onLook(thing, position, distance) if master and table.contains({'sorcerer familiar','knight familiar','druid familiar','paladin familiar'}, thing:getName():lower()) then description = description..' (Master: ' .. master:getName() .. '). \z - It will disappear in ' .. getTimeinWords(master:getStorageValue(Storage.PetSummon) - os.time()) + It will disappear in ' .. getTimeinWords(master:getStorageValue(Storage.FamiliarSummon) - os.time()) end end end @@ -197,12 +174,12 @@ function Player:onLook(thing, position, distance) if decayId ~= -1 then description = string.format("%s\nDecays to: %d", description, decayId) end - + local clientId = itemType:getClientId() if clientId then description = string.format("%s\nClient ID: %d", description, clientId) end - + elseif thing:isCreature() then local str = "%s\nHealth: %d / %d" if thing:isPlayer() and thing:getMaxMana() > 0 then @@ -232,7 +209,7 @@ function Player:onLookInBattleList(creature, distance) local summons = {'sorcerer familiar','knight familiar','druid familiar','paladin familiar'} if master and table.contains(summons, creature:getName():lower()) then description = description..' (Master: ' .. master:getName() .. '). \z - It will disappear in ' .. getTimeinWords(master:getStorageValue(Storage.PetSummon) - os.time()) + It will disappear in ' .. getTimeinWords(master:getStorageValue(Storage.FamiliarSummon) - os.time()) end end if self:getGroup():getAccess() then @@ -507,7 +484,8 @@ function Player:onItemMoved(item, count, fromPosition, toPosition, fromCylinder, end function Player:onMoveCreature(creature, fromPosition, toPosition) - if creature:isPlayer() and creature:getStorageValue(Storage.isTraining) == 1 and self:getGroup():hasFlag(PlayerFlag_CanPushAllCreatures) == false then + local player = creature:getPlayer() + if player and onExerciseTraining[player:getId()] and self:getGroup():hasFlag(PlayerFlag_CanPushAllCreatures) == false then self:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE) return false end @@ -686,13 +664,20 @@ function Player:onGainExperience(source, exp, rawExp) -- Experience Stage Multiplier local expStage = getRateFromTable(experienceStages, self:getLevel(), configManager.getNumber(configKeys.RATE_EXP)) + exp = exp * expStage + baseExp = rawExp * expStage + if Game.getStorageValue(GlobalStorage.XpDisplayMode) > 0 then + displayRate = expStage + else + displayRate = 1 + end -- Prey Bonus - local preyBonus = 0 for slot = CONST_PREY_SLOT_FIRST, CONST_PREY_SLOT_THIRD do if (self:getPreyCurrentMonster(slot) == source:getName() and self:getPreyBonusType(slot) == CONST_BONUS_XP_BONUS) then - preyBonus = self:getPreyBonusValue(slot) + exp = exp + math.floor(exp * (self:getPreyBonusValue(slot) / 100)) + break end if (self:getPreyTimeLeft(slot) / 60) > 0 then preyTimeLeft(self, slot) -- slot consumption, outside of the mosnter check @@ -708,18 +693,23 @@ function Player:onGainExperience(source, exp, rawExp) self:setStoreXpBoost(storeXpBoostAmount) + if (storeXpBoostAmount > 0) then + exp = exp + (baseExp * (storeXpBoostAmount/100)) -- Exp Boost + end + -- Stamina Bonus - local staminaBoost = 1 if configManager.getBoolean(configKeys.STAMINA_SYSTEM) then useStamina(self) local staminaMinutes = self:getStamina() if staminaMinutes > 2340 and self:isPremium() then - staminaBoost = 1.5 + exp = exp * 1.5 + self:setStaminaXpBoost(150) elseif staminaMinutes <= 840 then - staminaBoost = 0.5 --TODO destroy loot of people with 840- stamina + exp = exp * 0.5 --TODO destroy loot of people with 840- stamina + self:setStaminaXpBoost(50) + else + self:setStaminaXpBoost(100) end - - self:setStaminaXpBoost(staminaBoost * 100) end -- Boosted creature @@ -729,10 +719,10 @@ function Player:onGainExperience(source, exp, rawExp) -- Event scheduler if SCHEDULE_EXP_RATE ~= 100 then - expStage = math.max(0, (expStage * SCHEDULE_EXP_RATE)/100) + exp = (exp * SCHEDULE_EXP_RATE)/100 end - - return (exp / 100 * ((expStage * 100 + storeXpBoostAmount + preyBonus) * staminaBoost)) + self:setBaseXpGain(displayRate * 100) + return exp end function Player:onLoseExperience(exp) @@ -744,24 +734,19 @@ function Player:onGainSkillTries(skill, tries) return tries end - local STAGES_DEFAULT = skillsStages or nil - local SKILL_DEFAULT = self:getSkillLevel(skill) - local RATE_DEFAULT = configManager.getNumber(configKeys.RATE_SKILL) - - if(skill == SKILL_MAGLEVEL) then -- Magic Level - STAGES_DEFAULT = magicLevelStages or nil - SKILL_DEFAULT = self:getBaseMagicLevel() - RATE_DEFAULT = configManager.getNumber(configKeys.RATE_MAGIC) + -- Event scheduler skill rate + if SCHEDULE_SKILL_RATE ~= 100 then + tries = (tries * SCHEDULE_SKILL_RATE)/100 end - skillOrMagicRate = getRateFromTable(STAGES_DEFAULT, SKILL_DEFAULT, RATE_DEFAULT) + local skillRate = configManager.getNumber(configKeys.RATE_SKILL) + local magicRate = configManager.getNumber(configKeys.RATE_MAGIC) - -- Event scheduler skill rate - if SCHEDULE_SKILL_RATE ~= 100 then - skillOrMagicRate = math.max(0, (skillOrMagicRate * SCHEDULE_SKILL_RATE)/100) + if(skill == SKILL_MAGLEVEL) then -- Magic getLevel + return tries * getRateFromTable(magicLevelStages, self:getBaseMagicLevel(), magicRate) end - return tries / 100 * (skillOrMagicRate * 100) + return tries * getRateFromTable(skillsStages, self:getSkillLevel(skill), skillRate) end function Player:onRemoveCount(item) @@ -780,165 +765,11 @@ function Player:onStorageUpdate(key, value, oldValue, currentFrameTime) self:updateStorage(key, value, oldValue, currentFrameTime) end -function Player:canBeAppliedImbuement(imbuement, item) - local categories = {} - local slots = ItemType(item:getId()):getImbuingSlots() - if slots > 0 then - for slot = 0, slots - 1 do - local duration = item:getImbuementDuration(slot) - if duration > 0 then - local imbue = item:getImbuement(slot) - local catid = imbue:getCategory().id - table.insert(categories, catid) - end - end - end - - if isInArray(categories, imbuement:getCategory().id) then - return false - end - - if imbuement:isPremium() and self:getPremiumDays() < 1 then - return false - end - - if self:getStorageValue(Storage.ForgottenKnowledge.Tomes) > 0 then - imbuable = true - else - return false - end - - if not self:canImbueItem(imbuement, item) then - return false - end - - return true -end - -function Player:onApplyImbuement(imbuement, item, slot, protectionCharm) - for slot = CONST_SLOT_HEAD, CONST_SLOT_AMMO do - local slotItem = self:getSlotItem(slot) - if slotItem and slotItem == item then - self:sendImbuementResult(MESSAGEDIALOG_IMBUEMENT_ROLL_FAILED, "You can't imbue a equipped item.") - self:closeImbuementWindow() - return true - end - end - - for _, pid in pairs(imbuement:getItems()) do - if (self:getItemCount(pid.itemid) + self:getStashItemCount(pid.itemid)) < pid.count then - self:sendImbuementResult(MESSAGEDIALOG_IMBUEMENT_ROLL_FAILED, "You don't have all necessary items.") - return false - end - end - - if item:getImbuementDuration(slot) > 0 then - self:sendImbuementResult(MESSAGEDIALOG_IMBUEMENT_ERROR, "An error ocurred, please reopen imbuement window.") - return false - end - local base = imbuement:getBase() - local price = base.price + (protectionCharm and base.protection or 0) - - local chance = protectionCharm and 100 or base.percent - if math.random(100) > chance then -- failed attempt - self:sendImbuementResult(MESSAGEDIALOG_IMBUEMENT_ROLL_FAILED, "Oh no!\n\nThe imbuement has failed. You have lost the astral sources and gold you needed for the imbuement.\n\nNext time use a protection charm to better your chances.") - -- Removing items - for _, pid in pairs(imbuement:getItems()) do - self:removeItem(pid.itemid, pid.count) - end - -- Removing money - self:removeMoneyNpc(price) - -- Refreshing shrine window - local nitem = Item(item.uid) - self:sendImbuementPanel(nitem) - return false - end - - -- Removing items - for _, pid in pairs(imbuement:getItems()) do - local invertoryItemCount = self:getItemCount(pid.itemid) - if invertoryItemCount >= pid.count then - if not(self:removeItem(pid.itemid, pid.count)) then - self:sendImbuementResult(MESSAGEDIALOG_IMBUEMENT_ERROR, "An error ocurred, please reopen imbuement window.") - return false - end - else - local mathItemCount = pid.count - if invertoryItemCount > 0 and self:removeItem(pid.itemid, invertoryItemCount) then - mathItemCount = mathItemCount - invertoryItemCount - end - - if not(self:removeStashItem(pid.itemid, mathItemCount)) then - self:sendImbuementResult(MESSAGEDIALOG_IMBUEMENT_ERROR, "An error ocurred, please reopen imbuement window.") - return false - end - end - end - - if not self:removeMoneyNpc(price) then - self:sendImbuementResult(MESSAGEDIALOG_IMBUEMENT_ROLL_FAILED, "You don't have enough money " ..price.. " gps.") - return false - end - - if not item:addImbuement(slot, imbuement:getId()) then - self:sendImbuementResult(MESSAGEDIALOG_IMBUEMENT_ROLL_FAILED, "Item failed to apply imbuement.") - return false - end - - -- Update item - local nitem = Item(item.uid) - self:sendImbuementPanel(nitem) - return true -end - -function Player:clearImbuement(item, slot) - local slots = ItemType(item:getId()):getImbuingSlots() - if slots < slot then - self:sendImbuementResult(MESSAGEDIALOG_CLEARING_CHARM_ERROR, "Sorry, not possible.") - return false - end - - if item:getTopParent() ~= self or item:getParent() == self then - self:sendImbuementResult(MESSAGEDIALOG_CLEARING_CHARM_ERROR, - "An error occurred while applying the clearing charm to the item.") - return false - end - - -- slot is not used - local info = item:getImbuementDuration(slot) - if info == 0 then - self:sendImbuementResult(MESSAGEDIALOG_CLEARING_CHARM_ERROR, - "An error occurred while applying the clearing charm to the item.") - return false - end - - local imbuement = item:getImbuement(slot) - if not self:removeMoneyNpc(imbuement:getBase().removecust) then - self:sendImbuementResult(MESSAGEDIALOG_CLEARING_CHARM_ERROR, - "You don't have enough money " ..imbuement:getBase().removecust.. " gps.") - return false - end - - if not item:cleanImbuement(slot) then - self:sendImbuementResult(MESSAGEDIALOG_CLEARING_CHARM_ERROR, - "An error occurred while applying the clearing charm to the item.") - return false - end - - -- Update item - local nitem = Item(item.uid) - self:sendImbuementResult(MESSAGEDIALOG_CLEARING_CHARM_SUCCESS, - "Congratulations! You have successfully applied the clearing charm to your item."); - self:sendImbuementPanel(nitem) - - return true -end - function Player:onCombat(target, item, primaryDamage, primaryType, secondaryDamage, secondaryType) if not item or not target then return primaryDamage, primaryType, secondaryDamage, secondaryType end - + if ItemType(item:getId()):getWeaponType() == WEAPON_AMMO then if isInArray({ITEM_OLD_DIAMOND_ARROW, ITEM_DIAMOND_ARROW}, item:getId()) then return primaryDamage, primaryType, secondaryDamage, secondaryType @@ -947,25 +778,6 @@ function Player:onCombat(target, item, primaryDamage, primaryType, secondaryDama end end - local slots = ItemType(item:getId()):getImbuingSlots() - if slots > 0 then - for i = 0, slots - 1 do - local imbuement = item:getImbuement(i) - if imbuement then - local percent = imbuement:getElementDamage() - local totalDmg = primaryDamage --store it for damage adjustment - if percent and percent > 0 then - if primaryDamage ~= 0 then - local factor = percent / 100 - secondaryType = imbuement:getCombatType() - primaryDamage = totalDmg * (1 - factor) - secondaryDamage = totalDmg * (factor) - end - end - end - end - end - return primaryDamage, primaryType, secondaryDamage, secondaryType end diff --git a/data/global.lua b/data/global.lua index d0d1c5817..8dc90df42 100644 --- a/data/global.lua +++ b/data/global.lua @@ -15,18 +15,17 @@ GLOBAL_CHARM_SCAVENGE = 0 --WEATHER weatherConfig = { - groundEffect = CONST_ME_LOSEENERGY, + groundEffect = CONST_ME_LOSEENERGY, fallEffect = CONST_ANI_SMALLICE, - thunderEffect = configManager.getBoolean(configKeys.WEATHER_THUNDER), - minDMG = 1, - maxDMG = 5 + thunderEffect = configManager.getBoolean(configKeys.WEATHER_THUNDER), + minDMG = 1, + maxDMG = 5 } -- Event Schedule SCHEDULE_LOOT_RATE = 100 SCHEDULE_EXP_RATE = 100 SCHEDULE_SKILL_RATE = 100 -SCHEDULE_SPAWN_RATE = 100 -- MARRY PROPOSED_STATUS = 1 @@ -60,6 +59,23 @@ startupGlobalStorages = { -- } +do -- Event Schedule rates + local lootRate = Game.getEventSLoot() + if lootRate ~= 100 then + SCHEDULE_LOOT_RATE = lootRate + end + + local expRate = Game.getEventSExp() + if expRate ~= 100 then + SCHEDULE_EXP_RATE = expRate + end + + local skillRate = Game.getEventSSkill() + if skillRate ~= 100 then + SCHEDULE_SKILL_RATE = skillRate + end +end + table.contains = function(array, value) for _, targetColumn in pairs(array) do if targetColumn == value then @@ -182,3 +198,6 @@ function addStamina(playerId, ...) end return false end + +-- Exercise Training +onExerciseTraining = {} diff --git a/data/items/items.otb b/data/items/items.otb index 8ddb9151591c0dd62e8880c511c429eb18dff650..4245ad37beaf218f0ae888d23df9f2ebe21b85a9 100644 GIT binary patch delta 45202 zcmb5X2{=^m|NlS3Fm_{?U5JG26hcIbBvBzz_I;PAp)4gknIvn{z93C0S&BB4R8%O5 zB$cIvn*7ge<`h%jpYQMAb-k}^p6B&=zV7AR=RWtj&zSf7a*yr{-Wf|6)l^h7)x0u| zSSs?Y`FR~T2~EZMdY?QfCmd1tLXi4g? zl3%2`m4~lV$~NHkHATjtOG_!U$JHfBQePMZv*UtSFB}rd{uEsPAEBz+kaiWqSPIXL zm$rT0KR;$CRF^Q=Wfzu+5)zbyMtg!zwzltBS@r$w%Ixg>C8Bx{+-#EzU)M_5W8KrQ z@|^Ni#9>%4ZJ60#7*-4hOJKmXF!3;8j9H`z7#E=nn;u*yUWt5~R@J3)ja(&Jdfu7v zdPm^*pdw#w=apx)JxA_vR=>iY)|xVSzRy)#uWFJ0-A(RLRp4Toug($P4_Gwl=b&iIa}aEntq9m-TJfG+@beu-|}$%l+cqa zgOZWLk$=z`-#C!M)o@7RM(bbRojT-ylc^79*|SYLXpWf#MjaSSpKERpo)oj0=iL6W zl`pf1)cy*~uSJ=axykY@BUMqYCSx;0zV+rg>l9cu!FpTgr_S{&1{zbGIRh5AUvra1 zy0QJXnx85?zsNr<*cj%<#F-uvD2-Ur(}d+ltaS{Cwf1>?vHVc?p;gP3jfqb7CrE0l z4E&nspX}4@lKsA+bf(k4E$YX|IVU4H8^Fm~wa(wruyRyXxo+fXU=NNQrOKePhR}Gn z>2BsphOal?V@^)os@h8?hcleoL6F0R9V|3&uJy1Bu~#(^C8jN#R(e-AtEWlRiV z6U2DbDo^L1sBS}bCNRqZ2LLxQMcqt z$7i>lt|pTgx#1XjdF!5TEOKA#s;~D@#ESAOhB6yKR*JxNitsbObPHWR&LnpvcNMPa zRC~HI17SZpd-eD|d`_eXR$eD-k#V~?G@Himo_=vtd~wIwMawVT(OWimB77u} z6HyN*LflWd@sdNC8H-3EV@}X?GP&h8j#HjMFne^EX!?G?=*#+*Tl76%lRpgO4zX(f zeZuE5rb!|h+gKMmwdG%NK7@ZymNXO7lGO{$VdO35Oxvxn7;<$Ela3Bab`38N$+DG+ zO(a|vDWXpbDI(MvC;8@!tDD86_@7tS?G7PHwJ`A$B!ju_kNN1fu9JIlcJz?o5ZSba zNeoL(Kn`kUsxl`G-w)VGTF-aXl!Q5+cVPJxDbAExgk&Ya%tmmW88E6_T4&O?Ma)G; z-w{Xh5@41kY#3p4$-6r^&>rS}>7GX?3&~%QSwuu{2~v?Wi;;@-Xf0a%>{Qm4ZPL7i z3nqIuk}6D?MaaVf%x01V#_FrA+zgR^O2;^jEMjU5$VOVs%3Op6Eh1~=k(3u@{v)OA z!YoH8RH$*`W8jc3X{=9Q`URBzEG$}d~Fc>Fh7%&(qVhbJZAah#2{m>}iX zIl*CuRQYA(s(R)qd4h}Soh^I2ZYp29*2XD?nPMl^PcjRVHVrYaCg67+CKwyZES63r z+mhe&-l2xbH-?zkClhXOWhM0=INe_Kw)(t6_l+WwP$=Gv$N710e9a?;geo45z6KKt zWj)zH6n~#VH>%#(+4jjh#*m$d7$jbQzPt>JVMGQtMk*HOVI38uqoNg&j{KV=2Swl& zxCkBRFStuJ58pE^89b_@IT%G!-GhvQ#(2CQCy$rTnQ8AMTkhy^eOODOgcH?B#@Tog zl6)3kmoRE8^|b0!YfR0zJrf_7uM?+*4rSrP2oWasW!%OlZs`rFmAo=P*dQb*0ks)` z+9)hTYO@ftjd$IHwEOROF1xYbr;I}RLirV2L~0FW6(QZp#;+pi_gajruIk*UD>v!o z7N${7=FP#E;|SV14{cg?o42VwFl~{NuG>SMh+ZAVvk^+a<_}jZRfl^VOaIzg=GRZM zu@K}VvE<=Z2;m_W>f1yMd@aPwRxUF+yoG9V$U{sfXL&MtD6?fwRkmdH%iLn5c10F` za#9}NQHYSZW$3SB4DrlL{C^(Ew8FZM-Cbn0#sZadmC+s))V2HhY#zl5WD$yQ(_JpZTx6 z-m&HQRo!5Z9P-F*yeD1`dVQ5D((C(`kY2xj@Ybo;xM0kWyo=4A(o4gTae_te*QDJK z@iLx(8UY#)C}nny#PcOe!Y_^r!%35y%*z1c2g6Yc3sNYstMUx`V9$=FN>c zW;HO0z)UFaQ0uCyT+woEm(AwajT=bV7G(G|@|=+OVY++5Ub%APb%~@=l0^$XmhdV5 zTK;53(Svu^JJr3Edqc=CTJRG%f+shdO1Nj#u43|C(IV6G)8y`U{9`lr@+3l4smsFahjKc;)h|E2_>|~X3{MfFAZqCc?S)?oom)1T^ zcD#d=ujtC#JeK{_o4lilrA~v8mlE}?bzk@4%}0E)G&xc)kX1TZzGV^yC+}y!yzz7} z>vk_8D#eU}WURp|NV0He76Kb_J%?NFY!u6W(4 zBbq-yl8hA=@sTdNv$Fk1!ruQ(NWGd*uRvPcuYt7o-^?1UBII=*tc$P&rsKMgn{)Cf z_(s&bPmL;Gp;hRRCsHBftI1_&IE%MUd+Zyp5pvR@g=&!yPwKfgZ9QyV?TYKVk*e03 z$g=@7ky>me6#EH^T`)D3sRHIRF#nV>rjK;hHZN8^!t{!F<+sjw^;?z|=*)bKXUr}+ z#z(&9#ah5jxSz$f;*#RXaT&q87c#%KY15`5Vj$}(LW$t2s^;ivPKCwgHkI4ib;!sJ zrL&kvsIvdvZpyEglgDcNg>sy$L8?ZR{o=AUbM#7e|it{MD zFR|~@Ze8=eoI*KLJ1}ydq*BUyM6cJ%`N-5dWwET>N|D{h=HbYio(b~|*7V3#3fCvU z9?~v*Eu>xMAMoqr3hkRpFdTa?HH2G|ewDJO6Yglev%S8IXPrttUc5j``zop61gjxo z_m*#t8${ksEKfQ8LM$ZrENKLe8g7@Y|049phEI4go9eY2%Sd`<$kDJ4t%>P1m-9H}|M~yG^?=gy(SH2 z$)lRbDsES2=HP|CA=eWYnoGNT89;Lrp}8I^T!A|Z`|}7_oSXKJ_FpIIpF!Me`So@C zmVX}Gb$M-K*9yycdbc6C4}!b&!|Gy<%9E=EdU`HgW|Ch0HTt}8|o)v|Us zjqiriyN$t}3~n8T?Ki&pSUOxOa8uhB61IiZ3vSY}$IW(b_Vo|aH|@@{eOpZLHUW1E zxa-nD;=4xNZ8S+V2?xc=?pGx$#2)5pwM#vR`Tn`Q&h<%0> zx0fJHswpH`aG}Sy!*L3Q7H}!V;_=SZBfsVy*+D%rJ9mWH1&&}yeRTvOQt=oYOVafs z0`eaZ`FauWs%V}FOWmif0S=U3RXtZV%yMszkTQiC`N$%oe9bt*-$Bxts}R2kM+B15 z%NuFlf^m|n6d&7v<=rmDmyhF)l`SlM+4t;m#D^Yvo1$@2pA`o`NmP!HZNZ3$A{3Yi z1^#6;pj9?pjxP|$bEHqve>n%`*ND+-j_Okm$F!+Iku_j02J_zlDfk1HU(^iZr3=Ni zN$rn0`N*z{d?7tNX{8~Kyp@#M<=!Jj(xk;PL)pQ4e56S{|0lxTyUwjaB2iFwe4B{OIMfi~ZhlDI@mO`=EJR4AMA%AEfcj#s?q0_j;7Faya;!{XULJX$DLU z2Dv~PkkQO2#Q^hgI=}${+dH3--Sb9kw7K-va7nIUIPIo7E6&eGn7(GnaWfz-Y&g{* zO7Q}BIW43lfrQpn%Mx#XxM2K5mTdn~=&C9;B$5SLqadr0yrR|0o|GhG0h?`($873o z@ob3if%r@H70S=$b+yZG9^N#p!)HV5{wfLn^x6f6liDJFev(Hw|E>j2{EKdWaf2%j z+4^5^+EbsUj9A8iWZNCcqGKl2m_t~TyWSWJhko1n^ekdvr4~KK_R`J3+&6l zK4Gb9uwuDk`2~X~Y(5R$&q%IEh5K}0X0Cn8xw?q0z~W_gdW-BBy;}g>>fqi>n%SJA zqkA}NhVSFE;2}rSo;+bA-L>^IhqOQY8^|ZF-6FRB>TY_sFu1kA9V5!OSni(KnfwcT zWn65JXptxKgxN=JU1(dB3PlLFCI#UHlU7|%f9v;Yw`!BghsHHn>Sk*YEW1#2DWGP6 zF59Kt^H92I+=j{0Y%xc=C5n>QBrlR?<^F|1?>|0ZNFt397YUP!H}c?#zHs0mWT-lL z!e;f8QxD>cE?4I+oqms09wru6De4W)54c0X5f90`)QPvOW1d>#U}K%Nlb-VjE*ZGA zgXc=hkMR!-EQ*{dy*g@5&jkQ?IE9FSrJ9?~)N((#e&t$v{Rz=oo*oPYFa;7G?sBi= zYa6s0Y=1D8>v>C)o(lpl6}U$sM^aiBebImN)bydP@3C}xE*Q8p;DomeJS0ZcSX6f% z65U(*%8-d33;{45K*d*C3Mu9N7uw~Mg7@z5e@M@T0+#{Y5Bcwr60TwyYsC4iBEqz` z(Q{$IWdfJF-^tsKZLxKy@(H5E5$(5j^k6uESpbep)G)+eywKs%o0oR)&eUmoE&{l0 z;OaM;Y^G2iSedIyPZ$MUE^w4tR^gP}yj{m~V&BAiHoa(}2loI-0`R+|>eKAZ zud3!R{2!=hRHXK`mZ zXV5}$uO@Dkp4$uDG2r55S+2TuJ&WAlcmL^Uv8H4?j)>U@U_OA``Fq7Ki7F|q+&xT3LAwKJPK+%@->&~u5vouFQ}RWcuawF&ztA9p-ysQ$KJfgVf( zunZD*nz2ZEC95+qthrE_o0;81&m9ErByiC$-1<$ux$Q+Sdll~Ij4Y$)4gpsV+{Q`f zP-4)wCFdp67qjk|-sVCNCIfg1z$N={XbE{HwB&Anr&wWiScjfF4BTnpxK{W#=kC5& zskD!*Yt4N=gq}+Q?hJ4y*FzFtaV;y>@{=U?53!k&=)qI~&jNUOlC5K~Hh6ODM!PdE zmh24lTpDoafZO^erFPMaykm=vyxIf~zG|fB(t$e<90v#46{|A5Utq}p%;t(3WTX?( ztyJnc&H(TNfOWeAqr&Z&j!uN;a*LaA!psL-uILEP1nwemWwPaZ%?Uz_PbKe2*-}z? z5@9g3X+8^>OTeT=4_l`;#Rqs6jO#)VDUXTp2LS~z@ z^L~T0k(~ov1#pzvs>xAo7xCCi#?Cx(03An2^+?$EEo5SGjh|@FE1iYtLZEK|-Fn43eC1(< zI6Vrb%WJV|?f~FKnD6HIOA+ulfiFAtUb^~`#D>E;Yy%^|PppP7nTWft; zUC*HPwos)NCV4*nd$Xkk=vzQ(8`Kf|z#aiuy5vz@ICI`c9z~z&Zfy?|#%Z z4>Qj@`cQJOQv4z>dhP^p^}tamyeIv?5Y=yGjukwQE0h|c2g?9#0C4Nz0nzWL>+FRx zO0}z_BZ$xG!IJl0JmYH8MSJ+Vh@P2x(9Jt%S-P;m>p#0*V=G{UeckH+x z^U!mrfV%^n?C0Ln#Sb@MDy_Ctg#=or>I;yM* ztCV>=R%d`~1};JASQnR7>N*z6FTwiIVzV#w;8_6g0$4p5>Yt%l@r+~_@$=Dc-d*!J zA~K-P0eBClbaQQ^D zi*M^*T3)(|vz6OR{>niQRs#44z$P;GC$cSrD_regqwz&5j=<&!1zi-A9=GbpWSbG=byTxPm!9$y~$Fs=SDvBLnvoIB5~Rb1&PDRcTE12aFOGq}R}c z*8qG5pu}1W#vF;uo2Bd78zTD?ROmTm*NOr29JuXU7)EGnSqYJlqm zu1$ONc)HN5>u#52r#lxvhy#vDy<<_&@(lpH094-fu`e>4S<%^|xba)xcT4(&H-UQr zT;Q{_=?Owx8LvvcUwW`ugOQ%A1@0wq)7u=DWmb9Z7&vf%Xy2A-Fpq=re+$4@0CwFc z`Yqvgd6ay$jm>HJ-Sj*V;p%|v2JXnNu4t`2{U;00q$y=K{&+>t)dSZ9T-}YK&eVN= zOEh1M&U~#)uchZ25RQoH1rXb}w4g4LO)bAatytvo*xcHW+B1!i@HKE!mwPSFo>cSg zwd#q;@t*LePk0-+H`IdT<2vr79~Hc*oabrnR&}19y8~PwaJEF;vPB0|EebYv-Ce;s zyttblYy$8tfOe~JQjE$%UHeKW_0ymC{x$rYf$InEjb+loC1&{(?0b=$FQf0yznXj( zz;^)Va+ItT>$pu^JGqptxg|xLHXZ(%4etRs0N{D{McDRW!LwnvP3~V2%YmiPyxH(R zaD%|94RK7EKD=)>wr7OH>F}dSdhP*m?}0nQBD&**>`b-C^IhqMj>L#Qdhj8DLjZPE z?DTNg9*x!*m%g?|kDH60YXR;9aQKU53J>q3+ zki{kwMzHhuzN-<2YU%>hH+VpkWPSmkCuyHw!sqX_&#&O~6zy|2e4eI#?t#xUw9mcp z`3LRuYxw+=`WgQQJ|pi9Xd5?1%y?oS^~f)%C)3#RXr&-Q*@~xk)BTNh!fFw%=Y`+Z zMBDb3YMKR;tiQrBtE?EShlooL=OSS1RS}@TtcQQabwlgVXxeKCoWSPg}|`?h4$PBfSCclRh_Y2Kc1L0 zk)QL5Gpt#4Yyo;0Xgtu3kA$ZR``u>p`!cHsBb&$zz#jo-0rQ z@VYf0MtgMxVAfPAA_3!nVW~hVab`eCuu0-|exN#1;dxK~p8#ZotTK0seY!SA_I|IRTW$T+PkG#51Vy8hxyBO8kIu^UnJia9qIkhRbjH!KmLQ>v*^`Kepi@JvR;< zH*lj5Ymel7n{N8PUSKWJgkjfrdT;_j0)V{yXI_2Uec-zDa7x;zwF&#^xv#+S07t-U zFU#t&bkz!ut+#X#5~1h50mloRP|MG)O8Q47whgJ6-=zGSLPjv%6Zj;Md_YDnF%~A~ zxYnMMJ3g`fs9gqq#_z!K1IH4qbksLBJlCR0XW(DU#}Bl#O2Bg z@0*g5{=*Te*UmJ6f&fJ44S)B*&)kiFKq@x_oDgt{#0JA37B(++caPq5$clLJY);R8n6pAB|dx1|%S$hYCp$`lyfsVSoy0 z5UWtJ7=$4zWI!09LKcKED&#<{P9?S9<))Qs0yXBPeKtiQ1%TG1l5DP`r_2luC_=y- z70W=ZMTHUw3sfkBSceJ~5bIH~9E2rO099+oAy-2y8}$E(kkRtN>w;ij^R?ph6GCR#fPN*oF!N5DutV1;R0vB+ZESnG+f? zg1~lE7=v(5C5`o>9k>Gxm_Wb<6{a9uQLzTZPE?qI*o6vn5N@bg3&I^079c!Ou?~c1 zD#>^yI_A8PZf+#ddd3@ttN`*s#Rd?*NLz-{@#lvIHbTH36*eFOQb}s-(OiMZz_3Ew z6@)^Y0SZQi9f%NA*n}Q? zpMd1TqZLa;As>K}kS>c6pq+|?XuuBwhfv`UA{i9{AP%D<5JU~%ai?0+7 zBtqZ>Dw05yq2eHjlc+cZq8t^;AWos;Fo@HrNC9yMxsuA!Q+5`)tvwc|HRc=&r2}*x z6&WBdpdu5*MO0*gxP*#q5SLMr1EK;IM?h4fA{RszRS1$?o)cI^NpR!}+_cT)%T+ep zTtk*o(sB$!``iLaan=MONe1M3@hCvm0EwS+DqwCQ#->wdM^DS_ejhsrx>d-KD$}il3uZJ5JUj&E`S%*ncR~!WZ)&M9k z9DyTg{g5}zdf3zYskRb%VnnvG;OS`I^1Kl68-Qo>*bu5Do+_Aay&#duseFGyya@1{ zfE%n5xXA1(>$*v+@b+~6TH>Mw`C{N}fj2Bra%QwHe)Ored7~X+#p4C>62NZ(KBW}y zexquANA;7nCij+gj4X(k0$vBW0}*S-)Hl?(C}3RhI4^^3(t`X6;Ol`G92yQvFB#T( zdAs1CLc`vk1@SV#8vyT)f3#cYWU`UXFu~^J;4a>OaoCAF349~)Dd%OyL&d+IxqZU5 zjPk2ikKgTZtn-X&)wuBZuIHVwdxtbo6#%hEQq_PI0xb$D$awr zk4$#X=mhrw4P1o4LsVP>(SnN0AX-sT0iq2Rl^`Cak}^42X_LZZG;jq1?Wm{*@g$X0 zp@q)R9cX|Ifv2dr2I3hqbB?3y$>(UG1_GU^xB;RI6*ob=Kt(Nxm#DY};uR|DKy)Lw zr_bnY*@FfeAkd47Mi8%2aT~-NRNMj4hl(Z;Z&A?prRGTFe=(Wd_=_~5F^OkpNTG9KcRtk2z*95kQbeyzo3B*2#liQ zDTpytJOeR~Ozf&_rqQ| z5Z9%6<3$1?lVnrIz`v*);?oe{tkvT9vBfsxvK>R>iF z%Iq%gwx*DqTc$`G%NPWOA^Zcv+ePIxWBYbAd%tHJ4(QoJiWA}$5P1#ZpAhzB57N9I zx{POF?AG(~-0Nqkg^Rp_IE4a$o!A-HbT;qOq4P)l`aIf6HX&RBqJ7l(FNoKqt~-n$^IELB25$@ryN$q4d`ksp0jN`6A+h8ct5?lX=KZgQ*dF?MxgS7G8p6qMa9VfU ztbqHOa1gsbWj0@%9()HN7QprUS#Q_wO`F^h-FTq-*mn+kZU8tU1Aww8uvUDSraqNx z6y%@rtL{pAbP!NRAgwB{h^BR%zMbH=Lv+od(vS4qd*E=u6&l_e%kDa~?K8Re&DsV( z_y*Iwd(04UOu!K>R*jjwmcDrUP2iNfn5|JNJ@^4YW&kOae)Hb!*ZoCm4PtJEd#&{7 z!C?UL0BQ_Z`YL^x$o^Epr`j}V8AQ*01datbsh69vr@M)aB>%0)yf#fn(4t$0I~t79{zZn@ZkQfpR^wx3i8SbpmFem9&Y@ffnx_w z>=ETxb3-?UlCt9{^T@j(&vkv&J2v<4J%TTQa-@-rH=&OkoN2WEf-wkip<)~aH!3DT z5K!?I1Wy_%P8hugdC|Zm1o%+#9Rxorra%awVj6@XDrP_kq2dP!;WSdFDLU0JLOy2- zNa86F5TObwX80_M24+Esp>|9OBE(UF1tEb71`v{{U<4tB3LFS&q%pAh0iPG60jiKm zqiudbKo$+KfRIB4D~KhiU;`nK3U&|*sNevx6cwBx6j8wiVi_v9K`5bu074lRJRnq1 z!3$zJD)>OCqJkfU8Y%=psG~vq5)wLT1WskKj5==8g26fKI@>6C3I#&aIx|4|UNa&ll= z4JOO&9+nLvLT)4YnhgBALr?y@a!bHt@_%~J?;)bKlLwRO|7rU3&3EWI1@No^kEzG< zQ>QxKo2+)Z>Q&O0a_zq>w-h{P;359Mn-sxh{{LJMGG8DA8$4^lebU?KE z#c>~EE?PNcJNcjUsstvB|6y9dqYR#P|NlHHh=+(-4<<3s3vm(c4^Q9F3ZK4wT5Rir zT}N%vawy31|Jg$wKdRudTF`^MQ2dY4tp=tIU}C+lM64^fc-neluZdq4^Y;ZRhdzs` zgU1>?{x({xUw!O;^^W`?pEo2ZVD18%w@Iy0!h@8*5%`O_{MRenDU=cE@8`>JNO)N+ zXwZcGHo(VS<&jE=>KS<|e)p^6L8Gw+aV@|%0p9llb3UExD=FlGxZB5wclZ9_wATr6 z6GKLeHt@EnYQLH(FFoCPQgfv_yqNmaP4I4t#_IsT8Tik77QUfxl1Ka8gxy)v zI<*$&b%D17zNq`Gv2RoF5I=GAcClK+(29i(E5Kk6h9p;!YQ5S%+16EF$rs;7!9*ifHxaA6Ub!tTR?t?@sa;Tfl@CWDFi>@GPZJxK1@3 zU854_`QrZ8Oy^xc$MnNhdmL*R)f4rCF$2#o@NkzAOiVv%S9J_{Ijrtt{vUI{Ie6T_)AQrQ zGNMdim)qNe16{Vd9Xopp6M^odhmFG zXRTXQt&eYLRC~G0cZHqPix%);X+38N9`7`Go&0#G%66H~+a>4n9t*4w9fGm&cQ2qO zD=_&$K}!skcy8X>bA|J6*=xokx6*|?80sn703KiPR7efIOj?rOc|L9QrnBym7gP@s zoeAeAHES^V{iop{ek1Vyz^^QD7#I0|-S^7Gm7&%%rMUT(n#*qke86v>_&*HjO=S}p z0>KdNcZHPPcl>eyCfskUyP?*fS$zJRPg}r)0H@3*``at^q#lz?Gt{q<>{6oVji7^A zkqI0O!L;Qd>5U}^o@fV0LLdbsme&+d7@<;8Oj27@&V^xD`y{ zU^=(!00T)BbM~O$^>uvN>Q)PSsI}V$o(S;doKH0M@SmvYv|Io5qs7v5|9X&nq7-$l z;Q*#cFnKt9DydsN-Vh~qzdG~q)o=fr5DyMo5g|0nBqFVe^N?1O|1u-%Z2t5-4)<{0Jj89iU>9Jaqx1zVN=q6 z2D{HVjO4uU((eS6_@C%$6eU8Z?*cX!SeeT;5)Y%-EV(Ct(zqwGq@S9W`ZHl@4cq{Y z19ZTHQP??pgzJRpvckGD;{#NbnijqA+yUJWs0G=>En(Pal|$M4kCz?2Qs*ut^c$hn zsm25N1He-#lA<4;m0j69QponGa?*oko&lK&(EOgj#{=Ka&an86_kO~O$L9Px&%#zO zhf`(onOp3@3ZOcD>j}V>cCYG!6Z=+ z3ltot75;<)F~A=J_<`XN&wh??fbaKX=b8M$lnka5g+*p2 z$}2HKTC(MQU$1RLO+=)We_R3JIt;F{M_g0c8fy>lmez>M}0Wn zH@%VRT%zx1d!p|80wxS~_CzLHBDhk)^@#bmatFD&mkBtwm8nW`gEBwR=VOVKQ2r%iul)uPPiY}0wQF(iF+u*?<2c$RQUC!L# z2?aERdIQCnY~H$Af1g~f`l3#yHr2m2`;p#<;=_Q?gw#79F^cWqFEn<_OX1r!QR98o z6GcspqTzsM0qT%g!M^p8`;M!4e{=T0BR~E@Bd81LY+#SaQGUHr5EMW5aB`wkm-~g) zKX4@E%>kCfm8^GfwXXH@R(#IM)RrA{C=;!=y8%4{=)@iw*<+mhvbObfj!&}&lp#HU zGEuqp6UcYxl@+Z>btP$@uzHYaZg zBfoLdzrOY43dOD^NOv;Rep?c4U?QL=5R{1NQ}>ADzV=?szt~TQA%Ls=A2tctGDsVg zSf!s-eECz(P->At=3}OR(1U=U1hlm!lRdUH>B9Tk0mf#0yy`#bAwbKi^Iy}|RdL+w zM_1Svl|9XDQ+W0dn+)tJNb56hBbrb76}Fo4OTs6FG2ngtd^i?H%3**{1N>-tfhJ=~ zok!|{!XW*#Hnj-)dlJA<(G=PyQRB4SIU1C6n!6kV(z{_Z*GEO2uN> zkQ%20ejZstGA|NC-b+IxGT_h!$l#?ubMWc@ot8fhM@ILJZaIdWZgif>1m+?zuWYxz zJK?9B#LObSOnYgR>>QH?%q3uUuRFq|a?^hOD(`c;LRoBCb4)fcm(e`L|45VrP{seQ z&=FuNfe9$`9w{d41Z&6US-y%%-8)xUE-+QVjNfl`Iuf_RU~g1ii~HJ*t7&&Sc6b>; z0_aLwwu_+TpZD}f;aD{o8{_@z^n)60K6MBcBvwdUBi)Z~!p(b!k_Y%zzMK3M3AgIHsM z@qwG>3)kj2;MW0Hd;0ogs@)o?1YM=) zu~Nw07dautV5m(aDZD2vA(nu+1@6qE*TxmqDe_E=oNprPh`h+?{`12oL9~Hf3UD33 zzSfhcciKKchnj-rVWgSt1rksL00V4JxW^LP6O8joQdO>H)8dto1?<*~i4ESsJB~OC&oO6#xeJWNc)!3jQNN}LZ}X)(v~SC{ zIp`cf_W+vQZP!7ev^X^vX>GPF-x@;sHAkHX>ON4n4oy7$u;)(4ke7M>QzM?XIpzW| z4}eh_B!nxuAulx@MQ@q?+`b=SkWCdL)cYbp4*}9ONEwg_+tT>#q()KD<5!c^fiO3e z=DqZ|1fCY~G)A1$(5ZUmg;#yFKU2f}^?!RVgQpcdN_9a};zGyey_`~d*SEwSSpDCo z3NW>S>B!W2iz)*ZDbe%r&gHgW-v5$!}&g69$PY7V|#0iPeEuY9h6Xh%ggh$m^Z zZ&$$Qjx-Wa0he&DA}2GE32Ig|b)s8f-ut1g%3+BH8d>8P>mch(rK3!fN<#*1z|NJAn5Ajv@3{p7^FXv37%CB9Zdz z-l3NZ8k)fH77X_nyJ+n>b1{a?)~BRy@NxEncr)PrfNN|M?J`~VI>&_k`oe7%@y`q5 zcL9G#UCw9R6wW*eJ0aavu>9?eHq+*R^25{k zL%@g9NFO$FiIR4hGqH1_d0HUwA&n$%%O$DqLYpR9;n*weEmpqfim?jlLO4z1Q`gx^cB*fP9>^xXsIz~p?v}nR?p@Nl*TAK%eVF1SJm}yg3 zMSSGbX3DR#2Y-Aho`VJfVg!gogDI$zO?yBYv((9)LODBtKu97S()#xR;pRaq^C=9L z)`B6Rn1Eu~K2w~`_U^0hZ6V_acN0e8$BackK$scA{|q3Aiwr{?5AnapB7`+RLYM`@ zqkdh5O9N$F)~@ytPG1*H+is=b<{SZ-HJw!Pj*%b!WZan6BcI?f8|1iTrnw|!%Zv!t z{Yc1^$CEJ{184d(FzmoY@ADqJxHi_{8f)33DRyfqWSHZS7k_i}fy+0lhK#y0Y?IEQPYu zmw5ftw&$Xw$Y@5X8K8uKa#{P4@@pKYOw<=2T*28f=`;uZ07w|1VT~v5`-7M&F1em) z#-6-~JU{VA<3P>=FiW51NF3jFqd z$;pJ5We4U_zaW(;KvxE(8>RQ1yy_TJAg^M|VKon$1xO5_k_`?FlX<}}r+H%;Mn5PZ zjr(05rW9esfvL=N#a%2Fmn4oq&{|?gPRj;}b{${=k^m@`Wi4g4zmD0?kc*K&@8%tE z8U*Kv0U$|$Ch?|go?`= zVTcPt>;NhJffi&qfLRJm;=ng-R|wf4~^ z)19zRfqfcYfS0F}+5%VviPYaxD~9>ig*Ht2AgT(fiXER=H~2h%RL{tLYVUDVe`+FM z4DxiYn$F9Oarbiz@ebSNB^B!BjeJHjAa`LnwfvAl4KnZu?G!#8UvG&S@~<1*CK8Ke zz+tEv)Y5r*AOn$>Vwaz5lz(7|`&<$MNTLo&wjVik;Oyt6fdOQ;MhQj7lhh;~P!08T zUSW)!3o`Am z<&q*M7%E4!UgX~)^#sRzd$W*QFP_RM}J< z?b5jCa%eBqJM&Ue&o?qoMIe_B-`vI1kb$9lCDW749A48X8I) zEO4qt!K({i;`Uta3q^(kEA8c(%vm{U^^k#X(M?CTa{ip2oq>^acCk|UCejM<%T2lP z#GWgA>3FZQ?0#9U9km_Qv%Dgmm+zl$rKVv(hpaf%VkKnJW(+(0+~L`WZn@%KqQSu} zNbxJ_#%gf5cZ54EKT#`D0=#;cvx3aYfOXps#GcpI|JuD_*=cI^&7t}F>AakC&5v{qfGY(l9lB47+I|B_;Jj>n z~Dg3}P3moHN&pFc1-dRbc@^qH}2@j?UA$Po~Uvc0N-ghBNh(x7}Y711|*84mVk7z|ry;VW?{|dB|f5dCX(9Lk8=r*+v+< z+uS9BcOdH&lu-a?4KVR9@q@L6i4(~ghgQcs79m^aznP__RtRJU(2ZxeR#?Ay-o@}$ z>74!aj}`<%%7W(rMMz}6FoQu0TL#QpBE7-Nt}UEf^gmIGr+ z#}NNOziX!okQG3pT^qU?_I=yX-TZU;ia^(=bA_n^vjLd;3hY?T?X3>>$5=8JFCS2! zW7L7M2Il${pYE2@nv@My22mkDjR)o`q(Qx;HZBbPu8<}qvH@m5N-lW$(yuz0*HVvP zX>|A($&= zu1Y!pZKj8QGrw!33yd8wEQ%S$=MOjkd>H4Jx5hMxd#(n&nhoV3~1 z1P-~Rle(5LOH=nXOyPhlr1pII>1yp#!xq*`x9?lbmmEPZejFwqRzc`a!Wuw#0vdfa zT2Nw?A@e<#hC*z2ti{|sW(LeIV8|ac*Q9wgu%FscbabEFmiRfw92mEB_{N`>pBKj4 zZck8yM+3SSG5J0z02vbJIUd91Bu^s)S?u$OP<7z%gF_4Aw( z#0?;P!5}rIWpVzRK+cn(k}|h0=Z$j)Yhe6(!?rnzyl5g319 z6q`?Q==#XiRm*H(T09)Ge2%dJCIA@o&r{!-BqLAN>9;i0zboJ7F*let0Tf6F{b7E$ zz!sPw>R1xu;-L+l&2TI@J$r^ENkm749UKaQR7A-eEU`<@R4-aTO_|*z=46C4?hUOs z>;Vb|=yY0s{E+Uz)fNsfjn3M4`|dfTBN%ss@!`?YzNn#woM_$Bi5m<`!iaG<+<$kvhlY8(hD1pb zce;m#xrflV*9rVl;NPRzFFn|}V#5<$lu1=`N-E-yf)$^KcZj=Gha5@j)_q`&D192R?7OFD6t?}r z`IvSQ#JUeE?S?#FEL`cGrSP{J)Xgm2#mMeGUw<1LZtNkeJMz}K2(crBgAWtr6&32e z%hm7ino~>P1*OMA=|OGrXPxujF&p6&PF{;q{EXORVO&$sl&gP`pSK5+C5&!px>3uI z13SY$0k$3PAHEPLBTesiNf;ycIOsJvTmRv9hqCvB`QppUAC9f{SrkeKWj1O$0=p8i z?}y5}Q%~4`B=A5I5HSZJ!?`ysXSQs3Yupr(wTkIGsRr>MfQ7j`?WFxj0#B$xJopzI zOy499SSYMgyQQJ!e|-89yAYyC8F(S&<@&j4aifa=pu z-GBJK!Ji2Be9dKdvwAN3Zk&1&U7Dy4@8lEHc?IWA-QO9EFx0c>Q_6!wz8;B8?*&{U zB-KG?+%jKCdJvN0%ca?RG7^R?oY@UGSGo z^?P_Ge_%CYdoCQfBh0+B4Dq4c@d3abPR~xwmM0n^RX}Wka3}?A3>#cIi2+a4u1+!K znN8uOWN5zuk4)p#ubKq`mj3%#M@br{Km9tJs6lYU{t3kl-(}r zr+B!Gt8B{nrZC5Z0F#~$-|+lzC={R!NW{zPHqGxTS!~(z_@fO*>i%4!FkmwOyD(^7 zI51fY<>5gRp(h~%plsR=iqv|B7r!hLj^zADYSgtGm?N|W96ky}E-LnbKo&~WU+ann zag-*AF(C3Fuhfa@{0sYI3*>KD#4=R&yqLT1?gi!;Fjn3_z3o>>8J;t}G?+LMcW92; z2TVRN9*2&J$6L9st7g-t{KA*%Adi6z$asL~8tS9x@%a#O9`(ENv5=|&DCzBCmG%8^ z(#bau<7_=$Zq5}K2TUO_GHXt&VILJ{^jKT4rssYxon!U`Qv^)5Rfn71gS>S^t@ihM z7HvK~uSN#|Dqa}+eb0*rrUaOS&l{im=$5PwlK2X9*%Oi$5IPSQzc04R*sI4hF+7 zCSMOrkk1&Hlf}?@q`rn2#E~*6{C41t2vYCiyaxei5%9xGW^8}|(yz+gnuRP8se+d_3aQ9tZm8%uG3CB>h14wVrtuiH}E#$r>V_%FbgS@N>X# znRYjw-F7ToXS);sR~L!#CkcNJqkA+j%FoBc-O*R9cd;KH=ixCvDQw-8(x*pWk1H$* z3~ZW7EY73IWJZ&lv$qr5p63~)t}*lg0xnSNXf{W_M)z3KwLLYq5vjJzNx%iyny$E{1k4JHY>*eMTE1z8*1nLaFM4EoUffeVLAa9G## zdgkJY_MRHNYjfqvoC^|vDO9Z&!;j_VPL+{qPr6ZLn=);^SkCV2S?(RY1%c`coG@4< zz+xf4qogQBx#!(m!H3EnMg?6U9to&V|MhTXJBroFa9AY5VnzP&y_Y;UtlpkEtiNw- z#YN(f2nSM|NUzV{!`GYXbDDOsu>pJ1!7rU2I*_M{~cZg@fdN2vVM zV4+bL)0TclVdIx*J#Fuy8JWZ)4cq;{7HAR0c7GH~kq!%nW%4%l9iwvGi!0wvmhO!M zB^^DZX|^7?VnK&ckJJG1D$HRVMfg>OuQl5@(I9V29iKnRAY)d3A6!9P#RlvgPmWyC zCOC%ZYlxOevU)$TDLZ3r@+xaGm)wa2U&9g9Irz_`oO2uo88E0AotUG|*nZK#CA<3M zgiDUZAOkInDGnHKA9DG__CoQUy}iZTi4!om4ui!XqRqF>(KjC9Jn&g-et|17xQ-J1 zVL%;#f;Eu93!$T7a03R1Z_l#49Ar^nDb19$pT>Gi3~pfP|8E8xNTnhsCW8HV5*|0< zF+-34>&oKI3+nm&!TV!xU+^WjNhN9O6sTLE-1LX$=1iV*!Gbd;_EBh)7MU<9giZsx z4M<|Mb;7Vw)||=4?+)_$U#?4w&aW|mGXDVy3v~ui7N7{t+0RoO!fOsO{D;)~U2G8L z#)$=V2hfZU6+7-%=^c!T9#w8_-`7$E#eumCX71B$`=?v>^ctx?WBunzFN;MbItwQI z?~HJsYCM=6Fn;6L>-WC)w*OSlvKcD3YYxehO`U_PYDcw~{;qy3ccue5&Z#>LUj!TZ z9K!D*d@DzK@A93xS>j{p@t#EA6CA2&Z3WS`EH4+bgXq}vh|NW8zp4HkPNlJI zuYVuWy{(xu$BzW(hLTUZIr+MgOnumFA55(+7vy;XarY5tQI(p1d-aWYsi9|vri`E7 zn}pp*!$bxlNXNvVT(sHaDq9qK5upzd8oo5|*7eaF<*(1LZ!Nns+mnPozzBw&FPUD= z^l)H0v7E`B6iFvRo|h2#5P@apH<_gye@=YuJ(lC`?A1!l*9({gFnM4G%#KT4yL*^! zU}ddo|Hy-1r~x?Y*%ccBng}!>=&2Yt=7sJHrv|A(^{ zZ(T*$b80|f-jj*7I=m(|4*#%R7D)#?A_2ZSZChg+eL`dHNT>{#;x-hr=RYdY}wfZiS z`b~y^(7II3x(WOhwMG@uE*Uk!Z56{K96wEeUdZcqQl|UlTSzZOdUUo$s`HD}mY%T*vR|vcI}y z^o;Fg$9gvPCY#A0&&h1WNP4;8n)@E`D&U5ZN%6)3(JL+wNvzMG^*D?;%WwqK0jj96 zGvR~+J1>7ST!~Jaji7Y7@Ti7|Q#e^isHTUy(^^A~X1S856r9;;;Dpywf|bF} zc>tStusJ?5MZai-(P5_gBD3%NP9Gq<^d0(6}u%|(pF~8&L8#38nl7{jD)dHHS9=$g! zPim;W(te~h7c!5))PZ4@MYWup7Ih+jUhb&Nce0uYL-N9PcmZ|C?Bm}d;aRy5 zM)hFY=B?(wbsju6*EihNIdFy8$iQPTpTMvcmWNiYp8V}twe5IW=BN-+fu4YA0OR9b zv{8L?O~xR<;}h$2T)A^ZC3*_z^B)k+2n+NK%$HE!R#nYDazzl0w0I8jl}tk%q18w3 z1w<2-qKT^p>JWR0h0XBad_;4S&W|bmEhn_4%EXtplRZr{#bCaH*?rc0_5}Z*bNr(W z6Qly(vj{^UswH5)|HDUuN#*qlObeJ2j!V}E(cvvqRNW(3M)5y>(6c9LuoU1AfNMT) zRt_UisqtQxg{!o-|G=jP@GJ%mmH})9c-KnVQ?_CVpYN;LUH>&}i||{XH24}|8^E)Z ze6|?Q*Ywgc?NJ`wymX+)?+d(G9Tsc~;Qb8o@@1m{1q>&nw1 zpGI_(wpg9vvHK2SwWG%K(=pL+Tf#U zR+u7vplMUcb5j~5hYb$AN($@%XfWVa?X&;S(%=G9H#1HhO`0$$&uWkoAg3yvchuiH*>Zb^-KQ75b|+J<%2_mGG+F~x z5~#$uim^`P-aOoMPj*A!SEhm|IPQp{?|@1HJ^wVoq}HXtRIP7y0;9z(Q}EV}`(o^S zu+m`TzNtwppFZKuy%@=Kxozs6R0&>)p&x+C08LapnYu9M{fM%en-a%NId+jk*8-)h zWi3!ypq;BXhpOK+R0l}zzmPcd5sdu*X6nHx{F}kFi%(z_xx8sw66(AIceUiL>Hc5? z5|j`eb-co8=Ey|~JqC?3UKmh0kE{*NdzKu$5&P>B6_Q&^xdZgbG|99`SEW+_CmZUS_4kxwIYRKA0rUd329;c!H3RDQcSu;H zzJXB#lYHW;-H@~_B`8*_$)rX3h7BJnx zj5%7m$;=>mN;f5kSs#{tUqD9Q1SKNP3Lp(JNQ@B{s1=MRS1^U74MGb6I|4_o@}1JB zzIm#CR>fC$awAt*x^^%!oSb8LZ}w0F(vxMw2fCzzgK(yqyPCKflRr4Oqy zzYFQ73}Jdx`Q6+<&U(RRDaYq|CQE}h-xn5&>_Z7aef|y!%OnX# z7mSC5$-+3l&lwrDR-O$;jz*%ELkbKNjLPI=Ps5q76{q@0Ee^^4Nv?~9KGIFw{wQB6*k300pJJ}xn&W@o3Mjy=QYq47Wd^m&E3d0+ZUs~JM zS_CNr8VtzMaq-9Ck5&t6_7!R?O1ZU&O4J3+kbf|AfmFZ@1v7p1ht-CXr%aZw{+{Rg z%9QszFAhT$kO3gs>5;xVi*r|x?KZdWbkW#Tzad6fFos}0{IK~Np|o`Q_uRq!Un;#a z$TS7AL#W->4Uo~lAi79ufQA85{8|0x-BwOSLa^P0N#UpWri!vt2Q(beo1cz{%L^aR z7}pS$^}ft}rikedW&{}hxoXDiCp$as+Hn5J=veI_QHeCbjQj^Z!a6U)ZJ{NLwP8tnyi9MFHCQ)yHi=y;%i zo>QrlA33Eu{672XfSmyL-{(}?wl~m;K>vMCwGpgWAE3ru-d1f@O%(+uwXV8YHi;XN zo8Jdr%PrK5PAr=YOPw2=*Yx)|?=a!JIp^?oWn9hBOkXflz)UT=?|MyZPQI?aPQ;L@ zE66M;A=3}cR4|@1cV$fbUSu4uG;y$f)J6=UN(e3``hzh6Q^3;D4taR~^P-*3!@2W) zq?E{o81=F|c}6~cB9tWSi~cPDxx52AjX80g#-*l zfGJn-0T}$B&J}zB2LERW&KGj}5Hq==2Wkgn!7OA`T5Hqmz3XB5QC5leO##MfoqKCT zz|97C+OT=IhVsk#63cG5ujaM{bmoSFn*(mzxA^TUrZ++#c;$`Q6`j|MbX#|CdEdzx3H<(E*FQogYBesVfX} zMK_O2t|=Xy*<>1ulZTf#+uO+lSL$7v)Rr-Vg&8dRJ=3|TWH98(^fiN6=I?a7<3sOw z%8VfZhXI@quzovdXwJ$$Ikz(}#^e0dOHedy_ABmabx5{oNr*l} zORdT%a2DVuaJPA=8^m7jm0LA0)k|()=Ms(vX9$$57|Cid+W~1dsq=qczl96`$nxD)h zVLPzwe3*7D4leqcm@7!T7{g`Rzg(7a)q4KLMPMT4G6^or|K+lrOK#l>%EDoa6^6DE z^O+2v760;C@xMxg6EeL{Q{b}luP&Ihw({?rhANGi%T&0m`l|~uS@l24VvRL25$q)s zxU7bYnYPX@K2PDegeu2UkTwlzYmjzMMRV!^ml?gx%`@bKKiyhOT`EwG-84b#XbN=g z{|lWC)CTD3RZ+%Lk}IFa$i5%I?@%Sr=n8z*a7|_-D8mfUEH3X>lC&0wK8j~znJpZK z53Z=bJb#8u{()JX6|Y|6I+Ywuk|Y!ZG_%0jfx9T<6Tf-z0?peWpZ0U`O8g}1)6NEC z4~EY_YPHZmkk3z^xmMzbk#a?&h?)b6O&uJONwVKdX1ALg?R9&jm$iyO!c93BkOQp# zdRK@p)I3m*pxBLk{*RRb`)!8aT4OgTW7%U-erAB2{)9MxQ1d}KgVK_GR1-CO_V7Y8 zx!xJwZkmV+wE)aIFt1f(ZnhnIkpDeUE%sflq8wq$1>1Nb7#A?Rb!yurvs=R6SzDCL z?e=sb70HFGrcIur@bY2Vk|}|%zD)99j+e8C7dcqHSnCDP`p`b+@NtFDSoy7a-1_SH zexb9MB$Nij$CXR&ZsP8Vz>BgHv!Ew3S-`@LoHUhXyYsZwWz|*+Uv_4R6nB`%E`M>v zqU2sgj?cRXvkD_M$%>GQfgNrI#sdsv_3HB2%uz!=miZU&efdcEm01(P3NHe;o;vIH z;Vg#mL=b1<$r&3*%k`?=$*G(lsIrq7+X$-n5-?t1B0YNUNb%QHXG&+gJeDuUyAxy> z?sSDkKfxNPH_$~JDhrjll5I{yB2x=ocH;?E0V+wqzilZ{Ngr~3Kd`5!aJuX=Ec8YE zjZbe4tDZziOfSForq9-!Wul6`9E=~B#^E|l)9y3IyZqFewQIZfZc!Cl0cOMhW>$jP z23MhFJ-(uQ)a%X;wxroUQ4LxJ$RCi#y|ATvYVlvr1R61S+}4c{F{{A@(0!UU z5SwVR7Gg6kY#;(@!GZ{)gy89UTP&cCu{S^a1}$1Eqhh!rgK1e*h`0JkGpNV=$qvLu zwgb8aW$LfkUNP;aVN;uf(uwWCAL1xf*bM_}4|FTgWgqXI9J4mAY(a9qq)*Lx!L76B z)UG4lP_S&U+rUQNbuMcO@9!bU;`2vGzvtd3HFz7B+@5yCFtt0A%q{Wu#(jR_BYbqh z9N-WPhr}Um>>>6UW0zHwKUKLYiJOdcWpV_w9gO|R!!Bov>sgaH@u7I>r?-yAjiKXcF`LCEo{& z6WkS&PfWtMiK+fIshYwVvQ-%PJdzuN_8@4HMcYIf{fXxWC5}ysWm#a#=N_~kJ}feg z+SSL<+1-^)0%v;Lv24k0UrcO)2eEL6#a>v*7KclZKXf6V{M+5EO}_XE))#uLl|FvSk1tiGP%cWhbFYh#_^fL%*PkQbm(Kpcb3)erU@ z>)X$5V`Sdj>b+b*f_3r+#04~W&xHV6iO*l|D=i9tH@XO;H`BII>+J(33=IEQ=IZUr zUkm5dZgBs$bGXX{5#$Rf98ku)!nZ44SSi149+#4rczIyQFOKjbaX&y2fWBTmU|WAy z_O3$f0+V3v&sxNYUjGeXBEgtiR$1GpwVMqOx)c<`Eg&tikl6_4AQ+1~>y&?nX7f9? zeH$egxNJp=2=WJX2oNVyt>FrLL-*dg`xxN?-Hsh4>rZ+X*rx%2cz|px9%OxKY#w=G z={oE9Bj?Z+qM1!#4ufI$)u@+!{-Uzq;7yX(&(G;XH3!r&PNSQF9s&A7Q(AZF?kR!X z=@!A9+s#&J@@Oa!P!yoUNm-{Gj}|2?+t_mExX%Z?7f70shXd3^P`n_ZM}aa{=9{cG>>PM5Ku|WcQCq>B0MmGCQjV13EYmZ32G5Qb48_o|jG$24z(j+&X*KJu z8El&=Fs<+k{mr=`)U&Pp%1amZ1q62^~ z0P1#ZwcjkcVd*Ue_itb^0FTDBYzYeUhYWN#}82lCRZo~K;mfg=u?3%2x);@`S`$#98 z-V8^8r*RMQWVCrDs}z*wqOc&H%QO1DejUUCdeu5lx{5Rqz%>=q`1tWBT>`jiAYKYu;&lh-nzcYFUXckbT ze$QqUHLYRK{wn<;Eq(6RA)G(iSg?1%>g}lXjdeKPrm$eT*`WxBL&R2!k&7{;J6tj= zz}4BuhrG#ztnALK*48 z=q{H-9{6zewR7=j+PQj=$JohpFTSqgvmDOCCL1=gi5HVHH&p8KdOs*s-*h&d*hn+3 z!zLS-<%0em<~WcEw$u!2Z}K3FomlTK9#%Q9`c~6_fWl7m-64-S*IPpackHIT?uqS) zb71d*9Y4YI(U=f^N3YpY$1QDUEtLEZdmd~qSl{!3-I>e7YfIn9O>0%%f;t4ITKs@CNUMPtF&*+47h$32Cg?P>te6A7yU(g8| z5HD$Q9io^PHy}!AaTDSdEp9=S(&9Em8CUSRM*M$GCuBjqp~W4Dx3stmQBI3&hzeTd zKvdG=9z+!_av`c|aUY_FEBIU^{=cIW9zwjQMIOWlTI562(&7{F5&o$!zXFA~-#1~o=K{V3hImB0TJ&MmY;(rsJ@Die#7R3zC7>Zt>T+rDE>>)3GX4KY4HI|1G(xD*;wywIEt(+6=QOFOoSGrJg$X_$i2rJI!gmOD zTC_lPr^OEl4O+B9Xwsq$LW>sd5IxAI!N&vfzbE-meLN7N7bTcff;OGdfdm~ooNKh=H_FfEYvzMF>4w zC_(5`LNJt}j0J*%Ek!J7J}}8o#4n)1#19y=B`%X!Siiz z9lGFAnv_?+mz>HB!pNmCJ(5B0&$yEdVe)W?8+Aq`#|4heu823J^7?Zqq@&~i04{jr A2><{9 delta 5870 zcmai22{@Ep`=1#z##o;*V;fmRwq%d2Lo1aeQY3qnC2O|VzLd%~bZ8SQ>8&I$PbH$o zn^IZQVyPr4MTiuQzUPdtuP^EUpX-|In&lGZ zriFxx=|qnH!T;!+p`Ho#yN}9kicLy?bi4K5oph1h*vf^)=UfomJh`T}R*&ry})-8k#b%OD+(hYT_Ba$sk++50&ODU-{K`1;ntJS?r5(pezoMa0!gh8i$=sX z!)VLVW-|W1H?{1NB%2*NH5B$Fjqa^*>}C}x3&2YnuN$hZ@P2u|TOn2hr;|AX=mdeQ+Kfhu@4;134Sb& z77>e65)ynqFZ!#}l=yva?BBmX1V7f8~Dq|CYjGt0`$9dSXHBeCq6Tq?St8{cOaXIqi8 zrqELfiPBlET{o(&i-~{CJ6;IWUMFB$N@0Gr#?h9L1chqRM*ah_KRE=*xlh43+utSJ zy7h3&WQpfsli&N=t3NqhkkbHtKIAlWFC==}b$+ybGuF{Eg>leWO@i7AlEi3qatQ$U?MXGjTaT za_xnb;@-k$^XvWTC-@9M45Ol+L@r@O<%)29j6xS7HFuX;EKkt`yf z``zkE5pkUef)}-KWU6@Y&NF+w&rDxE1l2`}9{jqm$q_N;St%zo6pD}RQ#-_h*UUU5J2A!68BM% zxvK&sj1%d|+&M;1jT3hw^URnGiKJu!>)k?h=PHubI`CI6iHz3dlC+ir|A&GMMwkMY zSFbFV*H}^5HK20#5v5eaSk<5|6Ua4_=!jmitAzr%%YSTw zDz;O^;(?%1VO4lc3fd~d?J9#@*V$Ekd~By)G?O~rURdOXGWEC@3nFvb0An*4D;8mH z7Z%Rr#=$|eB{%Q<(nHJtgfLb^(+X%hZ}%B%Ab#nOI5-Ne=aqt%KS4B?$eVavygv1_fkajlHHXj z58_fucH_G;F0|yMRrTDFi;&S!O4-#H-qd{g>pXA&F7p5lpSeZBiEa`RIKJgJrM9dO z`go}^H0=4*OE)R4RQAkI0$Tr;dsRBMMQe1FJu~pYY~wY8z2xLICJ+lDuS803zau0G z@fJ^~xkMHXD=DA>A><|k2#qJvg}Jazf|HGhRePxhHd4{5ASj+Bh6aa|6$Oz)3i^{$ z#yidjJc!tocyS38Xhm@|(1v8PkpNPlM{e-FXs7HPCuCHbyu%+bS!4!SltVT^YQ?*( ztWND^?eta(eUYwxcoy21Lk>m!Z?`Ybt|f#O%GbK)-d7QZkf<~a-w(qpt6>v4A7=~F zS(kT#$FkxReotzlbp}2av;c9Y(i5yO8|H3Op*&#SP>nJTmu<2Grjm z*J0~1LDJHF8MASE;g~{S(ts_xnYT+ygE)h$}NrN2gvpr9ufn+n*J6`$VfD>*iQpe*NZyp`+ zCjzTxay-&e&Ew!eSBD#@4WB#3N|vk}>kA$L|NX zwgZps8e|RNGj%U($~Ex|GMn~NXd9LdqhpYx9?xhvCfuks6nZmOGRI8n5A{+TM zC451@v+ww1xvt1$@*ou?=ut#LycdNCHh58Zksc+=syn%r$DZ&culbgjSNdOE5ZStS zI%w;^9?1f&Q@5YKbn64zo>Us+v>}#wuMU>@pRF0Ckn{?Y{^(C+oPnf1Nct@jmLvmR z=S`8oBM;83%(_;uGANwa(ULvvqx;_ki6CnS)`9SoSu(`&M)`Br-BUW9k0NLB`W+NO zB$gTXL0ePWI3=dvhI)^0@TZh<3C13RvHuVM#Xf)Vr-7|L6jLhuJL8FZ{?NmNdD*&~ z4!u#gWoc#7&>A1gF>YjH>h+2wCbPMJ(>l@$^P>-E3tD0z#S~GruRWnx<``CH-LQx# zcOehOYTZ(KM4-NPL(JvXac;&toNpY{C8OdwlpY}@iu|fKykRnruwpTU zjIi`=^|17(Byhggx87_>(G<91UuN77bc!i?Mqh5^M^!KAD;n2czF*&`&x})pI$#aL z-r?b9qeBA+Xi&vE(tWQwr93T&r1$RiS#H2pLdisOw%D|Zx$?=76XJxGMbKxUxP)Sc zxKuA5?ab1DS}D_aYN*FA8H~bK?7VoZE49rhrt(S{G1@=p(b{Z;8 zTVDO<911dFtFpp}wbrrQ2iK~6IT89Sy$?J;Nns&=n!+k^GC7$?4(R0d9sLpx5>8R# z5ixN`k{|De`!eB-LmENMD3p4d(n3H!^o7WLi@L9AIP6>OCbDfM7(GJ~H}HwpZNypo zHE`7=jYg=~Kg4z$9(H&3^fQ6oO@-YZ(XdgBWbAynrQ}fyV3uL(gM)G(=>KwW zY`j`%o$yyw@vmw#sNM_J-KEX@&*~Me7`yZBJn!ZbE0B$;m)Wsr)_oj`^Ka{9e}C*7 zxpQ#iuX-lbr$fC@Rj_eNpkKm$pG}{_Qj_k0UKm|Q?N;E_RpC2ZxaS9h1Wb*v{6xF<__+eSs%|?S-?HUcvn&gzkEN3j$bs&geNE|GA!%bGrh7IfOu-x5tws-Wj8XUe` z<{xTs^CWaBF_iLnPprvj? zY3;xNyD`;6?0f~`>4(X;dSmh_Cvc5lND5RRN7e}a0JcGZ&E_BqJT9E4nIBKvIZxkb zpUAH83Fizg7Nq4BBG{LT<`oLBj7GLi_IG-QJ{t3_mTaR(l^C&#Hq+4W3|b>mXbuFJ zrXq9+{&397#~16&d@w@*!oKssv&JiAX-9}c1Le|>B93)2N*qEIdyq+x-6cSmP=U%6 zsGJW5nu;`DWDcUtNp_neEs%&*z3%ap6O2WAvb2gNMY>l)2#l!Ec!lO5ptqcd4y08v zyE({8)KHa{(u26&Yz?ZVy)v_zZuk0vduPM4HKT!7Wcm3=_e2~wx}OOV^`%}{+P_NLauEk%EQrCnGz7bZWVrV514FrTlP_exsb%sUVJU^4 zgW!hRq^egW+-1BqRg&*rA_@`InU~%mjHq3z{kF=f#5r(6r!PW(>?v3*MYlk>V@-@r z|2{UD&NCj{c(`uc>_M0TL;3H-LahvN6i(+7&HP&D=u|9ESPITb(WMZ<{bok7*UBm+ zKfDV?&lojxRN#XYofk2_?1(c&PuujIna*mH;f|X%%!Y;$(C|j^15EbHt)!yB>& zit}gj9Ee9k{Hu|lMzDWEj1T2PpTH9Gs#%-`@hFHJyJ&iTO561^i{yPp^gtXDJt$2t zuKj)C!BMvB#>R5)w17L^bSaY>oki;j*6V93g4&~)iB3Fn1l&~|R$d6$p5>Ayz;h%r z0gJg4#`M;FRdz9+Z>(CocK7-XCAVgCih_6$#CMM`yLso+Z4){nrS_xc`ez(mA{yd* zAim~y+qu8fJ0C1EjdQXnvj%c5;`Fr49y*%YBLbfMzG3yNL=P^&^)-NBaykck$`_pOwxO9>(6_>AJhb^PN45XWx7wPYv>Hxx(ta2dKPK?3qtx-5!f% z%YjF}c&|a4EBa8aWXMabDQSACd-K*`^&(KO4fS(*Af`avoT_$J^sghG&n?;Cdo!N0 zj5cwB<^pkXMDcM^CCfu$KtiU347UpWy%PQw NLpP;M$WZX#{{trLDAE7` diff --git a/data/items/items.xml b/data/items/items.xml index 2fafd7713..67080e109 100644 --- a/data/items/items.xml +++ b/data/items/items.xml @@ -20,7 +20,7 @@ - + @@ -1566,7 +1566,9 @@ - + + + @@ -1615,44 +1617,58 @@ - + + + - + + + - + + + - + + + - + + + - + + + - + + + @@ -1788,6 +1804,7 @@ + @@ -1804,6 +1821,7 @@ + @@ -1822,34 +1840,40 @@ + + + + + + @@ -2133,7 +2157,14 @@ - + + + + + + + + @@ -2238,6 +2269,7 @@ + @@ -2335,7 +2367,15 @@ - + + + + + + + + + @@ -2438,7 +2478,11 @@ - + + + + + @@ -2458,7 +2502,9 @@ - + + + @@ -3101,7 +3147,10 @@ - + + + + @@ -3293,7 +3342,9 @@ - + + + @@ -3334,7 +3385,13 @@ - + + + + + + + @@ -3389,7 +3446,13 @@ - + + + + + + + @@ -3454,7 +3517,13 @@ - + + + + + + + @@ -3474,7 +3543,13 @@ - + + + + + + + @@ -3532,7 +3607,13 @@ - + + + + + + + @@ -3585,7 +3666,13 @@ - + + + + + + + @@ -3646,7 +3733,13 @@ - + + + + + + + @@ -3656,7 +3749,13 @@ - + + + + + + + @@ -3704,7 +3803,13 @@ - + + + + + + + @@ -3720,7 +3825,13 @@ - + + + + + + + @@ -3730,7 +3841,13 @@ - + + + + + + + @@ -3755,7 +3872,13 @@ - + + + + + + + @@ -3771,7 +3894,13 @@ - + + + + + + + @@ -3780,7 +3909,13 @@ - + + + + + + + @@ -3790,7 +3925,13 @@ - + + + + + + + @@ -3827,7 +3968,13 @@ - + + + + + + + @@ -3837,7 +3984,13 @@ - + + + + + + + @@ -3852,7 +4005,13 @@ - + + + + + + + @@ -3890,7 +4049,13 @@ - + + + + + + + @@ -3900,7 +4065,13 @@ - + + + + + + + @@ -3909,7 +4080,13 @@ - + + + + + + + @@ -3926,7 +4103,13 @@ - + + + + + + + @@ -3958,7 +4141,13 @@ - + + + + + + + @@ -3968,7 +4157,13 @@ - + + + + + + + @@ -3978,7 +4173,13 @@ - + + + + + + + @@ -3987,7 +4188,13 @@ - + + + + + + + @@ -3996,7 +4203,13 @@ - + + + + + + + @@ -4017,7 +4230,14 @@ - + + + + + + + + @@ -4054,7 +4274,15 @@ - + + + + + + + + + @@ -4067,7 +4295,15 @@ - + + + + + + + + + @@ -4099,14 +4335,29 @@ - + + + + + + + + - + + + + + + + + + @@ -4126,14 +4377,29 @@ - + + + + + + + + - + + + + + + + + + @@ -4194,14 +4460,30 @@ - + + + + + + + + + - + + + + + + + + + @@ -4226,14 +4508,29 @@ - + + + + + + + + - + + + + + + + + + @@ -4241,14 +4538,29 @@ - + + + + + + + + - + + + + + + + + + @@ -4267,7 +4579,14 @@ - + + + + + + + + @@ -4275,14 +4594,28 @@ - + + + + + + + + - + + + + + + + + @@ -4290,7 +4623,15 @@ - + + + + + + + + + @@ -4304,7 +4645,14 @@ - + + + + + + + + @@ -4312,7 +4660,15 @@ - + + + + + + + + + @@ -4326,7 +4682,15 @@ - + + + + + + + + + @@ -4352,7 +4716,16 @@ - + + + + + + + + + + @@ -4384,7 +4757,16 @@ - + + + + + + + + + + @@ -4397,7 +4779,16 @@ - + + + + + + + + + + @@ -4411,14 +4802,32 @@ - + + + + + + + + + + - + + + + + + + + + + @@ -4426,7 +4835,16 @@ - + + + + + + + + + + @@ -4440,7 +4858,16 @@ - + + + + + + + + + + @@ -4455,7 +4882,16 @@ - + + + + + + + + + + @@ -4480,7 +4916,16 @@ - + + + + + + + + + + @@ -4500,7 +4945,16 @@ - + + + + + + + + + + @@ -4513,7 +4967,16 @@ - + + + + + + + + + + @@ -4521,28 +4984,64 @@ - + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + @@ -4556,7 +5055,16 @@ - + + + + + + + + + + @@ -4575,7 +5083,16 @@ - + + + + + + + + + + @@ -4869,40 +5386,52 @@ - + + + - + + + - + + + - + + + - + + + - + + + @@ -4965,7 +5494,15 @@ - + + + + + + + + + @@ -4999,7 +5536,14 @@ - + + + + + + + + @@ -7762,7 +8306,9 @@ - + + + @@ -7815,7 +8361,9 @@ - + + + @@ -7833,7 +8381,13 @@ - + + + + + + + @@ -7879,7 +8433,15 @@ - + + + + + + + + + @@ -7904,7 +8466,14 @@ - + + + + + + + + @@ -7917,7 +8486,16 @@ - + + + + + + + + + + @@ -7939,7 +8517,9 @@ - + + + @@ -9194,7 +9774,9 @@ - + + + @@ -9655,7 +10237,14 @@ - + + + + + + + + @@ -9748,7 +10337,9 @@ - + + + @@ -9804,6 +10395,7 @@ + @@ -10060,7 +10652,9 @@ - + + + @@ -10167,7 +10761,9 @@ - + + + @@ -11833,7 +12429,16 @@ - + + + + + + + + + + @@ -11855,7 +12460,16 @@ - + + + + + + + + + + @@ -12054,7 +12668,13 @@ - + + + + + + + @@ -12152,7 +12772,13 @@ - + + + + + + + @@ -13005,7 +13631,9 @@ - + + + @@ -13178,7 +13806,13 @@ - + + + + + + + @@ -13195,7 +13829,13 @@ - + + + + + + + @@ -13204,7 +13844,13 @@ - + + + + + + + @@ -13214,7 +13860,13 @@ - + + + + + + + @@ -13223,7 +13875,13 @@ - + + + + + + + @@ -13258,7 +13916,13 @@ - + + + + + + + @@ -13276,7 +13940,13 @@ - + + + + + + + @@ -13286,7 +13956,13 @@ - + + + + + + + @@ -13331,7 +14007,13 @@ - + + + + + + + @@ -13340,7 +14022,13 @@ - + + + + + + + @@ -13349,7 +14037,13 @@ - + + + + + + + @@ -13358,7 +14052,13 @@ - + + + + + + + @@ -13368,7 +14068,13 @@ - + + + + + + + @@ -13377,7 +14083,13 @@ - + + + + + + + @@ -13386,7 +14098,13 @@ - + + + + + + + @@ -13402,7 +14120,13 @@ - + + + + + + + @@ -13436,7 +14160,13 @@ - + + + + + + + @@ -13446,7 +14176,13 @@ - + + + + + + + @@ -13455,7 +14191,13 @@ - + + + + + + + @@ -13464,7 +14206,13 @@ - + + + + + + + @@ -13473,7 +14221,13 @@ - + + + + + + + @@ -13482,7 +14236,13 @@ - + + + + + + + @@ -13498,7 +14258,13 @@ - + + + + + + + @@ -13515,7 +14281,13 @@ - + + + + + + + @@ -13524,7 +14296,13 @@ - + + + + + + + @@ -13541,7 +14319,13 @@ - + + + + + + + @@ -13569,7 +14353,13 @@ - + + + + + + + @@ -13578,7 +14368,13 @@ - + + + + + + + @@ -13587,7 +14383,13 @@ - + + + + + + + @@ -13613,7 +14415,13 @@ - + + + + + + + @@ -13622,7 +14430,13 @@ - + + + + + + + @@ -13639,7 +14453,13 @@ - + + + + + + + @@ -13650,7 +14470,13 @@ - + + + + + + + @@ -13711,7 +14537,13 @@ - + + + + + + + @@ -13720,7 +14552,13 @@ - + + + + + + + @@ -13729,7 +14567,13 @@ - + + + + + + + @@ -13746,7 +14590,13 @@ - + + + + + + + @@ -13754,7 +14604,13 @@ - + + + + + + + @@ -13763,7 +14619,9 @@ - + + + @@ -13771,7 +14629,14 @@ - + + + + + + + + @@ -13785,7 +14650,16 @@ - + + + + + + + + + + @@ -13805,7 +14679,15 @@ - + + + + + + + + + @@ -15535,7 +16417,9 @@ - + + + @@ -15584,7 +16468,9 @@ - + + + @@ -15593,7 +16479,9 @@ - + + + @@ -15602,7 +16490,9 @@ - + + + @@ -16212,10 +17102,7 @@ - - - - + @@ -16638,7 +17525,10 @@ - + + + + @@ -16701,7 +17591,13 @@ - + + + + + + + @@ -16711,7 +17607,13 @@ - + + + + + + + @@ -16722,7 +17624,13 @@ - + + + + + + + @@ -16733,7 +17641,13 @@ - + + + + + + + @@ -16743,7 +17657,13 @@ - + + + + + + + @@ -16754,7 +17674,13 @@ - + + + + + + + @@ -16765,7 +17691,13 @@ - + + + + + + + @@ -16784,7 +17716,13 @@ - + + + + + + + @@ -16994,7 +17932,15 @@ - + + + + + + + + + @@ -17018,7 +17964,15 @@ - + + + + + + + + + @@ -17036,7 +17990,15 @@ - + + + + + + + + + @@ -17045,7 +18007,15 @@ - + + + + + + + + + @@ -17127,7 +18097,11 @@ - + + + + + @@ -17136,7 +18110,11 @@ - + + + + + @@ -17165,7 +18143,11 @@ - + + + + + @@ -17174,7 +18156,11 @@ - + + + + + @@ -17183,7 +18169,11 @@ - + + + + + @@ -17198,7 +18188,13 @@ - + + + + + + + @@ -17207,7 +18203,13 @@ - + + + + + + + @@ -17216,7 +18218,13 @@ - + + + + + + + @@ -17233,7 +18241,13 @@ - + + + + + + + @@ -17242,7 +18256,13 @@ - + + + + + + + @@ -17251,7 +18271,13 @@ - + + + + + + + @@ -17260,7 +18286,13 @@ - + + + + + + + @@ -18185,7 +19217,9 @@ - + + + @@ -18213,7 +19247,10 @@ - + + + + @@ -18634,7 +19671,9 @@ - + + + @@ -19006,7 +20045,10 @@ - + + + + @@ -19593,7 +20635,16 @@ - + + + + + + + + + + @@ -19609,7 +20660,14 @@ - + + + + + + + + @@ -19633,7 +20691,16 @@ - + + + + + + + + + + @@ -19643,7 +20710,13 @@ - + + + + + + + @@ -19651,7 +20724,15 @@ - + + + + + + + + + @@ -19659,7 +20740,16 @@ - + + + + + + + + + + @@ -19667,7 +20757,14 @@ - + + + + + + + + @@ -19675,7 +20772,14 @@ - + + + + + + + + @@ -20033,13 +21137,17 @@ - + + + - + + + @@ -20051,13 +21159,17 @@ - + + + - + + + @@ -20235,7 +21347,10 @@ - + + + + @@ -20666,7 +21781,9 @@ - + + + @@ -20675,13 +21792,17 @@ - + + + - + + + @@ -20982,7 +22103,9 @@ - + + + @@ -20998,13 +22121,17 @@ - + + + - + + + @@ -21098,7 +22225,9 @@ - + + + @@ -21250,7 +22379,14 @@ - + + + + + + + + @@ -21258,7 +22394,9 @@ - + + + @@ -21274,7 +22412,13 @@ - + + + + + + + @@ -21291,7 +22435,13 @@ - + + + + + + + @@ -21308,7 +22458,13 @@ - + + + + + + + @@ -21386,7 +22542,13 @@ - + + + + + + + @@ -21588,7 +22750,10 @@ - + + + + @@ -22666,7 +23831,15 @@ - + + + + + + + + + @@ -22703,7 +23876,13 @@ - + + + + + + + @@ -22845,7 +24024,16 @@ - + + + + + + + + + + @@ -22854,7 +24042,14 @@ - + + + + + + + + @@ -22862,7 +24057,9 @@ - + + + @@ -22879,7 +24076,13 @@ - + + + + + + + @@ -22888,7 +24091,13 @@ - + + + + + + + @@ -25435,7 +26644,15 @@ - + + + + + + + + + @@ -25445,7 +26662,14 @@ - + + + + + + + + @@ -25471,7 +26695,9 @@ - + + + @@ -25480,7 +26706,16 @@ - + + + + + + + + + + @@ -25497,7 +26732,16 @@ - + + + + + + + + + + @@ -25505,7 +26749,13 @@ - + + + + + + + @@ -25661,7 +26911,13 @@ - + + + + + + + @@ -25672,7 +26928,16 @@ - + + + + + + + + + + @@ -25770,7 +27035,16 @@ - + + + + + + + + + + @@ -25778,7 +27052,13 @@ - + + + + + + + @@ -25911,7 +27191,13 @@ - + + + + + + + @@ -25928,14 +27214,18 @@ - + + + - + + + @@ -25943,7 +27233,13 @@ - + + + + + + + @@ -26002,7 +27298,9 @@ - + + + @@ -26114,7 +27412,13 @@ - + + + + + + + @@ -26945,13 +28249,17 @@ - + + + - + + + @@ -27029,7 +28337,15 @@ - + + + + + + + + + @@ -27047,7 +28363,9 @@ - + + + @@ -27306,7 +28624,13 @@ - + + + + + + + @@ -27316,7 +28640,13 @@ - + + + + + + + @@ -27337,7 +28667,13 @@ - + + + + + + + @@ -27372,7 +28708,13 @@ - + + + + + + + @@ -28443,7 +29785,13 @@ - + + + + + + + @@ -28551,7 +29899,14 @@ - + + + + + + + + @@ -31745,7 +33100,9 @@ - + + + @@ -31864,7 +33221,13 @@ - + + + + + + + @@ -31880,7 +33243,15 @@ - + + + + + + + + + @@ -31904,7 +33275,13 @@ - + + + + + + + @@ -31912,7 +33289,16 @@ - + + + + + + + + + + @@ -31952,11 +33338,22 @@ - + + + + + + + + + + - + + + @@ -32187,7 +33584,13 @@ - + + + + + + + @@ -32197,7 +33600,13 @@ - + + + + + + + @@ -32214,7 +33623,13 @@ - + + + + + + + @@ -32224,7 +33639,13 @@ - + + + + + + + @@ -32242,7 +33663,13 @@ - + + + + + + + @@ -32252,7 +33679,13 @@ - + + + + + + + @@ -32269,7 +33702,13 @@ - + + + + + + + @@ -32279,7 +33718,13 @@ - + + + + + + + @@ -32297,7 +33742,13 @@ - + + + + + + + @@ -32307,7 +33758,13 @@ - + + + + + + + @@ -32324,7 +33781,13 @@ - + + + + + + + @@ -32334,7 +33797,13 @@ - + + + + + + + @@ -32356,7 +33825,13 @@ - + + + + + + + @@ -32367,7 +33842,13 @@ - + + + + + + + @@ -32389,7 +33870,13 @@ - + + + + + + + @@ -32400,7 +33887,13 @@ - + + + + + + + @@ -32424,7 +33917,15 @@ - + + + + + + + + + @@ -32436,7 +33937,15 @@ - + + + + + + + + + @@ -33031,7 +34540,9 @@ - + + + @@ -33694,14 +35205,30 @@ - + + + + + + + + + - + + + + + + + + + @@ -33716,7 +35243,9 @@ - + + + @@ -33737,7 +35266,13 @@ - + + + + + + + @@ -33752,6 +35287,13 @@ + + + + + + + @@ -33774,6 +35316,13 @@ + + + + + + + @@ -33958,7 +35507,9 @@ - + + + @@ -33968,7 +35519,9 @@ - + + + @@ -34998,7 +36551,9 @@ - + + + @@ -35321,9 +36876,6 @@ - - - @@ -35427,7 +36979,9 @@ - + + + @@ -35637,7 +37191,6 @@ - @@ -35682,7 +37235,7 @@ - + @@ -35838,7 +37391,11 @@ - + + + + + @@ -35880,7 +37437,14 @@ - + + + + + + + + @@ -36378,7 +37942,16 @@ - + + + + + + + + + + @@ -36387,7 +37960,13 @@ - + + + + + + + @@ -36473,7 +38052,14 @@ - + + + + + + + + @@ -36481,14 +38067,24 @@ - + + + + + + + + + - + + + @@ -36502,7 +38098,16 @@ - + + + + + + + + + + @@ -36533,7 +38138,13 @@ - + + + + + + + @@ -36749,7 +38360,13 @@ - + + + + + + + @@ -36760,7 +38377,13 @@ - + + + + + + + @@ -36826,8 +38449,14 @@ + + + + + + + - @@ -36837,7 +38466,13 @@ - + + + + + + + @@ -36845,8 +38480,14 @@ + + + + + + + - @@ -36856,7 +38497,13 @@ - + + + + + + + @@ -36865,7 +38512,13 @@ - + + + + + + + @@ -36875,7 +38528,13 @@ - + + + + + + + @@ -36887,7 +38546,13 @@ - + + + + + + + @@ -36899,7 +38564,13 @@ - + + + + + + + @@ -36908,7 +38579,11 @@ - + + + + + @@ -36917,7 +38592,11 @@ - + + + + + @@ -36955,8 +38634,14 @@ + + + + + + + - @@ -36967,7 +38652,13 @@ - + + + + + + + @@ -36975,8 +38666,14 @@ + + + + + + + - @@ -36986,7 +38683,13 @@ - + + + + + + + @@ -36995,7 +38698,13 @@ - + + + + + + + @@ -37005,7 +38714,13 @@ - + + + + + + + @@ -37017,7 +38732,13 @@ - + + + + + + + @@ -37029,7 +38750,13 @@ - + + + + + + + @@ -37038,7 +38765,11 @@ - + + + + + @@ -37047,7 +38778,11 @@ - + + + + + @@ -37055,8 +38790,14 @@ + + + + + + + - @@ -37066,7 +38807,13 @@ - + + + + + + + @@ -37074,8 +38821,14 @@ + + + + + + + - @@ -37084,69 +38837,107 @@ + + + + + + + - + + + + + + + - + + + + + + + - + + + + + + + - + + + + + + + - + + + + + - + + + + + - @@ -37731,7 +39522,9 @@ - + + + @@ -38366,7 +40159,9 @@ - + + + @@ -38376,7 +40171,9 @@ - + + + @@ -39430,7 +41227,15 @@ - + + + + + + + + + @@ -39440,7 +41245,11 @@ - + + + + + @@ -41552,7 +43361,13 @@ - + + + + + + + @@ -41561,7 +43376,13 @@ - + + + + + + + @@ -41569,7 +43390,13 @@ - + + + + + + + @@ -41578,7 +43405,13 @@ - + + + + + + + @@ -41586,7 +43419,13 @@ - + + + + + + + @@ -41595,7 +43434,13 @@ - + + + + + + + @@ -41606,7 +43451,13 @@ - + + + + + + + @@ -41617,7 +43468,13 @@ - + + + + + + + @@ -41626,7 +43483,12 @@ - + + + + + + @@ -41635,7 +43497,12 @@ - + + + + + + @@ -42090,7 +43957,10 @@ - + + + + @@ -42101,7 +43971,13 @@ - + + + + + + + @@ -42121,7 +43997,16 @@ - + + + + + + + + + + @@ -42133,7 +44018,12 @@ - + + + + + + @@ -42755,7 +44645,10 @@ - + + + + @@ -42766,7 +44659,15 @@ - + + + + + + + + + @@ -42776,7 +44677,12 @@ - + + + + + + @@ -42786,7 +44692,12 @@ - + + + + + + @@ -42799,7 +44710,13 @@ - + + + + + + + @@ -42808,7 +44725,15 @@ - + + + + + + + + + @@ -42829,7 +44754,16 @@ - + + + + + + + + + + @@ -42838,7 +44772,16 @@ - + + + + + + + + + + @@ -42849,7 +44792,13 @@ - + + + + + + + @@ -42861,7 +44810,12 @@ - + + + + + + @@ -42873,7 +44827,12 @@ - + + + + + + @@ -43250,7 +45209,12 @@ - + + + + + + @@ -43262,7 +45226,12 @@ - + + + + + + @@ -43272,8 +45241,13 @@ + + + + + + - @@ -43283,8 +45257,13 @@ + + + + + + - @@ -43294,8 +45273,13 @@ + + + + + + - @@ -43305,8 +45289,13 @@ + + + + + + - @@ -43774,7 +45763,9 @@ - + + + @@ -44669,7 +46660,13 @@ - + + + + + + + @@ -44679,7 +46676,13 @@ - + + + + + + + @@ -44689,7 +46692,12 @@ - + + + + + + @@ -44700,7 +46708,15 @@ - + + + + + + + + + @@ -44711,7 +46727,12 @@ - + + + + + + @@ -44722,7 +46743,12 @@ - + + + + + + @@ -44731,7 +46757,14 @@ - + + + + + + + + @@ -44740,7 +46773,9 @@ - + + + @@ -44750,7 +46785,12 @@ - + + + + + + @@ -44759,7 +46799,15 @@ - + + + + + + + + + @@ -44768,7 +46816,15 @@ - + + + + + + + + + @@ -44789,7 +46845,16 @@ - + + + + + + + + + + @@ -44798,7 +46863,15 @@ - + + + + + + + + + @@ -45636,7 +47709,6 @@ - @@ -45805,7 +47877,9 @@ - + + + @@ -46223,7 +48297,13 @@ - + + + + + + + @@ -46243,7 +48323,12 @@ - + + + + + + @@ -46254,7 +48339,12 @@ - + + + + + + @@ -46265,7 +48355,14 @@ - + + + + + + + + @@ -46276,7 +48373,13 @@ - + + + + + + + @@ -46287,7 +48390,11 @@ - + + + + + @@ -46298,7 +48405,11 @@ - + + + + + @@ -47786,7 +49897,14 @@ - + + + + + + + + @@ -47796,7 +49914,13 @@ - + + + + + + + @@ -47806,7 +49930,13 @@ - + + + + + + + @@ -47817,7 +49947,12 @@ - + + + + + + @@ -47830,7 +49965,13 @@ - + + + + + + + @@ -47840,7 +49981,10 @@ - + + + + @@ -47849,7 +49993,14 @@ - + + + + + + + + @@ -47953,7 +50104,12 @@ - + + + + + + @@ -47978,7 +50134,9 @@ - + + + @@ -48016,7 +50174,9 @@ - + + + @@ -49267,7 +51427,12 @@ - + + + + + + @@ -49296,14 +51461,18 @@ - + + + - + + + @@ -49341,7 +51510,14 @@ - + + + + + + + + @@ -49352,7 +51528,14 @@ - + + + + + + + + @@ -49786,7 +51969,7 @@ - + @@ -49795,12 +51978,12 @@ - - + + - + @@ -49879,7 +52062,7 @@ - + @@ -49953,7 +52136,7 @@ - + @@ -49972,7 +52155,7 @@ - + @@ -49991,7 +52174,7 @@ - + @@ -50226,7 +52409,7 @@ - + @@ -50249,7 +52432,7 @@ - + @@ -50272,7 +52455,7 @@ - + @@ -50295,7 +52478,7 @@ - + @@ -50341,7 +52524,7 @@ - + @@ -50364,7 +52547,7 @@ - + @@ -50481,7 +52664,7 @@ - + @@ -50504,7 +52687,7 @@ - + @@ -50527,7 +52710,7 @@ - + @@ -50550,7 +52733,7 @@ - + @@ -50700,7 +52883,7 @@ - + @@ -50723,7 +52906,7 @@ - + @@ -50746,7 +52929,7 @@ - + @@ -50769,7 +52952,7 @@ - + @@ -50792,7 +52975,7 @@ - + @@ -50815,7 +52998,7 @@ - + @@ -50853,7 +53036,7 @@ - + @@ -50898,7 +53081,7 @@ - + @@ -50951,7 +53134,12 @@ - + + + + + + @@ -50964,7 +53152,12 @@ - + + + + + + @@ -50979,7 +53172,12 @@ - + + + + + + @@ -50992,7 +53190,12 @@ - + + + + + + @@ -51007,7 +53210,12 @@ - + + + + + + @@ -51020,7 +53228,12 @@ - + + + + + + @@ -51035,7 +53248,13 @@ - + + + + + + + @@ -51045,10 +53264,18 @@ + + - + + + + + + + @@ -51060,7 +53287,12 @@ - + + + + + + @@ -51074,7 +53306,12 @@ - + + + + + + @@ -51098,7 +53335,15 @@ - + + + + + + + + + @@ -51107,7 +53352,15 @@ - + + + + + + + + + @@ -51116,7 +53369,14 @@ - + + + + + + + + @@ -51129,7 +53389,9 @@ - + + + @@ -51139,7 +53401,9 @@ - + + + @@ -51148,7 +53412,16 @@ - + + + + + + + + + + @@ -51158,7 +53431,7 @@ - + @@ -51234,7 +53507,7 @@ - + @@ -51258,7 +53531,7 @@ - + @@ -51282,7 +53555,7 @@ - + @@ -51378,7 +53651,13 @@ - + + + + + + + @@ -51389,7 +53668,11 @@ - + + + + + @@ -51400,7 +53683,11 @@ - + + + + + @@ -51410,7 +53697,15 @@ - + + + + + + + + + @@ -51419,7 +53714,16 @@ - + + + + + + + + + + @@ -51430,7 +53734,12 @@ - + + + + + + @@ -51440,7 +53749,14 @@ - + + + + + + + + @@ -51451,7 +53767,15 @@ - + + + + + + + + + @@ -51638,7 +53962,7 @@ - + @@ -51708,11 +54032,11 @@ - + - + @@ -51779,7 +54103,12 @@ - + + + + + + @@ -51790,7 +54119,12 @@ - + + + + + + @@ -51805,7 +54139,7 @@ - + @@ -51836,7 +54170,7 @@ - + @@ -51880,7 +54214,7 @@ - + @@ -51984,7 +54318,12 @@ - + + + + + + @@ -51994,7 +54333,12 @@ - + + + + + + @@ -52022,7 +54366,13 @@ - + + + + + + + @@ -52031,7 +54381,9 @@ - + + + @@ -52040,7 +54392,9 @@ - + + + @@ -52050,7 +54404,11 @@ - + + + + + @@ -52060,7 +54418,11 @@ - + + + + + diff --git a/data/lib/core/core.lua b/data/lib/core/core.lua index 4247d9424..e1f3b662e 100644 --- a/data/lib/core/core.lua +++ b/data/lib/core/core.lua @@ -6,7 +6,6 @@ dofile('data/lib/core/container.lua') dofile('data/lib/core/creature.lua') dofile('data/lib/core/functions.lua') dofile('data/lib/core/game.lua') -dofile('data/lib/core/imbuements.lua') dofile('data/lib/core/item.lua') dofile('data/lib/core/itemtype.lua') dofile('data/lib/core/monster.lua') diff --git a/data/lib/core/creature.lua b/data/lib/core/creature.lua index 7791b0a33..9cd0e74b8 100644 --- a/data/lib/core/creature.lua +++ b/data/lib/core/creature.lua @@ -197,3 +197,14 @@ function Creature.checkCreatureInsideDoor(player, toPosition) creature:teleportTo(toPosition, true) end end + +function Creature:addEventStamina(target) + local player = self:getPlayer() + local monster = target:getMonster() + if player and monster and monster:getName() == staminaBonus.target then + local playerId = player:getId() + if not staminaBonus.eventsTrainer[playerId] then + staminaBonus.eventsTrainer[playerId] = addEvent(addStamina, staminaBonus.period, playerId) + end + end +end diff --git a/data/lib/core/functions.lua b/data/lib/core/functions.lua index 34f67405d..98fa84a53 100644 --- a/data/lib/core/functions.lua +++ b/data/lib/core/functions.lua @@ -20,7 +20,7 @@ function getFormattedWorldTime() end function getLootRandom() - return math.random(0, MAX_LOOTCHANCE) * 100 / math.max(1, (configManager.getNumber(configKeys.RATE_LOOT) * SCHEDULE_LOOT_RATE)) + return math.random(0, MAX_LOOTCHANCE) * 100 / (configManager.getNumber(configKeys.RATE_LOOT) * SCHEDULE_LOOT_RATE) end local start = os.time() @@ -40,11 +40,9 @@ end, "l") -- OTServBr-Global functions function getRateFromTable(t, level, default) - if (t ~= nil) then - for _, rate in ipairs(t) do - if level >= rate.minlevel and (not rate.maxlevel or level <= rate.maxlevel) then - return rate.multiplier - end + for _, rate in ipairs(t) do + if level >= rate.minlevel and (not rate.maxlevel or level <= rate.maxlevel) then + return rate.multiplier end end return default diff --git a/data/lib/core/imbuements.lua b/data/lib/core/imbuements.lua deleted file mode 100644 index 52cfcd682..000000000 --- a/data/lib/core/imbuements.lua +++ /dev/null @@ -1,191 +0,0 @@ -MESSAGEDIALOG_IMBUEMENT_ERROR = 1 -MESSAGEDIALOG_IMBUEMENT_ROLL_FAILED = 2 -MESSAGEDIALOG_IMBUING_STATION_NOT_FOUND = 3 -MESSAGEDIALOG_CLEARING_CHARM_SUCCESS = 10 -MESSAGEDIALOG_CLEARING_CHARM_ERROR = 11 - --- tables -Imbuements_Weapons = { - ["armor"] = {21692, 2500, 2656, 2464, 2487, 2494, 2492, 2503, 12607, 2505, 32419, 2466, 23538, 10296, 2476, 3968, 2472, 7463, 8888, 23537, 2486, 15406, 8891, 18404, 38992, 38929, 38930}, -- ok - ["shield"] = {34068, 2537, 2518, 15491, 2535, 2519, 25414, 2520, 15411, 2516, 32422, 32421, 30885, 2522, 2533, 21707, 2514, 10289, 2536, 6433, 6391, 7460, 2524, 15413, 2539, 25382, 21697, 3974, 10297, 12644, 10294, 2509, 2542, 2528, 2534, 2531, 15453, 38989, 38934}, -- ok - ["boots"] = {34062, 24742, 2195, 2644, 9931, 3982, 11117, 15410, 11118, 12646, 7457, 7892, 2646, 11240, 2643, 7893, 7891, 23540, 24637, 2641, 5462, 18406, 2642, 2645, 7886, 25412, 21708, 11303, 35229, 36452, 38932, 38933}, --ok - ["helmet"] = {34065, 2499, 2139, 3972, 2458, 2491, 2497, 2493, 2502, 12645, 32415, 7458, 2471, 10299, 20132, 10298, 2662, 10291, 2498, 24848, 5741, 25410, 2475, 11302, 35232, 36412, 38991}, --ok - ["helmetmage"] = {10016, 2323, 11368, 8820, 10570, 9778, 32414, 30882, 36417}, -- ok - ["bow"] = {34055, 25946, 30690, 8855, 7438, 32418, 15643, 21696, 10295, 18454, 25522, 8857, 22417, 22418, 8854, 36416, 38923, 38985}, -- ok - ["crossbow"] = {25950, 8850, 2455, 30691, 8849, 25523, 8851, 8852, 8853, 16111, 21690, 22420, 22421, 35228, 38924}, -- ok - ["backpack"] = {1988, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2365, 3940, 3960, 5801, 5926, 5949, 7342, 9774, 10518, 10519, 10521, 10522, 11119, 11241, 11243, 11244, 11263, 15645, 15646, 16007, 18393, 18394, 21475, 22696, 23666, 23816, 24740, 26181, 27061, 27063, 35056, 33318}, - ["wand"] = {29005, 2191, 8920, 8921, 8922}, --ok - ["rod"] = {8910, 8911, 24839}, --ok - ["axe"] = {30686, 2429, 3962, 7412, 30687, 18451, 8926, 2414, 11305, 7419, 2435, 7453, 2415, 2427, 7380, 8924, 7389, 15492, 7435, 2430, 7455, 7456, 2443, 25383, 7434, 6553, 8925, 2431, 2447, 22405, 22408, 22406, 22409, 2454, 15451, 11323}, --ok - ["club"] = {7414, 7426, 2453, 7429, 2423, 7415, 2445, 15647, 7431, 7430, 23543, 30689, 2444, 2452, 20093, 7424, 30688, 25418, 18452, 8928, 7421, 7392, 15414, 7410, 7437, 7451, 2424, 2436, 7423, 12648, 7452, 8929, 22414, 22411, 22415, 22412, 2421, 2391}, --ok - ["sword"] = {7404, 7403, 7406, 12649, 30684, 7416, 2407, 2413, 7385, 7382, 2451, 7402, 8930, 2438, 32423, 2393, 7407, 7405, 2400, 7384, 7418, 7383, 7417, 18465, 30685, 2383, 2376, 7391, 6528, 8931, 12613, 11309, 22399, 22403, 22400, 22402, 7408, 11307, 35233}, --ok - ["spellbooks"] = {25411, 2175, 8900, 8901, 22423, 22424, 29004, 34069, 34058, 34064, 38988}, -- ok - ["special_strike"] = {32417, 32416, 30693, 30692, 32523, 32522, 34063, 38925, 38926}, --ok - ["crit_wandrod"] = {35234, 38986}, - ["life_wandrod"] = {35235, 38987}, - ["elemental_swords"] = {30886, 34059, 34060, 36449, 38918, 38917, 38990}, - ["elemental_axes"] = {32424, 35231, 39088, 38919, 38920, 37451}, - ["elemental_clubs"] = {32425, 34057, 35230, 36415, 38922, 38921, 39089}, - -- Note: if an armor has native protection, it can't be imbue with this protection - ["armor_energy"] = {30883}, - ["armor_only_energy"] = {34061}, - ["armor_ice"] = {36414}, - ["armor_earth"] = {34056, 36413}, - ["armor_death"] = {15407, 36418, 38931} -} - -local equipitems = { - ["lich shroud"] = {"armor", "armor_energy", "armor_only_energy", "armor_ice", "armor_earth", "spellbooks", "shield"}, - ["reap"] = {"axe", "club", "sword", "bow", "crossbow"}, - ["vampirism"] = {"axe", "club", "sword", "wand", "rod", "special_strike", "bow", "crossbow", "armor", "armor_energy", "armor_only_energy", "armor_ice", "armor_earth", "armor_death", "elemental_swords", "elemental_axes", "elemental_clubs", "crit_wandrod"}, - ["cloud fabric"] = {"armor", "armor_earth", "armor_death", "spellbooks", "shield"}, - ["electrify"] = {"axe", "club", "sword", "bow", "crossbow"}, - ["swiftness"] = {"boots"}, - ["snake skin"] = {"armor", "armor_energy", "armor_only_energy", "armor_ice", "armor_death", "spellbooks", "shield"}, - ["venom"] = {"axe", "club", "sword", "bow", "crossbow"}, - ["slash"] = {"sword", "helmet", "elemental_swords"}, - ["chop"] = {"axe", "helmet", "elemental_axes"}, - ["bash"] = {"club", "helmet", "elemental_clubs"}, - ["dragon hide"] = {"armor", "armor_energy", "armor_only_energy", "armor_ice", "armor_death", "spellbooks", "shield"}, - ["scorch"] = {"axe", "club", "sword", "bow", "crossbow"}, - ["void"] = {"axe", "club", "sword", "wand", "rod", "special_strike", "bow", "crossbow", "helmet","helmetmage", "elemental_swords", "elemental_axes", "elemental_clubs", "crit_wandrod", "life_wandrod"}, -- Mana - ["quara scale"] = {"armor", "armor_only_energy", "armor_earth", "armor_death", "spellbooks", "shield"}, - ["frost"] = {"axe", "club", "sword", "bow", "crossbow"}, - ["blockade"] = {"shield", "helmet", "spellbooks", "shield"}, - ["demon presence"] = {"armor", "armor_energy", "armor_only_energy", "armor_ice", "armor_earth", "armor_death", "spellbooks", "shield"}, - ["precision"] = {"bow", "crossbow", "helmet"}, - ["strike"] = {"axe", "club", "sword", "bow", "crossbow", "special_strike", "elemental_swords", "elemental_axes", "elemental_clubs", "life_wandrod"}, - ["epiphany"] = {"wand", "rod", "helmetmage", "special_strike", "special_wand", "special_rod", "crit_wandrod", "life_wandrod"}, - ["featherweight"] = {"backpack"}, -} - -local enablingStorages = { - ["lich shroud"] = Storage.ForgottenKnowledge.LadyTenebrisKilled, - ["reap"] = Storage.ForgottenKnowledge.LadyTenebrisKilled, - ["vampirism"] = Storage.ForgottenKnowledge.LadyTenebrisKilled, - ["cloud fabric"] = Storage.ForgottenKnowledge.LloydKilled, - ["electrify"] = Storage.ForgottenKnowledge.LloydKilled, - ["swiftness"] = Storage.ForgottenKnowledge.LloydKilled, - ["snake skin"] = Storage.ForgottenKnowledge.ThornKnightKilled, - ["venom"] = Storage.ForgottenKnowledge.ThornKnightKilled, - ["slash"] = Storage.ForgottenKnowledge.ThornKnightKilled, - ["chop"] = Storage.ForgottenKnowledge.ThornKnightKilled, - ["bash"] = Storage.ForgottenKnowledge.ThornKnightKilled, - ["dragon hide"] = Storage.ForgottenKnowledge.DragonkingKilled, - ["scorch"] = Storage.ForgottenKnowledge.DragonkingKilled, - ["void"] = Storage.ForgottenKnowledge.DragonkingKilled, - ["quara scale"] = Storage.ForgottenKnowledge.HorrorKilled, - ["frost"] = Storage.ForgottenKnowledge.HorrorKilled, - ["blockade"] = Storage.ForgottenKnowledge.HorrorKilled, - ["demon presence"] = Storage.ForgottenKnowledge.TimeGuardianKilled, - ["precision"] = Storage.ForgottenKnowledge.TimeGuardianKilled, - ["strike"] = Storage.ForgottenKnowledge.LastLoreKilled, - ["epiphany"] = Storage.ForgottenKnowledge.LastLoreKilled, - ["featherweight"] = -1, -} - -function Player.canImbueItem(self, imbuement, item) - local item_type = "" - for tp, items in pairs(Imbuements_Weapons) do - if isInArray(items, item:getId()) then - item_type = tp - break - end - end - local imb_type = "" - for ibt, imb_n in pairs(enablingStorages) do - if string.find(ibt, imbuement:getName():lower()) then - imb_type = ibt - break - end - end - if imb_type == "" then - Spdlog.error(string.format("[Imbuement::canImbueItem] - Error on searching imbuement %s"), - imbuement:getName()) - return false - end - - local equip = equipitems[imb_type] - if not equip then - Spdlog.error(string.format("[Imbuement::canImbueItem] - Error on searching weapon imbuement %s", - imbuement:getName())) - return false - end - - local imbuable = false - for i, p in pairs(equip) do - if p:lower() == item_type then - imbuable = true - break - end - end - if not imbuable then - return false - end - local stg = enablingStorages[imb_type] - if not stg then - Spdlog.error("[Imbuement::canImbueItem] - Error on search storage imbuement '" .. imbuement:getName()) - return false - end - - if imbuement:getBase().id == 3 and not self:getGroup():getAccess() and stg > -1 and self:getStorageValue(stg) < 1 then - return false - end - - return true -end - --- Player functions -function Player.sendImbuementResult(self, errorType, message) - local msg = NetworkMessage() - msg:addByte(0xED) - msg:addByte(errorType or 0x01) - msg:addString(message) - msg:sendToPlayer(self) - msg:delete() - return -end - -function Player.closeImbuementWindow(self) - local msg = NetworkMessage() - msg:addByte(0xEC) - msg:sendToPlayer(self) -end - --- Items functions -function Item.getImbuementDuration(self, slot) - local info = 0 - local binfo = tonumber(self:getCustomAttribute(IMBUEMENT_SLOT + slot)) - if binfo then - info = bit.rshift(binfo, 8) - end - - return info -end - -function Item.getImbuement(self, slot) - local binfo = tonumber(self:getCustomAttribute(IMBUEMENT_SLOT + slot)) - if not binfo then - return false - end - local id = bit.band(binfo, 0xFF) - if id == 0 then - return false - end - return Imbuement(id) -end - -function Item.addImbuement(self, slot, id) - local imbuement = Imbuement(id) - if not imbuement then return false end - local duration = imbuement:getBase().duration - - local imbue = bit.bor(bit.lshift(duration, 8), id) - self:setCustomAttribute(IMBUEMENT_SLOT + slot, imbue) - return true -end - -function Item.cleanImbuement(self, slot) - self:setCustomAttribute(IMBUEMENT_SLOT + slot, 0) - return true -end diff --git a/data/lib/core/storages.lua b/data/lib/core/storages.lua index d7386b42c..c9915dfbd 100644 --- a/data/lib/core/storages.lua +++ b/data/lib/core/storages.lua @@ -10,15 +10,16 @@ Storage = { combatProtectionStorage = 30023, Factions = 30024, blockMovementStorage = 30025, - PetSummon = 30026, + FamiliarSummon = 30026, + TrainerRoom = 30027, NpcSpawn = 30028, ExerciseDummyExhaust = 30029, StrawberryCupcake = 30032, StoreExaust = 30051, LemonCupcake = 30052, BlueberryCupcake = 30053, - PetSummonEvent10 = 30054, - PetSummonEvent60 = 30055, + FamiliarSummonEvent10 = 30054, + FamiliarSummonEvent60 = 30055, FreeQuests = 990000, PremiumAccount = 998899, diff --git a/data/lib/others/reward_boss_lib.lua b/data/lib/others/reward_boss_lib.lua index b4f5fb96f..319d2b18c 100644 --- a/data/lib/others/reward_boss_lib.lua +++ b/data/lib/others/reward_boss_lib.lua @@ -60,9 +60,30 @@ function MonsterType.createLootItem(self, lootBlock, chance, lootTable) end end + local itemType = ItemType(lootBlock.itemId) + local decayTo = itemType:getDecayId() + local decayTime = itemType:getDecayTime() + if decayTo and decayTo >= 0 and decayTime and decayTime ~= 0 then + local transformDeEquipId = itemType:getTransformDeEquipId() + if transformDeEquipId and transformDeEquipId > 0 then + Spdlog.warn("[MonsterType.createLootItem] - Convert boss '" .. self:name() .. "' reward ID '" .. lootBlock.itemId .. "' to ID " .. transformDeEquipId .. ".") + lootBlock.itemId = transformDeEquipId + else + Spdlog.error("[MonsterType.createLootItem] Cannot add item " .. lootBlock.itemId .. " as boss " .. self:name() .. " reward. It has decay.") + return lootTable + end + end + + local charges, n = itemType:getCharges() while itemCount > 0 do - local n = math.min(itemCount, 100) - itemCount = itemCount - n + if charges > 0 then + n = charges + itemCount = itemCount - 1 + else + n = math.min(itemCount, 100) + itemCount = itemCount - n + end + table.insert(lootTable, {lootBlock.itemId, n}) end diff --git a/data/lib/tables/exercise_training.lua b/data/lib/tables/exercise_training.lua new file mode 100644 index 000000000..b4c35cd56 --- /dev/null +++ b/data/lib/tables/exercise_training.lua @@ -0,0 +1,135 @@ +exerciseWeaponsTable = { + -- MELE + [32124] = { skill = SKILL_SWORD }, + [32384] = { skill = SKILL_SWORD }, + [40114] = { skill = SKILL_SWORD }, + [40120] = { skill = SKILL_SWORD }, + [32385] = { skill = SKILL_AXE }, + [32125] = { skill = SKILL_AXE }, + [40115] = { skill = SKILL_AXE }, + [40121] = { skill = SKILL_AXE }, + [32386] = { skill = SKILL_CLUB }, + [32126] = { skill = SKILL_CLUB }, + [40116] = { skill = SKILL_CLUB }, + [40122] = { skill = SKILL_CLUB }, + -- ROD + [32128] = { skill = SKILL_MAGLEVEL, effect = CONST_ANI_SMALLICE, allowFarUse = true }, + [32388] = { skill = SKILL_MAGLEVEL, effect = CONST_ANI_SMALLICE, allowFarUse = true }, + [40118] = { skill = SKILL_MAGLEVEL, effect = CONST_ANI_SMALLICE, allowFarUse = true }, + [40124] = { skill = SKILL_MAGLEVEL, effect = CONST_ANI_SMALLICE, allowFarUse = true }, + -- RANGE + [32127] = { skill = SKILL_DISTANCE, effect = CONST_ANI_SIMPLEARROW, allowFarUse = true }, + [32387] = { skill = SKILL_DISTANCE, effect = CONST_ANI_SIMPLEARROW, allowFarUse = true }, + [40117] = { skill = SKILL_DISTANCE, effect = CONST_ANI_SIMPLEARROW, allowFarUse = true }, + [40123] = { skill = SKILL_DISTANCE, effect = CONST_ANI_SIMPLEARROW, allowFarUse = true }, + -- WAND + [32129] = { skill = SKILL_MAGLEVEL, effect = CONST_ANI_FIRE, allowFarUse = true }, + [32389] = { skill = SKILL_MAGLEVEL, effect = CONST_ANI_FIRE, allowFarUse = true }, + [40119] = { skill = SKILL_MAGLEVEL, effect = CONST_ANI_FIRE, allowFarUse = true }, + [40125] = { skill = SKILL_MAGLEVEL, effect = CONST_ANI_FIRE, allowFarUse = true } +} + +freeDummies = {32142, 32149} +maxAllowedOnADummy = configManager.getNumber(configKeys.MAX_ALLOWED_ON_A_DUMMY) +houseDummies = {32143, 32144, 32145, 32146, 32147, 32148} + +local magicLevelRate = configManager.getNumber(configKeys.RATE_MAGIC) +local skillLevelRate = configManager.getNumber(configKeys.RATE_SKILL) + +function leaveTraining(playerId) + if onExerciseTraining[playerId] then + stopEvent(onExerciseTraining[playerId].event) + onExerciseTraining[playerId] = nil + end + + local player = Player(playerId) + if player then + player:setTraining(false) + end + return +end + +function exerciseEvent(playerId, tilePosition, weaponId, dummyId) + local player = Player(playerId) + if not player then + return leaveTraining(playerId) + end + + if player:isTraining() == 0 then + return leaveTraining(playerId) + end + + if not Tile(tilePosition):getItemById(dummyId) then + player:sendTextMessage(MESSAGE_FAILURE, "Someone has moved the dummy, the training has stopped.") + leaveTraining(playerId) + return + end + + local playerPosition = player:getPosition() + if not getTilePzInfo(playerPosition) then + player:sendTextMessage(MESSAGE_FAILURE, "You are no longer in a protection zone, the training has stopped.") + leaveTraining(playerId) + return + end + + if player:getItemCount(weaponId) <= 0 then + player:sendTextMessage(MESSAGE_FAILURE, "You need the training weapon in the backpack, the training has stopped.") + leaveTraining(playerId) + return + end + + local weapon = player:getItemById(weaponId, true) + if not weapon:isItem() or not weapon:hasAttribute(ITEM_ATTRIBUTE_CHARGES) then + player:sendTextMessage(MESSAGE_FAILURE, "The selected item is not a training weapon, the training has stopped.") + leaveTraining(playerId) + return + end + + local weaponCharges = weapon:getAttribute(ITEM_ATTRIBUTE_CHARGES) + if not weaponCharges or weaponCharges <= 0 then + weapon:remove(1) -- ?? + player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your training weapon has disappeared.") + leaveTraining(playerId) + return + end + + local isMagic = false + local bonusDummy = isInArray(houseDummies, weaponId) or nil + local skillToTraining = skillsStages or nil + local skillRateDefault = skillLevelRate + local skillLevel = player:getSkillLevel(exerciseWeaponsTable[weaponId].skill) + + if exerciseWeaponsTable[weaponId].skill == SKILL_MAGLEVEL then + skillToTraining = magicLevelStages or nil + skillRateDefault = magicLevelRate + skillLevel = player:getBaseMagicLevel() + isMagic = true + end + + local expRate = getRateFromTable(skillToTraining, skillLevel, skillRateDefault) + if bonusDummy then bonusDummy = 1.1 else bonusDummy = 1 end + + if isMagic then + player:addManaSpent(math.ceil(500 * expRate) * bonusDummy) + else + player:addSkillTries(exerciseWeaponsTable[weaponId].skill, (7 * expRate) * bonusDummy) + end + + weapon:setAttribute(ITEM_ATTRIBUTE_CHARGES, (weaponCharges - 1)) + tilePosition:sendMagicEffect(CONST_ME_HITAREA) + + if exerciseWeaponsTable[weaponId].effect then + playerPosition:sendDistanceEffect(tilePosition, exerciseWeaponsTable[weaponId].effect) + end + + if weapon:getAttribute(ITEM_ATTRIBUTE_CHARGES) <= 0 then + weapon:remove(1) + player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your training weapon has disappeared.") + leaveTraining(playerId) + return + end + + local vocation = player:getVocation() + onExerciseTraining[playerId].event = addEvent(exerciseEvent, vocation:getBaseAttackSpeed() / configManager.getFloat(configKeys.RATE_EXERCISE_TRAINING_SPEED), playerId, tilePosition, weaponId, dummyId) + return +end diff --git a/data/lib/tables/familiar.lua b/data/lib/tables/familiar.lua new file mode 100644 index 000000000..96278f823 --- /dev/null +++ b/data/lib/tables/familiar.lua @@ -0,0 +1,29 @@ +FAMILIAR_ID = { + [VOCATION.BASE_ID.SORCERER] = {id = 994, name = "Sorcerer familiar"}, + [VOCATION.BASE_ID.DRUID] = {id = 993, name = "Druid familiar"}, + [VOCATION.BASE_ID.PALADIN] = {id = 992, name = "Paladin familiar"}, + [VOCATION.BASE_ID.KNIGHT] = {id = 991, name = "Knight familiar"} +} + +FAMILIAR_TIMER = { + [1] = {storage=Storage.FamiliarSummonEvent10, countdown=10, message = "10 seconds"}, + [2] = {storage=Storage.FamiliarSummonEvent60, countdown=60, message = "one minute"} +} + +function sendMessageFunction(pid, message) + if Player(pid) then + Player(pid):sendTextMessage(MESSAGE_LOOT, "Your summon will disappear in less than " .. message) + end +end + +function removeFamiliar(creatureId, playerId) + local creature = Creature(creatureId) + local player = Player(playerId) + if not creature or not player then + return true + end + creature:remove() + for sendMessage = 1, #FAMILIAR_TIMER do + player:setStorageValue(FAMILIAR_TIMER[sendMessage].storage, -1) + end +end diff --git a/data/lib/tables/table.lua b/data/lib/tables/table.lua index 7dcca2a0d..274e32ca2 100644 --- a/data/lib/tables/table.lua +++ b/data/lib/tables/table.lua @@ -1,6 +1,8 @@ dofile('data/lib/tables/vocation.lua') dofile('data/lib/tables/achievements_lib.lua') dofile('data/lib/tables/door.lua') +dofile('data/lib/tables/exercise_training.lua') +dofile('data/lib/tables/familiar.lua') dofile('data/lib/tables/hireling_items.lua') dofile('data/lib/tables/teleport_item_destinations.lua') dofile('data/lib/tables/town.lua') diff --git a/data/lib/tables/town.lua b/data/lib/tables/town.lua index fca376de7..56edd14af 100644 --- a/data/lib/tables/town.lua +++ b/data/lib/tables/town.lua @@ -1,4 +1,19 @@ TOWNS_LIST = { - -- - -- DAWNPORT_TUTORIAL = 1, + Fynn_Castle = 1, + Anshara_Desert = 2, + Sohan_Town = 3, + Samaransa_Bay = 4, + Forgos_Ville = 5, + Agard_Town = 6, + Mer_Jungle = 7, + Vinor_Swamp = 8, + Jorvik_Ville = 9, + Misidia_Settlement = 10, + Elfic_Ville = 11, + Vaargdon_Mine = 12, + Hive_Island = 13, + Sunken_Sanctuary = 14, + + DAWNPORT_TUTORIAL = 20, + DAWNPORT = 21, } diff --git a/data/modules/scripts/blessings/blessings.lua b/data/modules/scripts/blessings/blessings.lua index b1027f7aa..f55d3de6b 100644 --- a/data/modules/scripts/blessings/blessings.lua +++ b/data/modules/scripts/blessings/blessings.lua @@ -20,7 +20,7 @@ Blessings.Credits = { } Blessings.Config = { - AdventurerBlessingLevel = 50, -- Free full bless until level + AdventurerBlessingLevel = 20, -- Free full bless until level HasToF = true, -- Enables/disables twist of fate InquisitonBlessPriceMultiplier = 1.1, -- Bless price multiplied by henricus SkulledDeathLoseStoreItem = true, -- Destroy all items on store when dying with red/blackskull diff --git a/data/modules/scripts/gamestore/init.lua b/data/modules/scripts/gamestore/init.lua index 1bd16f4cb..e74b8b091 100644 --- a/data/modules/scripts/gamestore/init.lua +++ b/data/modules/scripts/gamestore/init.lua @@ -101,7 +101,7 @@ end GameStore.ClientOfferTypes = { CLIENT_STORE_OFFER_OTHER = 0, CLIENT_STORE_OFFER_NAMECHANGE = 1, - CLIENT_STORE_OFFER_HIRELING = 10, + CLIENT_STORE_OFFER_HIRELING = 3, } GameStore.HistoryTypes = { @@ -1247,6 +1247,7 @@ function GameStore.processItemPurchase(player, offerId, offerCount) return error({ code = 0, message = "Please make sure you have free slots in your store inbox."}) end end + function GameStore.processChargesPurchase(player, itemtype, name, charges) if player:getFreeCapacity() < ItemType(itemtype):getWeight(1) then return error({ code = 0, message = "Please make sure you have free capacity to hold this item."}) diff --git a/data/modules/scripts/prey_system/assets.lua b/data/modules/scripts/prey_system/assets.lua index 1715cb74d..4d444cdae 100644 --- a/data/modules/scripts/prey_system/assets.lua +++ b/data/modules/scripts/prey_system/assets.lua @@ -18,7 +18,7 @@ preyRaceIds = { "737", "741", "745", "886", "888", "916", "917", "918", "920", "924", "925", "926", "1044", "1045", "1046", "1051", "1052", "1053", "1109", "1321", "1322", "1394", "1412", "1486", "1488", "1503", "1504", "1505", "1506", "1507", "1508", "1509", "1510", "1529", "1730", "1731", "1732", "1733", "1734", "1735", "510", "1142", "1143", "1144", "1549", "17", "51", - "80", "95", "103", "104", "108", "109", "292", "299", "330", "460", "518", "520", "570", "698", "739", "740", "869", "880", + "80", "95", "103", "104", "108", "109", "292", "299", "330", "460", "518", "520", "570", "698", "739", "740", "869", "880", "894", "978", "980", "1004", "1012", "1013", "1014", "1015", "1016", "1018", "1021", "1022", "1137", "1138", "1157", "1442", "1443", "1653", "1654", "1655", "1659", "1663", "1664", "1665", "1666", "1668", "1669", "1671", "1721", "1722", "1723", "1728", "1729", "1808", "1807", "1806", "1816", "1819", "3", "13", "14", "16", "21", "27", "31", "32", "41", "42", "52", "56", "60", @@ -32,5 +32,7 @@ preyRaceIds = { "696", "704", "707", "708", "710", "711", "712", "958", "959", "962", "975", "976", "1040", "1055", "1148", "1415", "1646", "1647", "1674", "1675", "1724", "1725", "1726", "1805", "26", "30", "36", "38", "39", "43", "44", "45", "79", "82", "83", "124", "213", "219", "227", "228", "251", "621", "631", "632", "633", "641", "674", "691", "709", "731", "732", "778", "786", "787", - "788", "790", "791", "792", "796", "797", "801", "878", "899", "912", "1531", "1532", "1544", "1545", "1546", "1736", "1737" + "788", "790", "791", "792", "796", "797", "801", "878", "899", "912", "1531", "1532", "1544", "1545", "1546", "1736", "1737", "294", + "2037", "1621", "1930", "1938", "1933", "1931", "1945", "1939", "1926", "1932", "1933", "1940", "1928", "1941", "1929", "1962", + "1946", "1947", "1927", "1948", "1949" } diff --git a/data/modules/scripts/prey_system/prey.lua b/data/modules/scripts/prey_system/prey.lua index 785350f8c..77f58f42f 100644 --- a/data/modules/scripts/prey_system/prey.lua +++ b/data/modules/scripts/prey_system/prey.lua @@ -159,7 +159,10 @@ Prey.MonsterList = { "Insect Swarm", "Insectoid Scout", "Insectoid Worker", "Kollos", "Lacewing Moth", "Ladybug", "Lancer Beetle", "Larva", "Poison Spider", "Rotworm", "Sacred Spider", "Sandcrawler", "Scarab", "Scorpion", "Spider", "Spidris", "Spidris Elite", "Spitter", "Swarmer", "Tarantula", "Terramite", "Tunnel Tyrant", "Wailing Widow", "Wasp", - "Waspoid", "Wiggler", "Terrified Elephant" + "Waspoid", "Wiggler", "Terrified Elephant", "Burning Book", "Tainted Soul", "Brachiodemon", "Infernal Demon", + "Infernal Phantom", "Branchy Crawler", "Mould Phantom", "Rotten Golem", "Bony Sea Devil", "Capricious Phantom", + "Hazardous Phantom", "Turbulent Elemental", "Cloak Of Terror", "Courage Leech", "Vibrant Phantom", "Distorted Phantom", + "Druid's Apparition", "Knight's Apparition", "Many Faces", "Paladin's Apparition", "Sorcerer's Apparition" } -- Communication functions @@ -194,7 +197,7 @@ function Player.setRandomBonusValue(self, slot, bonus, typeChange) local starUP = math.random(1, 3) local value = Prey.Bonuses[type][bonusValue] local bonusGrade = self:getPreyBonusGrade(slot) - + if bonus then if typeChange then self:setPreyBonusGrade(slot, bonusValue) @@ -304,7 +307,7 @@ function Player.getMonsterList(self) end end end - + -- Insert the monstersId for i = 1, #preyRaceIds do table.insert(sortList, preyRaceIds[i]) @@ -316,7 +319,7 @@ function Player.getMonsterList(self) table.insert(monsterList, v) end end - + return monsterList end @@ -330,7 +333,7 @@ function Player.setAutomaticBonus(self, slot) self:setPreyBonusRerolls(self:getPreyBonusRerolls() - 1) self:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("Your %s's prey bonus was automatically rolled.", monster:lower())) self:setPreyTimeLeft(slot, Prey.Config.PreyTime) - + -- Lock Prey elseif self:getPreyTick(slot) == 2 and self:getPreyBonusRerolls() >= 5 then self:setPreyBonusRerolls(self:getPreyBonusRerolls() - 5) @@ -340,8 +343,21 @@ function Player.setAutomaticBonus(self, slot) self:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("Your %s's prey has expired because you don't have enough prey wildcards.", monster:lower())) self:setPreyCurrentMonster(slot, "") self:setPreyTick(slot, 0) - end -end + end +end + +function Player.getDiffBonus(self, slot) + local currentBonus = self:getPreyBonusType(slot) + + local availableBonuses = {} + for bonus = CONST_BONUS_DAMAGE_BOOST, CONST_BONUS_IMPROVED_LOOT do + if bonus ~= currentBonus then + table.insert(availableBonuses, bonus) + end + end + + return availableBonuses[math.random(1, #availableBonuses)] +end function onRecvbyte(player, msg, byte) if (byte == Prey.C_Packets.RequestData) then @@ -402,7 +418,7 @@ function Player.preyAction(self, msg) elseif (action == Prey.Actions.SELECT_ALL_MONSTERS) then local race = msg:getU16() local race = getNameByRace(race) - + -- Converts RaceID to String self:setPreyCurrentMonster(slot, race) @@ -454,7 +470,7 @@ function Player.preyAction(self, msg) -- Automatic Reroll/Lock elseif (action == Prey.Actions.TICK_LOCK) then - + local button = msg:getByte() if button == 1 then self:setPreyTick(slot, 1) @@ -623,17 +639,17 @@ function Player.sendPreyData(self, slot) msg:addByte(slot) -- slot number msg:addByte(slotState) -- slot state - + -- Check if has any bonus if self:getPreyTimeLeft(slot) <= 0 then self:setRandomBonusValue(slot, true, true) end - + msg:addByte(self:getPreyBonusType(slot)) -- bonus type msg:addU16(self:getPreyBonusValue(slot)) -- bonus value msg:addByte(self:getPreyBonusGrade(slot)) -- bonus grade msg:addU16(#raceList) -- monsters count - + for i = 1, #raceList do msg:addU16(raceList[i]) -- raceID end @@ -663,7 +679,7 @@ end function Player:sendPreyRerollPrice() local msg = NetworkMessage() - + msg:addByte(Prey.S_Packets.PreyRerollPrice) msg:addU32(self:getRerollPrice()) msg:addByte(Prey.Config.BonusRerollPrice) -- wildcards diff --git a/data/monster/Fey/tainted_soul.lua b/data/monster/Fey/tainted_soul.lua new file mode 100644 index 000000000..97bbf4545 --- /dev/null +++ b/data/monster/Fey/tainted_soul.lua @@ -0,0 +1,114 @@ +local mType = Game.createMonsterType("Tainted Soul") +local monster = {} + +monster.description = "a tainted soul" +monster.experience = 0 +monster.outfit = { + lookType = 712, + lookHead = 0, + lookBody = 0, + lookLegs = 0, + lookFeet = 0, + lookAddons = 0, + lookMount = 0 +} + +monster.raceId = 1137 +monster.Bestiary = { + class = "Fey", + race = BESTY_RACE_FEY, + toKill = 250, + FirstUnlock = 10, + SecondUnlock = 100, + CharmsPoints = 5, + Stars = 1, + Occurrence = 0, + Locations = "Around venore." + } + +monster.health = 250 +monster.maxHealth = 250 +monster.race = "undead" +monster.corpse = 24633 +monster.speed = 162 +monster.manaCost = 0 + +monster.changeTarget = { + interval = 60000, + chance = 0 +} + +monster.strategiesTarget = { + nearest = 100, +} + +monster.flags = { + summonable = false, + attackable = true, + hostile = true, + convinceable = false, + pushable = false, + rewardBoss = false, + illusionable = true, + canPushItems = false, + canPushCreatures = false, + staticAttackChance = 15, + targetDistance = 7, + runHealth = 115, + healthHidden = false, + isBlockable = false, + canWalkOnEnergy = false, + canWalkOnFire = false, + canWalkOnPoison = false +} + +monster.light = { + level = 0, + color = 0 +} + +monster.voices = { + interval = 5000, + chance = 10, + {text = "*Crinkle*", yell = false}, + {text = "*Sizzle*", yell = false} +} + +monster.loot = { + {name = "small ruby", chance = 1000} +} + +monster.attacks = { + {name ="melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -10}, + {name ="combat", interval = 2000, chance = 15, type = COMBAT_LIFEDRAIN, minDamage = -15, maxDamage = -37, range = 1, effect = CONST_ME_MAGIC_RED, target = true} +} + +monster.defenses = { + defense = 10, + armor = 10, + {name ="speed", interval = 2000, chance = 15, speedChange = 200, effect = CONST_ME_MAGIC_RED, target = false, duration = 5000}, + {name ="combat", interval = 2000, chance = 5, type = COMBAT_HEALING, minDamage = 15, maxDamage = 25, effect = CONST_ME_MAGIC_GREEN, target = false}, + {name ="invisible", interval = 2000, chance = 10, effect = CONST_ME_MAGIC_BLUE, target = false, duration = 3000} +} + +monster.elements = { + {type = COMBAT_PHYSICALDAMAGE, percent = 65}, + {type = COMBAT_ENERGYDAMAGE, percent = 30}, + {type = COMBAT_EARTHDAMAGE, percent = 90}, + {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 = 100} +} + +monster.immunities = { + {type = "paralyze", condition = true}, + {type = "outfit", condition = false}, + {type = "invisible", condition = false}, + {type = "bleed", condition = false} +} + +mType:register(monster) diff --git a/data/monster/Quests/the_secret_library/bosses/grand_master_oberon_functions.lua b/data/monster/Quests/the_secret_library/bosses/grand_master_oberon_functions.lua new file mode 100644 index 000000000..3a2624a4b --- /dev/null +++ b/data/monster/Quests/the_secret_library/bosses/grand_master_oberon_functions.lua @@ -0,0 +1,54 @@ +GrandMasterOberonAsking = { + [1] = {msg = "You appear like a worm among men!"}, + [2] = {msg = "The world will suffer for its iddle laziness!"}, + [3] = {msg = "People fall at my feet when they see me coming!"}, + [4] = {msg = "This will be the end of mortal man!"}, + [5] = {msg = "I will remove you from this plane of existence!"}, + [6] = {msg = "Dragons will soon rule this world, I am their herald!"}, + [7] = {msg = "The true virtue of chivalry are my belief!"}, + [8] = {msg = "I lead the most honourable and formidable following of knights!"}, + [9] = {msg = "ULTAH SALID'AR, ESDO LO!"}, +} + +GrandMasterOberonResponses = { + [1] = {msg = "How appropriate, you look like something worms already got the better of!"}, + [2] = {msg = "Are you ever going to fight or do you prefer talking!"}, + [3] = {msg = "Even before they smell your breath?"}, + [4] = {msg = "Then let me show you the concept of mortality before it!"}, + [5] = {msg = "Too bad you barely exist at all!"}, + [6] = {msg = "Excuse me but I still do not get the message!"}, + [7] = {msg = "Dare strike up a Minnesang and you will receive your last accolade!"}, + [8] = {msg = "Then why are we fighting alone right now?"}, + [9] = {msg = "SEHWO ASIMO, TOLIDO ESD!"}, +} + +GrandMasterOberonConfig = { + Storage = { + Asking = 1, + Life = 2, + Exhaust = 3, + }, + Monster = { + "Falcon Knight", + "Falcon Paladin" + }, + AmountLife = 3 +} + +local function healOberon(monster) + local storage = monster:getStorageValue(GrandMasterOberonConfig.Storage.Life) + monster:setStorageValue(GrandMasterOberonConfig.Storage.Life, storage + 1) + monster:addHealth(monster:getMaxHealth()) + +end + +function SendOberonAsking(monster) + monster:registerEvent('OberonImmunity') + local random = math.random(#GrandMasterOberonAsking) + monster:say(GrandMasterOberonAsking[random].msg, TALKTYPE_MONSTER_SAY) + monster:setStorageValue(GrandMasterOberonConfig.Storage.Asking, random) + + healOberon(monster) + + Game.createMonster(GrandMasterOberonConfig.Monster[math.random(#GrandMasterOberonConfig.Monster)], monster:getPosition(), true, true) +end diff --git a/data/monster/amphibics/azure_frog.lua b/data/monster/amphibics/azure_frog.lua index 1ffb0366f..1f203e655 100644 --- a/data/monster/amphibics/azure_frog.lua +++ b/data/monster/amphibics/azure_frog.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6079 monster.speed = 320 monster.manaCost = 305 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/amphibics/bog_frog.lua b/data/monster/amphibics/bog_frog.lua index 47925c852..72d6648ef 100644 --- a/data/monster/amphibics/bog_frog.lua +++ b/data/monster/amphibics/bog_frog.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6079 monster.speed = 320 monster.manaCost = 305 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/amphibics/coral_frog.lua b/data/monster/amphibics/coral_frog.lua index ad52ff78e..c510cb904 100644 --- a/data/monster/amphibics/coral_frog.lua +++ b/data/monster/amphibics/coral_frog.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6079 monster.speed = 320 monster.manaCost = 305 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/amphibics/crimson_frog.lua b/data/monster/amphibics/crimson_frog.lua index 4e4580555..896e85ab7 100644 --- a/data/monster/amphibics/crimson_frog.lua +++ b/data/monster/amphibics/crimson_frog.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6079 monster.speed = 320 monster.manaCost = 305 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/amphibics/deathspawn.lua b/data/monster/amphibics/deathspawn.lua index 11a317df5..f66f7a5cc 100644 --- a/data/monster/amphibics/deathspawn.lua +++ b/data/monster/amphibics/deathspawn.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 2220 monster.speed = 102 monster.manaCost = 305 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/amphibics/filth_toad.lua b/data/monster/amphibics/filth_toad.lua index 20c5c9ac3..0b83bcebd 100644 --- a/data/monster/amphibics/filth_toad.lua +++ b/data/monster/amphibics/filth_toad.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6077 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/amphibics/green_frog.lua b/data/monster/amphibics/green_frog.lua index b9ce690f3..e019d9038 100644 --- a/data/monster/amphibics/green_frog.lua +++ b/data/monster/amphibics/green_frog.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 6079 monster.speed = 320 monster.manaCost = 250 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/amphibics/infernal_frog.lua b/data/monster/amphibics/infernal_frog.lua index 43739f59c..0114875ad 100644 --- a/data/monster/amphibics/infernal_frog.lua +++ b/data/monster/amphibics/infernal_frog.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6079 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/amphibics/orchid_frog.lua b/data/monster/amphibics/orchid_frog.lua index a73d280a4..b5848309a 100644 --- a/data/monster/amphibics/orchid_frog.lua +++ b/data/monster/amphibics/orchid_frog.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6079 monster.speed = 320 monster.manaCost = 305 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/amphibics/salamander.lua b/data/monster/amphibics/salamander.lua index 24876c9fa..17af3b663 100644 --- a/data/monster/amphibics/salamander.lua +++ b/data/monster/amphibics/salamander.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 19707 monster.speed = 120 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/amphibics/toad.lua b/data/monster/amphibics/toad.lua index 92814660d..cfe01a94e 100644 --- a/data/monster/amphibics/toad.lua +++ b/data/monster/amphibics/toad.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6077 monster.speed = 210 monster.manaCost = 400 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/abyssal_calamary.lua b/data/monster/aquatics/abyssal_calamary.lua index 6f06a49ab..600775df4 100644 --- a/data/monster/aquatics/abyssal_calamary.lua +++ b/data/monster/aquatics/abyssal_calamary.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 15280 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/aquatics/blood_crab.lua b/data/monster/aquatics/blood_crab.lua index a4dd32c5f..cfd98c8af 100644 --- a/data/monster/aquatics/blood_crab.lua +++ b/data/monster/aquatics/blood_crab.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6075 monster.speed = 160 monster.manaCost = 505 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/aquatics/calamary.lua b/data/monster/aquatics/calamary.lua index 555e74289..fe3d2b3b7 100644 --- a/data/monster/aquatics/calamary.lua +++ b/data/monster/aquatics/calamary.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 15280 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/aquatics/crab.lua b/data/monster/aquatics/crab.lua index c96f98076..1fe67271f 100644 --- a/data/monster/aquatics/crab.lua +++ b/data/monster/aquatics/crab.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 6039 monster.speed = 144 monster.manaCost = 305 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/aquatics/crustacea_gigantica.lua b/data/monster/aquatics/crustacea_gigantica.lua index 9b8d32b45..28aa822eb 100644 --- a/data/monster/aquatics/crustacea_gigantica.lua +++ b/data/monster/aquatics/crustacea_gigantica.lua @@ -34,7 +34,6 @@ monster.race = "blood" monster.corpse = 13331 monster.speed = 480 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/deathling_scout.lua b/data/monster/aquatics/deathling_scout.lua index f9d6be56d..ffa572259 100644 --- a/data/monster/aquatics/deathling_scout.lua +++ b/data/monster/aquatics/deathling_scout.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 33373 monster.speed = 310 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/deathling_spellsinger.lua b/data/monster/aquatics/deathling_spellsinger.lua index 8a91b8a6b..c9028199e 100644 --- a/data/monster/aquatics/deathling_spellsinger.lua +++ b/data/monster/aquatics/deathling_spellsinger.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 32549 monster.speed = 310 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/deepling_brawler.lua b/data/monster/aquatics/deepling_brawler.lua index ffefda6a4..f90dae29c 100644 --- a/data/monster/aquatics/deepling_brawler.lua +++ b/data/monster/aquatics/deepling_brawler.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 13840 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/deepling_elite.lua b/data/monster/aquatics/deepling_elite.lua index 888740d2e..b29d686e3 100644 --- a/data/monster/aquatics/deepling_elite.lua +++ b/data/monster/aquatics/deepling_elite.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 15176 monster.speed = 330 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/deepling_guard.lua b/data/monster/aquatics/deepling_guard.lua index 8f80899a9..7ff160142 100644 --- a/data/monster/aquatics/deepling_guard.lua +++ b/data/monster/aquatics/deepling_guard.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 15187 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/deepling_master_librarian.lua b/data/monster/aquatics/deepling_master_librarian.lua index b515600c1..ab8996cc3 100644 --- a/data/monster/aquatics/deepling_master_librarian.lua +++ b/data/monster/aquatics/deepling_master_librarian.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 15211 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/deepling_scout.lua b/data/monster/aquatics/deepling_scout.lua index 13394aac5..ef6f6f629 100644 --- a/data/monster/aquatics/deepling_scout.lua +++ b/data/monster/aquatics/deepling_scout.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 13839 monster.speed = 130 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/deepling_spellsinger.lua b/data/monster/aquatics/deepling_spellsinger.lua index 5711e9eff..64f66c795 100644 --- a/data/monster/aquatics/deepling_spellsinger.lua +++ b/data/monster/aquatics/deepling_spellsinger.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 15208 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/deepling_tyrant.lua b/data/monster/aquatics/deepling_tyrant.lua index 15299a1cc..8e348a8d7 100644 --- a/data/monster/aquatics/deepling_tyrant.lua +++ b/data/monster/aquatics/deepling_tyrant.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 15188 monster.speed = 310 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/deepling_warrior.lua b/data/monster/aquatics/deepling_warrior.lua index 9e3489865..3c995e05a 100644 --- a/data/monster/aquatics/deepling_warrior.lua +++ b/data/monster/aquatics/deepling_warrior.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 15175 monster.speed = 290 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/deepling_worker.lua b/data/monster/aquatics/deepling_worker.lua index a2b1b25d9..dba2e87c7 100644 --- a/data/monster/aquatics/deepling_worker.lua +++ b/data/monster/aquatics/deepling_worker.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 15497 monster.speed = 130 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/deepsea_blood_crab.lua b/data/monster/aquatics/deepsea_blood_crab.lua index 03aca06e8..aea89a93a 100644 --- a/data/monster/aquatics/deepsea_blood_crab.lua +++ b/data/monster/aquatics/deepsea_blood_crab.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6075 monster.speed = 380 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/fish.lua b/data/monster/aquatics/fish.lua index 1e3000950..785742ede 100644 --- a/data/monster/aquatics/fish.lua +++ b/data/monster/aquatics/fish.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 2667 monster.speed = 140 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/aquatics/jellyfish.lua b/data/monster/aquatics/jellyfish.lua index 3cada9a59..d3c66997f 100644 --- a/data/monster/aquatics/jellyfish.lua +++ b/data/monster/aquatics/jellyfish.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 15284 monster.speed = 168 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/aquatics/manta_ray.lua b/data/monster/aquatics/manta_ray.lua index 890419313..1dc5240e8 100644 --- a/data/monster/aquatics/manta_ray.lua +++ b/data/monster/aquatics/manta_ray.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 15276 monster.speed = 168 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/aquatics/northern_pike.lua b/data/monster/aquatics/northern_pike.lua index 87d11a47a..a0a1e5c6a 100644 --- a/data/monster/aquatics/northern_pike.lua +++ b/data/monster/aquatics/northern_pike.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 2669 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/aquatics/quara_constrictor.lua b/data/monster/aquatics/quara_constrictor.lua index 58f890a51..4af97ff6b 100644 --- a/data/monster/aquatics/quara_constrictor.lua +++ b/data/monster/aquatics/quara_constrictor.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6065 monster.speed = 380 monster.manaCost = 670 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/quara_constrictor_scout.lua b/data/monster/aquatics/quara_constrictor_scout.lua index 00f6f4e4a..8d47d44af 100644 --- a/data/monster/aquatics/quara_constrictor_scout.lua +++ b/data/monster/aquatics/quara_constrictor_scout.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6065 monster.speed = 150 monster.manaCost = 670 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/quara_hydromancer.lua b/data/monster/aquatics/quara_hydromancer.lua index 2bf7eb45d..64dba058a 100644 --- a/data/monster/aquatics/quara_hydromancer.lua +++ b/data/monster/aquatics/quara_hydromancer.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6066 monster.speed = 490 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/quara_hydromancer_scout.lua b/data/monster/aquatics/quara_hydromancer_scout.lua index 647c85635..9753383cb 100644 --- a/data/monster/aquatics/quara_hydromancer_scout.lua +++ b/data/monster/aquatics/quara_hydromancer_scout.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 6066 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/quara_mantassin.lua b/data/monster/aquatics/quara_mantassin.lua index da2c68fac..c70443e2b 100644 --- a/data/monster/aquatics/quara_mantassin.lua +++ b/data/monster/aquatics/quara_mantassin.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6064 monster.speed = 590 monster.manaCost = 480 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/quara_mantassin_scout.lua b/data/monster/aquatics/quara_mantassin_scout.lua index 9079acccd..f7beeeffb 100644 --- a/data/monster/aquatics/quara_mantassin_scout.lua +++ b/data/monster/aquatics/quara_mantassin_scout.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6064 monster.speed = 140 monster.manaCost = 480 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/quara_pincher.lua b/data/monster/aquatics/quara_pincher.lua index 5c1d89f85..f427cc393 100644 --- a/data/monster/aquatics/quara_pincher.lua +++ b/data/monster/aquatics/quara_pincher.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6063 monster.speed = 396 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/quara_pincher_scout.lua b/data/monster/aquatics/quara_pincher_scout.lua index e72aced09..4aae78f7f 100644 --- a/data/monster/aquatics/quara_pincher_scout.lua +++ b/data/monster/aquatics/quara_pincher_scout.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6063 monster.speed = 156 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/quara_predator.lua b/data/monster/aquatics/quara_predator.lua index 30e6765d1..030830639 100644 --- a/data/monster/aquatics/quara_predator.lua +++ b/data/monster/aquatics/quara_predator.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6067 monster.speed = 450 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/quara_predator_scout.lua b/data/monster/aquatics/quara_predator_scout.lua index 779a04c02..38e5cad18 100644 --- a/data/monster/aquatics/quara_predator_scout.lua +++ b/data/monster/aquatics/quara_predator_scout.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6067 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/renegade_quara_constrictor.lua b/data/monster/aquatics/renegade_quara_constrictor.lua index 67e41f2e0..c756c7ac5 100644 --- a/data/monster/aquatics/renegade_quara_constrictor.lua +++ b/data/monster/aquatics/renegade_quara_constrictor.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6065 monster.speed = 380 monster.manaCost = 670 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/renegade_quara_hydromancer.lua b/data/monster/aquatics/renegade_quara_hydromancer.lua index 8943e6478..9a4a1ce65 100644 --- a/data/monster/aquatics/renegade_quara_hydromancer.lua +++ b/data/monster/aquatics/renegade_quara_hydromancer.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6066 monster.speed = 490 monster.manaCost = 330 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/renegade_quara_mantassin.lua b/data/monster/aquatics/renegade_quara_mantassin.lua index 10491e55f..6214a0e31 100644 --- a/data/monster/aquatics/renegade_quara_mantassin.lua +++ b/data/monster/aquatics/renegade_quara_mantassin.lua @@ -17,7 +17,7 @@ monster.raceId = 1099 monster.Bestiary = { class = "Aquatic", race = BESTY_RACE_AQUATIC, - toKill = 100, + toKill = 1000, FirstUnlock = 50, SecondUnlock = 500, CharmsPoints = 25, @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6064 monster.speed = 590 monster.manaCost = 330 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/renegade_quara_pincher.lua b/data/monster/aquatics/renegade_quara_pincher.lua index fdf7a52da..e70ef04c3 100644 --- a/data/monster/aquatics/renegade_quara_pincher.lua +++ b/data/monster/aquatics/renegade_quara_pincher.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6063 monster.speed = 396 monster.manaCost = 330 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/renegade_quara_predator.lua b/data/monster/aquatics/renegade_quara_predator.lua index 59a698992..b515b8787 100644 --- a/data/monster/aquatics/renegade_quara_predator.lua +++ b/data/monster/aquatics/renegade_quara_predator.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6067 monster.speed = 450 monster.manaCost = 330 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/aquatics/shark.lua b/data/monster/aquatics/shark.lua index 03911d36b..4c966048c 100644 --- a/data/monster/aquatics/shark.lua +++ b/data/monster/aquatics/shark.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 15287 monster.speed = 290 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/birds/agressive_chicken.lua b/data/monster/birds/agressive_chicken.lua index 97f834051..f5c3f0d35 100644 --- a/data/monster/birds/agressive_chicken.lua +++ b/data/monster/birds/agressive_chicken.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6042 monster.speed = 128 monster.manaCost = 220 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/birds/agrestic_chicken.lua b/data/monster/birds/agrestic_chicken.lua index 1bb1af764..64ee95448 100644 --- a/data/monster/birds/agrestic_chicken.lua +++ b/data/monster/birds/agrestic_chicken.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6042 monster.speed = 128 monster.manaCost = 220 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/birds/berserker_chicken.lua b/data/monster/birds/berserker_chicken.lua index 4b759db47..8dae1b0db 100644 --- a/data/monster/birds/berserker_chicken.lua +++ b/data/monster/birds/berserker_chicken.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6042 monster.speed = 166 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/birds/cave_parrot.lua b/data/monster/birds/cave_parrot.lua index e092d47da..2eab92f97 100644 --- a/data/monster/birds/cave_parrot.lua +++ b/data/monster/birds/cave_parrot.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6056 monster.speed = 320 monster.manaCost = 250 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/birds/chicken.lua b/data/monster/birds/chicken.lua index e7ff7fea5..1dffbc705 100644 --- a/data/monster/birds/chicken.lua +++ b/data/monster/birds/chicken.lua @@ -34,7 +34,6 @@ monster.race = "blood" monster.corpse = 6042 monster.speed = 128 monster.manaCost = 220 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/birds/demon_parrot.lua b/data/monster/birds/demon_parrot.lua index 81c826a6c..9bdafa558 100644 --- a/data/monster/birds/demon_parrot.lua +++ b/data/monster/birds/demon_parrot.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6056 monster.speed = 320 monster.manaCost = 250 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/birds/dire_penguin.lua b/data/monster/birds/dire_penguin.lua index a59f10001..f4b3bb609 100644 --- a/data/monster/birds/dire_penguin.lua +++ b/data/monster/birds/dire_penguin.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 7334 monster.speed = 174 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/birds/flamingo.lua b/data/monster/birds/flamingo.lua index 99b419c9d..9b14daf29 100644 --- a/data/monster/birds/flamingo.lua +++ b/data/monster/birds/flamingo.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6054 monster.speed = 168 monster.manaCost = 250 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/birds/marsh_stalker.lua b/data/monster/birds/marsh_stalker.lua index f21e2c5ed..6a41e6f65 100644 --- a/data/monster/birds/marsh_stalker.lua +++ b/data/monster/birds/marsh_stalker.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 19708 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/birds/parrot.lua b/data/monster/birds/parrot.lua index d53ce7940..a1740d974 100644 --- a/data/monster/birds/parrot.lua +++ b/data/monster/birds/parrot.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6056 monster.speed = 320 monster.manaCost = 250 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/birds/penguin.lua b/data/monster/birds/penguin.lua index ef6f01d6e..d74a81f10 100644 --- a/data/monster/birds/penguin.lua +++ b/data/monster/birds/penguin.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 7334 monster.speed = 116 monster.manaCost = 300 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/birds/pigeon.lua b/data/monster/birds/pigeon.lua index e914de1c6..950592c5d 100644 --- a/data/monster/birds/pigeon.lua +++ b/data/monster/birds/pigeon.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 19709 monster.speed = 130 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/birds/seagull.lua b/data/monster/birds/seagull.lua index 81809f559..ac98a180a 100644 --- a/data/monster/birds/seagull.lua +++ b/data/monster/birds/seagull.lua @@ -35,7 +35,6 @@ monster.race = "blood" monster.corpse = 6076 monster.speed = 320 monster.manaCost = 250 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/birds/terror_bird.lua b/data/monster/birds/terror_bird.lua index f3736a36d..85dbd889d 100644 --- a/data/monster/birds/terror_bird.lua +++ b/data/monster/birds/terror_bird.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6057 monster.speed = 212 monster.manaCost = 490 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/ancient_lion_archer.lua b/data/monster/bosses/ancient_lion_archer.lua index 80d82be19..1102b90d3 100644 --- a/data/monster/bosses/ancient_lion_archer.lua +++ b/data/monster/bosses/ancient_lion_archer.lua @@ -18,8 +18,6 @@ monster.maxHealth = 9000 monster.race = "blood" monster.corpse = 38796 monster.speed = 250 -monster.summonCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +45,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/bosses/ancient_lion_knight.lua b/data/monster/bosses/ancient_lion_knight.lua index 51ef2447b..da50b1915 100644 --- a/data/monster/bosses/ancient_lion_knight.lua +++ b/data/monster/bosses/ancient_lion_knight.lua @@ -18,8 +18,6 @@ monster.maxHealth = 9100 monster.race = "blood" monster.corpse = 33364 monster.speed = 260 -monster.summonCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +45,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/bosses/ancient_lion_warlock.lua b/data/monster/bosses/ancient_lion_warlock.lua index f627c826d..5234dd5bc 100644 --- a/data/monster/bosses/ancient_lion_warlock.lua +++ b/data/monster/bosses/ancient_lion_warlock.lua @@ -18,8 +18,6 @@ monster.maxHealth = 8500 monster.race = "blood" monster.corpse = 38800 monster.speed = 330 -monster.summonCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +45,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/bosses/apocalypse.lua b/data/monster/bosses/apocalypse.lua index a2de7f8f5..769605abf 100644 --- a/data/monster/bosses/apocalypse.lua +++ b/data/monster/bosses/apocalypse.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 6068 monster.speed = 380 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/bosses/apprentice_sheng.lua b/data/monster/bosses/apprentice_sheng.lua index 5cf7a2ef4..1ffb83651 100644 --- a/data/monster/bosses/apprentice_sheng.lua +++ b/data/monster/bosses/apprentice_sheng.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5981 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Hyaena", chance = 30, interval = 5000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Hyaena", chance = 30, interval = 5000, count = 2} + } } monster.voices = { diff --git a/data/monster/bosses/armenius.lua b/data/monster/bosses/armenius.lua index 7b0f9506a..3c0eca25a 100644 --- a/data/monster/bosses/armenius.lua +++ b/data/monster/bosses/armenius.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6006 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/bazir.lua b/data/monster/bosses/bazir.lua index f7df6a8e8..397c39718 100644 --- a/data/monster/bosses/bazir.lua +++ b/data/monster/bosses/bazir.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 2916 monster.speed = 530 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "bazir", chance = 15, interval = 1000, max = 1} +monster.summon = { + maxSummons = 1, + summons = { + {name = "bazir", chance = 15, interval = 1000, count = 1} + } } monster.voices = { diff --git a/data/monster/bosses/bibby_bloodbath.lua b/data/monster/bosses/bibby_bloodbath.lua index 063c03dc2..6ea736ef6 100644 --- a/data/monster/bosses/bibby_bloodbath.lua +++ b/data/monster/bosses/bibby_bloodbath.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6008 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/big_boss_trolliver.lua b/data/monster/bosses/big_boss_trolliver.lua index 47aa849aa..fc97cd190 100644 --- a/data/monster/bosses/big_boss_trolliver.lua +++ b/data/monster/bosses/big_boss_trolliver.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7926 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 5 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Troll Champion", chance = 30, interval = 2000} +monster.summon = { + maxSummons = 5, + summons = { + {name = "Troll Champion", chance = 30, interval = 2000, count =5} + } } monster.voices = { diff --git a/data/monster/bosses/black_knight.lua b/data/monster/bosses/black_knight.lua index 18ce3f421..a554ef7c9 100644 --- a/data/monster/bosses/black_knight.lua +++ b/data/monster/bosses/black_knight.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20355 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -49,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/bosses/bullwark.lua b/data/monster/bosses/bullwark.lua index 4e9695d6f..7b30340f5 100644 --- a/data/monster/bosses/bullwark.lua +++ b/data/monster/bosses/bullwark.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 23367 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/chikhaton.lua b/data/monster/bosses/chikhaton.lua index d908a6e50..8012b0929 100644 --- a/data/monster/bosses/chikhaton.lua +++ b/data/monster/bosses/chikhaton.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 12273 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/bosses/clubarc_the_plunderer.lua b/data/monster/bosses/clubarc_the_plunderer.lua index 94f6b3cb7..c2f0d3f31 100644 --- a/data/monster/bosses/clubarc_the_plunderer.lua +++ b/data/monster/bosses/clubarc_the_plunderer.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 11254 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/custodian.lua b/data/monster/bosses/custodian.lua index d7a4cf773..a372f5be3 100644 --- a/data/monster/bosses/custodian.lua +++ b/data/monster/bosses/custodian.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 36758 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/bosses/dharalion.lua b/data/monster/bosses/dharalion.lua index 0cb140d84..7fe8e5439 100644 --- a/data/monster/bosses/dharalion.lua +++ b/data/monster/bosses/dharalion.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6011 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "demon skeleton", chance = 6, interval = 1000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "demon skeleton", chance = 6, interval = 1000, count = 2} + } } monster.voices = { diff --git a/data/monster/bosses/diblis_the_fair.lua b/data/monster/bosses/diblis_the_fair.lua index 062897bc1..1801f6e49 100644 --- a/data/monster/bosses/diblis_the_fair.lua +++ b/data/monster/bosses/diblis_the_fair.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8937 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Banshee", chance = 50, interval = 4500} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Banshee", chance = 50, interval = 4500, count = 3} + } } monster.voices = { diff --git a/data/monster/bosses/diseased_bill.lua b/data/monster/bosses/diseased_bill.lua index 69ff2a34f..d1a53420c 100644 --- a/data/monster/bosses/diseased_bill.lua +++ b/data/monster/bosses/diseased_bill.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 8951 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/bosses/diseased_dan.lua b/data/monster/bosses/diseased_dan.lua index 9dcae431f..600a2a271 100644 --- a/data/monster/bosses/diseased_dan.lua +++ b/data/monster/bosses/diseased_dan.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 8951 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/bosses/diseased_fred.lua b/data/monster/bosses/diseased_fred.lua index 5875e49d5..107f7d057 100644 --- a/data/monster/bosses/diseased_fred.lua +++ b/data/monster/bosses/diseased_fred.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 8951 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/bosses/ekatrix.lua b/data/monster/bosses/ekatrix.lua index dbab3872d..ed6cbabfb 100644 --- a/data/monster/bosses/ekatrix.lua +++ b/data/monster/bosses/ekatrix.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20535 monster.speed = 102 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/energized_raging_mage.lua b/data/monster/bosses/energized_raging_mage.lua index 6ceb31d79..87933f9c9 100644 --- a/data/monster/bosses/energized_raging_mage.lua +++ b/data/monster/bosses/energized_raging_mage.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Golden Servant", chance = 50, interval = 2000} +monster.summon = { + maxSummons = 1, + summons = { + {name = "Golden Servant", chance = 50, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/bosses/fleshslicer.lua b/data/monster/bosses/fleshslicer.lua index 32f4a6e90..42a8857a6 100644 --- a/data/monster/bosses/fleshslicer.lua +++ b/data/monster/bosses/fleshslicer.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 15296 monster.speed = 560 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/bosses/freegoiz.lua b/data/monster/bosses/freegoiz.lua index fce9347a7..d4ea897fa 100644 --- a/data/monster/bosses/freegoiz.lua +++ b/data/monster/bosses/freegoiz.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 6068 monster.speed = 380 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/gaffir.lua b/data/monster/bosses/gaffir.lua index efa51db5a..1f90cec22 100644 --- a/data/monster/bosses/gaffir.lua +++ b/data/monster/bosses/gaffir.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 36142 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Black Cobra", chance = 10, interval = 2000, max = 1} +monster.summon = { + maxSummons = 1, + summons = { + {name = "Black Cobra", chance = 10, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/bosses/general_murius.lua b/data/monster/bosses/general_murius.lua index 6c5d4d8fa..6f0253978 100644 --- a/data/monster/bosses/general_murius.lua +++ b/data/monster/bosses/general_murius.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 23462 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 5000, @@ -49,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -58,9 +56,12 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Minotaur Archer", chance = 15, interval = 1000, max = 2}, - {name = "Minotaur Guard", chance = 12, interval = 1000, max = 2} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Minotaur Archer", chance = 15, interval = 1000, count = 2}, + {name = "Minotaur Guard", chance = 12, interval = 1000, count = 2} + } } monster.voices = { diff --git a/data/monster/bosses/glitterscale.lua b/data/monster/bosses/glitterscale.lua index e1c420160..829e915fd 100644 --- a/data/monster/bosses/glitterscale.lua +++ b/data/monster/bosses/glitterscale.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 12545 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/bosses/grandfather_tridian.lua b/data/monster/bosses/grandfather_tridian.lua index 21c0d818b..b68fb3604 100644 --- a/data/monster/bosses/grandfather_tridian.lua +++ b/data/monster/bosses/grandfather_tridian.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20391 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,9 +57,12 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Crypt Shambler", chance = 10, interval = 2000}, - {name = "Ghost", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Crypt Shambler", chance = 10, interval = 2000, count = 1}, + {name = "Ghost", chance = 10, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/bosses/gravelord_oshuran.lua b/data/monster/bosses/gravelord_oshuran.lua index e03af9222..c3e065cdd 100644 --- a/data/monster/bosses/gravelord_oshuran.lua +++ b/data/monster/bosses/gravelord_oshuran.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6028 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Bonebeast", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Bonebeast", chance = 10, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/bosses/groam.lua b/data/monster/bosses/groam.lua index 650062f8e..d52d0d026 100644 --- a/data/monster/bosses/groam.lua +++ b/data/monster/bosses/groam.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 13839 monster.speed = 560 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/guard_captain_quaid.lua b/data/monster/bosses/guard_captain_quaid.lua index 9cffa62a3..775bca82f 100644 --- a/data/monster/bosses/guard_captain_quaid.lua +++ b/data/monster/bosses/guard_captain_quaid.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 36489 monster.speed = 185 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/bosses/hairman_the_huge.lua b/data/monster/bosses/hairman_the_huge.lua index fd589f025..7b4188f00 100644 --- a/data/monster/bosses/hairman_the_huge.lua +++ b/data/monster/bosses/hairman_the_huge.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6043 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/heoni.lua b/data/monster/bosses/heoni.lua index c3195a492..fdbaa4afe 100644 --- a/data/monster/bosses/heoni.lua +++ b/data/monster/bosses/heoni.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 12546 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/bosses/incredibly_old_witch.lua b/data/monster/bosses/incredibly_old_witch.lua index 9d412be20..675e4c4a9 100644 --- a/data/monster/bosses/incredibly_old_witch.lua +++ b/data/monster/bosses/incredibly_old_witch.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6081 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/bosses/infernatil.lua b/data/monster/bosses/infernatil.lua index 7cdc49cfa..8492c27ca 100644 --- a/data/monster/bosses/infernatil.lua +++ b/data/monster/bosses/infernatil.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 2916 monster.speed = 605 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "hellfire fighter", chance = 8, interval = 1000, max = 4} +monster.summon = { + maxSummons = 4, + summons = { + {name = "hellfire fighter", chance = 8, interval = 1000, count = 3} + } } monster.voices = { diff --git a/data/monster/bosses/jesse_the_wicked.lua b/data/monster/bosses/jesse_the_wicked.lua index 578e3b874..531c127bf 100644 --- a/data/monster/bosses/jesse_the_wicked.lua +++ b/data/monster/bosses/jesse_the_wicked.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20434 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/koshei_the_deathless.lua b/data/monster/bosses/koshei_the_deathless.lua index 7b872b797..e826ff647 100644 --- a/data/monster/bosses/koshei_the_deathless.lua +++ b/data/monster/bosses/koshei_the_deathless.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8272 monster.speed = 390 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "bonebeast", chance = 21, interval = 1000, max = 1} +monster.summon = { + maxSummons = 1, + summons = { + {name = "bonebeast", chance = 21, interval = 1000, count = 1} + } } monster.voices = { diff --git a/data/monster/bosses/kraknaknork's_demon.lua b/data/monster/bosses/kraknaknork's_demon.lua index d5afa7231..1143214b7 100644 --- a/data/monster/bosses/kraknaknork's_demon.lua +++ b/data/monster/bosses/kraknaknork's_demon.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 6068 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/bosses/kraknaknork.lua b/data/monster/bosses/kraknaknork.lua index 5be0d4d49..92943ee19 100644 --- a/data/monster/bosses/kraknaknork.lua +++ b/data/monster/bosses/kraknaknork.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5978 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Weakened Demon", chance = 20, interval = 2000} +monster.summon = { + maxSummons = 1, + summons = { + {name = "Weakened Demon", chance = 20, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/bosses/kroazur.lua b/data/monster/bosses/kroazur.lua index 7289696ba..44d394740 100644 --- a/data/monster/bosses/kroazur.lua +++ b/data/monster/bosses/kroazur.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6325 monster.speed = 500 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/bosses/lisa.lua b/data/monster/bosses/lisa.lua index 3afd09f43..4a1bf5ddb 100644 --- a/data/monster/bosses/lisa.lua +++ b/data/monster/bosses/lisa.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 23359 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/bosses/mad_mage.lua b/data/monster/bosses/mad_mage.lua index e810f6820..447149459 100644 --- a/data/monster/bosses/mad_mage.lua +++ b/data/monster/bosses/mad_mage.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 13603 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Golden Servant", chance = 10, interval = 1000} +monster.summon = { + maxSummons = 1, + summons = { + {name = "Golden Servant", chance = 10, interval = 1000, count = 1} + } } monster.voices = { diff --git a/data/monster/bosses/mad_technomancer.lua b/data/monster/bosses/mad_technomancer.lua index d40ebabd5..fcd01ef7f 100644 --- a/data/monster/bosses/mad_technomancer.lua +++ b/data/monster/bosses/mad_technomancer.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6015 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 500, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/morik_the_gladiator.lua b/data/monster/bosses/morik_the_gladiator.lua index 5ac96c174..c6c22727e 100644 --- a/data/monster/bosses/morik_the_gladiator.lua +++ b/data/monster/bosses/morik_the_gladiator.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20454 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Gladiator", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Gladiator", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/bosses/munster.lua b/data/monster/bosses/munster.lua index 8a70b70a0..588f6d10c 100644 --- a/data/monster/bosses/munster.lua +++ b/data/monster/bosses/munster.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 2813 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 10000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Rat", chance = 20, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Rat", chance = 20, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/bosses/pythius_the_rotten.lua b/data/monster/bosses/pythius_the_rotten.lua index 1d3b48173..ea5a8dc2b 100644 --- a/data/monster/bosses/pythius_the_rotten.lua +++ b/data/monster/bosses/pythius_the_rotten.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 7349 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Undead Gladiator", chance = 10, interval = 1000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Undead Gladiator", chance = 10, interval = 1000, count = 2} + } } monster.voices = { diff --git a/data/monster/bosses/raging_mage.lua b/data/monster/bosses/raging_mage.lua index ac3b89311..5c9594afd 100644 --- a/data/monster/bosses/raging_mage.lua +++ b/data/monster/bosses/raging_mage.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 13834 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Golden Servant", chance = 50, interval = 2000} +monster.summon = { + maxSummons = 1, + summons = { + {name = "Golden Servant", chance = 50, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/bosses/raxias.lua b/data/monster/bosses/raxias.lua index c619d1921..1de22bc16 100644 --- a/data/monster/bosses/raxias.lua +++ b/data/monster/bosses/raxias.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 33427 monster.speed = 50 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/renegade_orc.lua b/data/monster/bosses/renegade_orc.lua index abb937c44..4caa4b582 100644 --- a/data/monster/bosses/renegade_orc.lua +++ b/data/monster/bosses/renegade_orc.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6001 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/robby_the_reckless.lua b/data/monster/bosses/robby_the_reckless.lua index 686b7d8c1..ebb21a9e5 100644 --- a/data/monster/bosses/robby_the_reckless.lua +++ b/data/monster/bosses/robby_the_reckless.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20498 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/rukor_zad.lua b/data/monster/bosses/rukor_zad.lua index d96501288..9766de86f 100644 --- a/data/monster/bosses/rukor_zad.lua +++ b/data/monster/bosses/rukor_zad.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20578 monster.speed = 215 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/smuggler_baron_silvertoe.lua b/data/monster/bosses/smuggler_baron_silvertoe.lua index 2c3f73eb9..1ac00ed66 100644 --- a/data/monster/bosses/smuggler_baron_silvertoe.lua +++ b/data/monster/bosses/smuggler_baron_silvertoe.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20506 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Wild Warrior", chance = 20, interval = 2000} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Wild Warrior", chance = 20, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/bosses/spider_queen.lua b/data/monster/bosses/spider_queen.lua index 48474835b..0cb06360f 100644 --- a/data/monster/bosses/spider_queen.lua +++ b/data/monster/bosses/spider_queen.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 6060 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/splasher.lua b/data/monster/bosses/splasher.lua index 811e47afb..0d925e90e 100644 --- a/data/monster/bosses/splasher.lua +++ b/data/monster/bosses/splasher.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6064 monster.speed = 520 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/teleskor.lua b/data/monster/bosses/teleskor.lua index 780bfa436..8213fd6de 100644 --- a/data/monster/bosses/teleskor.lua +++ b/data/monster/bosses/teleskor.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 5972 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/the_abomination.lua b/data/monster/bosses/the_abomination.lua index a35ec8055..078d810cb 100644 --- a/data/monster/bosses/the_abomination.lua +++ b/data/monster/bosses/the_abomination.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 6532 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/the_astral_source.lua b/data/monster/bosses/the_astral_source.lua index 8b9648e4b..2768a8e50 100644 --- a/data/monster/bosses/the_astral_source.lua +++ b/data/monster/bosses/the_astral_source.lua @@ -13,7 +13,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 0 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -44,8 +43,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "AstralSource" } monster.light = { diff --git a/data/monster/bosses/the_blightfather.lua b/data/monster/bosses/the_blightfather.lua index ca8029d73..0cc205b84 100644 --- a/data/monster/bosses/the_blightfather.lua +++ b/data/monster/bosses/the_blightfather.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 11375 monster.speed = 290 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/the_book_of_death.lua b/data/monster/bosses/the_book_of_death.lua index 905e1dbe6..4bef06293 100644 --- a/data/monster/bosses/the_book_of_death.lua +++ b/data/monster/bosses/the_book_of_death.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/the_collector.lua b/data/monster/bosses/the_collector.lua index ba865ec76..189e3bdd2 100644 --- a/data/monster/bosses/the_collector.lua +++ b/data/monster/bosses/the_collector.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 10612 monster.speed = 195 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/the_evil_eye.lua b/data/monster/bosses/the_evil_eye.lua index 48e6cd2d6..5f52828e8 100644 --- a/data/monster/bosses/the_evil_eye.lua +++ b/data/monster/bosses/the_evil_eye.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6037 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 5 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -56,9 +54,12 @@ monster.light = { color = 0 } -monster.summons = { - {name = "demon skeleton", chance = 13, interval = 1000, max = 5}, - {name = "ghost", chance = 12, interval = 1000, max = 4} +monster.summon = { + maxSummons = 5, + summons = { + {name = "demon skeleton", chance = 13, interval = 1000, count = 5}, + {name = "ghost", chance = 12, interval = 1000, count = 3} + } } monster.voices = { diff --git a/data/monster/bosses/the_first_dragon.lua b/data/monster/bosses/the_first_dragon.lua index b255b72a3..a5bb29fa2 100644 --- a/data/monster/bosses/the_first_dragon.lua +++ b/data/monster/bosses/the_first_dragon.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 27733 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "First Dragon Death" } monster.light = { diff --git a/data/monster/bosses/the_frog_prince.lua b/data/monster/bosses/the_frog_prince.lua index f90b259a6..0c2b3e6af 100644 --- a/data/monster/bosses/the_frog_prince.lua +++ b/data/monster/bosses/the_frog_prince.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 6079 monster.speed = 230 monster.manaCost = 250 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/verminor.lua b/data/monster/bosses/verminor.lua index b1a8b651e..70d7b0557 100644 --- a/data/monster/bosses/verminor.lua +++ b/data/monster/bosses/verminor.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 6068 monster.speed = 380 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/visco.lua b/data/monster/bosses/visco.lua index ab4746074..6117b75bb 100644 --- a/data/monster/bosses/visco.lua +++ b/data/monster/bosses/visco.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 21266 monster.speed = 290 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/warlord_ruzad.lua b/data/monster/bosses/warlord_ruzad.lua index e60c045f1..c49d9a1d7 100644 --- a/data/monster/bosses/warlord_ruzad.lua +++ b/data/monster/bosses/warlord_ruzad.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6008 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Orc Berserker", chance = 30, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Orc Berserker", chance = 30, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/bosses/weakened_demon.lua b/data/monster/bosses/weakened_demon.lua index 5a1b7162c..11f6c8dc1 100644 --- a/data/monster/bosses/weakened_demon.lua +++ b/data/monster/bosses/weakened_demon.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/bosses/weakened_shlorg.lua b/data/monster/bosses/weakened_shlorg.lua index c1827e716..0e1a1c762 100644 --- a/data/monster/bosses/weakened_shlorg.lua +++ b/data/monster/bosses/weakened_shlorg.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 21299 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/williwasp.lua b/data/monster/bosses/williwasp.lua index c8b078711..7402c75da 100644 --- a/data/monster/bosses/williwasp.lua +++ b/data/monster/bosses/williwasp.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 5989 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/yaga_the_crone.lua b/data/monster/bosses/yaga_the_crone.lua index 9994dfd6f..41eb85e2b 100644 --- a/data/monster/bosses/yaga_the_crone.lua +++ b/data/monster/bosses/yaga_the_crone.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20587 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/zamuloshsummom.lua b/data/monster/bosses/zamuloshsummom.lua index f11e9159d..957baa3eb 100644 --- a/data/monster/bosses/zamuloshsummom.lua +++ b/data/monster/bosses/zamuloshsummom.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 8062 monster.speed = 235 monster.manaCost = 200 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/bosses/zarabustor.lua b/data/monster/bosses/zarabustor.lua index b4b47358f..26b842fa6 100644 --- a/data/monster/bosses/zarabustor.lua +++ b/data/monster/bosses/zarabustor.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20554 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,9 +57,12 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Warlock", chance = 10, interval = 2000, max = 2}, - {name = "Green Djinn", chance = 10, interval = 2000, max = 3} +monster.summon = { + maxSummons = 5, + summons = { + {name = "Warlock", chance = 10, interval = 2000, count = 2}, + {name = "Green Djinn", chance = 10, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/bosses/zavarash.lua b/data/monster/bosses/zavarash.lua index 6dcacd3a8..96a59c211 100644 --- a/data/monster/bosses/zavarash.lua +++ b/data/monster/bosses/zavarash.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6068 monster.speed = 440 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "dark torturer", chance = 100, interval = 1000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "dark torturer", chance = 100, interval = 1000, count = 2} + } } monster.voices = { diff --git a/data/monster/bosses/zevelon_duskbringer.lua b/data/monster/bosses/zevelon_duskbringer.lua index 6db03120b..6ab20164f 100644 --- a/data/monster/bosses/zevelon_duskbringer.lua +++ b/data/monster/bosses/zevelon_duskbringer.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8937 monster.speed = 310 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Vampire", chance = 40, interval = 3000} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Vampire", chance = 40, interval = 3000, count = 3} + } } monster.voices = { diff --git a/data/monster/bosses/zoralurk.lua b/data/monster/bosses/zoralurk.lua index 602780215..2ec385416 100644 --- a/data/monster/bosses/zoralurk.lua +++ b/data/monster/bosses/zoralurk.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6068 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 10000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "demon", chance = 50, interval = 4000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "demon", chance = 50, interval = 4000, count = 2} + } } monster.voices = { diff --git a/data/monster/bosses/zushuka.lua b/data/monster/bosses/zushuka.lua index 5042298f3..c966e00e9 100644 --- a/data/monster/bosses/zushuka.lua +++ b/data/monster/bosses/zushuka.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20546 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/constructs/animated_snowman.lua b/data/monster/constructs/animated_snowman.lua index 0d786fece..923b8053d 100644 --- a/data/monster/constructs/animated_snowman.lua +++ b/data/monster/constructs/animated_snowman.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 35162 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/biting_book.lua b/data/monster/constructs/biting_book.lua index a8c82d8c5..59c7374c1 100644 --- a/data/monster/constructs/biting_book.lua +++ b/data/monster/constructs/biting_book.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 33353 monster.speed = 480 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/clay_guardian.lua b/data/monster/constructs/clay_guardian.lua index e22c68f05..4b46370b0 100644 --- a/data/monster/constructs/clay_guardian.lua +++ b/data/monster/constructs/clay_guardian.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 13972 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/damaged_crystal_golem.lua b/data/monster/constructs/damaged_crystal_golem.lua index c1f50e1c0..92f884170 100644 --- a/data/monster/constructs/damaged_crystal_golem.lua +++ b/data/monster/constructs/damaged_crystal_golem.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 18466 monster.speed = 268 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/constructs/damaged_worker_golem.lua b/data/monster/constructs/damaged_worker_golem.lua index f8082e8d9..a6ddaecc9 100644 --- a/data/monster/constructs/damaged_worker_golem.lua +++ b/data/monster/constructs/damaged_worker_golem.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 9801 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/diamond_servant.lua b/data/monster/constructs/diamond_servant.lua index 53faa84ab..7e27733d6 100644 --- a/data/monster/constructs/diamond_servant.lua +++ b/data/monster/constructs/diamond_servant.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 13485 monster.speed = 172 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/diamond_servant_replica.lua b/data/monster/constructs/diamond_servant_replica.lua index f4151b78e..7d1d05144 100644 --- a/data/monster/constructs/diamond_servant_replica.lua +++ b/data/monster/constructs/diamond_servant_replica.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 13485 monster.speed = 172 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/enraged_crystal_golem.lua b/data/monster/constructs/enraged_crystal_golem.lua index 3cdec1a5a..b8ac84348 100644 --- a/data/monster/constructs/enraged_crystal_golem.lua +++ b/data/monster/constructs/enraged_crystal_golem.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 18466 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/eternal_guardian.lua b/data/monster/constructs/eternal_guardian.lua index 940b465af..ad957bb2a 100644 --- a/data/monster/constructs/eternal_guardian.lua +++ b/data/monster/constructs/eternal_guardian.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 11300 monster.speed = 204 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/glooth_golem.lua b/data/monster/constructs/glooth_golem.lua index f6bb03eee..71a90aedc 100644 --- a/data/monster/constructs/glooth_golem.lua +++ b/data/monster/constructs/glooth_golem.lua @@ -33,7 +33,6 @@ monster.race = "venom" monster.corpse = 23343 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/golden_servant.lua b/data/monster/constructs/golden_servant.lua index 5e272d968..9b5cac318 100644 --- a/data/monster/constructs/golden_servant.lua +++ b/data/monster/constructs/golden_servant.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 13489 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/golden_servant_replica.lua b/data/monster/constructs/golden_servant_replica.lua index dee45c95d..b9938dce2 100644 --- a/data/monster/constructs/golden_servant_replica.lua +++ b/data/monster/constructs/golden_servant_replica.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 13484 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/ice_golem.lua b/data/monster/constructs/ice_golem.lua index a694494d0..6cd5d117a 100644 --- a/data/monster/constructs/ice_golem.lua +++ b/data/monster/constructs/ice_golem.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 7282 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/infected_weeper.lua b/data/monster/constructs/infected_weeper.lua index 2d8055d02..62821e365 100644 --- a/data/monster/constructs/infected_weeper.lua +++ b/data/monster/constructs/infected_weeper.lua @@ -32,7 +32,6 @@ monster.race = "fire" monster.corpse = 17251 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 6 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -70,8 +68,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Parasite", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 6, + summons = { + {name = "Parasite", chance = 10, interval = 2000, count = 6} + } } monster.voices = { diff --git a/data/monster/constructs/iron_servant.lua b/data/monster/constructs/iron_servant.lua index 105285bca..dcc02759c 100644 --- a/data/monster/constructs/iron_servant.lua +++ b/data/monster/constructs/iron_servant.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 13486 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/constructs/iron_servant_replica.lua b/data/monster/constructs/iron_servant_replica.lua index 82f4f4bec..e0bfe4646 100644 --- a/data/monster/constructs/iron_servant_replica.lua +++ b/data/monster/constructs/iron_servant_replica.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 13483 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/constructs/lava_golem.lua b/data/monster/constructs/lava_golem.lua index c93a85351..32f54eb7a 100644 --- a/data/monster/constructs/lava_golem.lua +++ b/data/monster/constructs/lava_golem.lua @@ -32,7 +32,6 @@ monster.race = "fire" monster.corpse = 17333 monster.speed = 420 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/magma_crawler.lua b/data/monster/constructs/magma_crawler.lua index 0259e9b28..cc3d967bf 100644 --- a/data/monster/constructs/magma_crawler.lua +++ b/data/monster/constructs/magma_crawler.lua @@ -32,7 +32,6 @@ monster.race = "fire" monster.corpse = 17336 monster.speed = 460 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/metal_gargoyle.lua b/data/monster/constructs/metal_gargoyle.lua index cb4ad17a4..2859fac66 100644 --- a/data/monster/constructs/metal_gargoyle.lua +++ b/data/monster/constructs/metal_gargoyle.lua @@ -33,7 +33,6 @@ monster.race = "venom" monster.corpse = 23347 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/orewalker.lua b/data/monster/constructs/orewalker.lua index 9f9f3c389..36d73bf8b 100644 --- a/data/monster/constructs/orewalker.lua +++ b/data/monster/constructs/orewalker.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 17256 monster.speed = 380 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/rotten_golem.lua b/data/monster/constructs/rotten_golem.lua index 77c428c81..4820b9f46 100644 --- a/data/monster/constructs/rotten_golem.lua +++ b/data/monster/constructs/rotten_golem.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 38732 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/rustheap_golem.lua b/data/monster/constructs/rustheap_golem.lua index c50187a0b..106138e62 100644 --- a/data/monster/constructs/rustheap_golem.lua +++ b/data/monster/constructs/rustheap_golem.lua @@ -33,7 +33,6 @@ monster.race = "venom" monster.corpse = 23355 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/sandstone_scorpion.lua b/data/monster/constructs/sandstone_scorpion.lua index 2b2baf475..aeb36aa96 100644 --- a/data/monster/constructs/sandstone_scorpion.lua +++ b/data/monster/constructs/sandstone_scorpion.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 13501 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/stone_devourer.lua b/data/monster/constructs/stone_devourer.lua index f553dee7b..d8c283518 100644 --- a/data/monster/constructs/stone_devourer.lua +++ b/data/monster/constructs/stone_devourer.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 18375 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/stone_golem.lua b/data/monster/constructs/stone_golem.lua index 435e87274..2251ece67 100644 --- a/data/monster/constructs/stone_golem.lua +++ b/data/monster/constructs/stone_golem.lua @@ -35,7 +35,6 @@ monster.race = "undead" monster.corpse = 6005 monster.speed = 180 monster.manaCost = 590 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/walker.lua b/data/monster/constructs/walker.lua index 51dd9621c..1baeb803e 100644 --- a/data/monster/constructs/walker.lua +++ b/data/monster/constructs/walker.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 23343 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/constructs/war_golem.lua b/data/monster/constructs/war_golem.lua index cd6f596a2..0099129a2 100644 --- a/data/monster/constructs/war_golem.lua +++ b/data/monster/constructs/war_golem.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 10005 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/weeper.lua b/data/monster/constructs/weeper.lua index a77408ead..c23ab6081 100644 --- a/data/monster/constructs/weeper.lua +++ b/data/monster/constructs/weeper.lua @@ -32,7 +32,6 @@ monster.race = "fire" monster.corpse = 17252 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/constructs/worker_golem.lua b/data/monster/constructs/worker_golem.lua index b8e61c48b..79c87186b 100644 --- a/data/monster/constructs/worker_golem.lua +++ b/data/monster/constructs/worker_golem.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 9801 monster.speed = 160 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/dawnport/brittle_skeleton.lua b/data/monster/dawnport/brittle_skeleton.lua index 3ef328096..936a0af18 100644 --- a/data/monster/dawnport/brittle_skeleton.lua +++ b/data/monster/dawnport/brittle_skeleton.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 5972 monster.speed = 146 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dawnport/crazed_dwarf.lua b/data/monster/dawnport/crazed_dwarf.lua index 7fc805552..0fcdb92c9 100644 --- a/data/monster/dawnport/crazed_dwarf.lua +++ b/data/monster/dawnport/crazed_dwarf.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6007 monster.speed = 156 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dawnport/dawn_bat.lua b/data/monster/dawnport/dawn_bat.lua index ac0c80092..c31cbe92b 100644 --- a/data/monster/dawnport/dawn_bat.lua +++ b/data/monster/dawnport/dawn_bat.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6053 monster.speed = 200 monster.manaCost = 250 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dawnport/dawn_scorpion.lua b/data/monster/dawnport/dawn_scorpion.lua index 9cb116af5..2ec59f6a5 100644 --- a/data/monster/dawnport/dawn_scorpion.lua +++ b/data/monster/dawnport/dawn_scorpion.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 5988 monster.speed = 144 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/dawnport/dawnfly.lua b/data/monster/dawnport/dawnfly.lua index 2b5a01087..7774e2521 100644 --- a/data/monster/dawnport/dawnfly.lua +++ b/data/monster/dawnport/dawnfly.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 23825 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dawnport/juvenile_cyclops.lua b/data/monster/dawnport/juvenile_cyclops.lua index f745e8478..764d3bea3 100644 --- a/data/monster/dawnport/juvenile_cyclops.lua +++ b/data/monster/dawnport/juvenile_cyclops.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5962 monster.speed = 160 monster.manaCost = 490 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dawnport/lesser_fire_devil.lua b/data/monster/dawnport/lesser_fire_devil.lua index 5e08b74bf..0b22ce399 100644 --- a/data/monster/dawnport/lesser_fire_devil.lua +++ b/data/monster/dawnport/lesser_fire_devil.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5985 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dawnport/meadow_strider.lua b/data/monster/dawnport/meadow_strider.lua index 2a6b0c1e9..f17381dfa 100644 --- a/data/monster/dawnport/meadow_strider.lua +++ b/data/monster/dawnport/meadow_strider.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 23821 monster.speed = 136 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dawnport/mountain_troll.lua b/data/monster/dawnport/mountain_troll.lua index 2d9369b49..2590ef2db 100644 --- a/data/monster/dawnport/mountain_troll.lua +++ b/data/monster/dawnport/mountain_troll.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5960 monster.speed = 110 monster.manaCost = 290 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dawnport/muglex_clan_assassin.lua b/data/monster/dawnport/muglex_clan_assassin.lua index a76dfc8d1..9a97b556f 100644 --- a/data/monster/dawnport/muglex_clan_assassin.lua +++ b/data/monster/dawnport/muglex_clan_assassin.lua @@ -19,13 +19,6 @@ monster.race = "blood" monster.corpse = 6002 monster.speed = 140 monster.manaCost = 0 -monster.maxSummons = 0 - -monster.changeTarget = { - interval = 10000, - chance = 0 -} - monster.strategiesTarget = { nearest = 100, } @@ -47,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dawnport/muglex_clan_footman.lua b/data/monster/dawnport/muglex_clan_footman.lua index d5f029063..c91312dfc 100644 --- a/data/monster/dawnport/muglex_clan_footman.lua +++ b/data/monster/dawnport/muglex_clan_footman.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6002 monster.speed = 120 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dawnport/muglex_clan_scavenger.lua b/data/monster/dawnport/muglex_clan_scavenger.lua index 51bb9744b..b12a823f5 100644 --- a/data/monster/dawnport/muglex_clan_scavenger.lua +++ b/data/monster/dawnport/muglex_clan_scavenger.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6002 monster.speed = 132 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dawnport/sacred_snake.lua b/data/monster/dawnport/sacred_snake.lua index 94efd0539..7909e9de1 100644 --- a/data/monster/dawnport/sacred_snake.lua +++ b/data/monster/dawnport/sacred_snake.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 23843 monster.speed = 120 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dawnport/salamander_trainer.lua b/data/monster/dawnport/salamander_trainer.lua index 3b040dad6..856f18bdf 100644 --- a/data/monster/dawnport/salamander_trainer.lua +++ b/data/monster/dawnport/salamander_trainer.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5960 monster.speed = 290 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dawnport/scar_tribe_shaman.lua b/data/monster/dawnport/scar_tribe_shaman.lua index 6ffea6354..0651c9d57 100644 --- a/data/monster/dawnport/scar_tribe_shaman.lua +++ b/data/monster/dawnport/scar_tribe_shaman.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5978 monster.speed = 156 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -56,8 +54,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Snake", chance = 25, interval = 2000, max = 4} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Snake", chance = 25, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/dawnport/scar_tribe_warrior.lua b/data/monster/dawnport/scar_tribe_warrior.lua index 1b1f14ec7..6c978cb6a 100644 --- a/data/monster/dawnport/scar_tribe_warrior.lua +++ b/data/monster/dawnport/scar_tribe_warrior.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5979 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dawnport/spidris_elitesumom.lua b/data/monster/dawnport/spidris_elitesumom.lua index b58fcb2d9..015f2a46d 100644 --- a/data/monster/dawnport/spidris_elitesumom.lua +++ b/data/monster/dawnport/spidris_elitesumom.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 15296 monster.speed = 394 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dawnport/troll-trained_salamander.lua b/data/monster/dawnport/troll-trained_salamander.lua index 4d1b3fcc6..2e3e333a5 100644 --- a/data/monster/dawnport/troll-trained_salamander.lua +++ b/data/monster/dawnport/troll-trained_salamander.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 19707 monster.speed = 112 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dawnport/troll_marauder.lua b/data/monster/dawnport/troll_marauder.lua index 8e850860a..bc80c6a79 100644 --- a/data/monster/dawnport/troll_marauder.lua +++ b/data/monster/dawnport/troll_marauder.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7926 monster.speed = 120 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dawnport/weakened_shlorg.lua b/data/monster/dawnport/weakened_shlorg.lua index f6e5a3081..0e186ff48 100644 --- a/data/monster/dawnport/weakened_shlorg.lua +++ b/data/monster/dawnport/weakened_shlorg.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 21299 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dawnport/woodling.lua b/data/monster/dawnport/woodling.lua index 39a5ece98..e311fb44c 100644 --- a/data/monster/dawnport/woodling.lua +++ b/data/monster/dawnport/woodling.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 23817 monster.speed = 130 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/demons/askarak_demon.lua b/data/monster/demons/askarak_demon.lua index eb8b48b83..50cc38a27 100644 --- a/data/monster/demons/askarak_demon.lua +++ b/data/monster/demons/askarak_demon.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 13815 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/demons/askarak_lord.lua b/data/monster/demons/askarak_lord.lua index c9880fd7d..9001df723 100644 --- a/data/monster/demons/askarak_lord.lua +++ b/data/monster/demons/askarak_lord.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 13956 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/demons/askarak_prince.lua b/data/monster/demons/askarak_prince.lua index 54ab84b0a..bc15586fb 100644 --- a/data/monster/demons/askarak_prince.lua +++ b/data/monster/demons/askarak_prince.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 13957 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/demons/brachiodemon.lua b/data/monster/demons/brachiodemon.lua index 469d2aa93..f47e2277d 100644 --- a/data/monster/demons/brachiodemon.lua +++ b/data/monster/demons/brachiodemon.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 38652 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/demons/dark_torturer.lua b/data/monster/demons/dark_torturer.lua index 37d9db88d..e3ae2ab09 100644 --- a/data/monster/demons/dark_torturer.lua +++ b/data/monster/demons/dark_torturer.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 6328 monster.speed = 370 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/demons/dawnfire_asura.lua b/data/monster/demons/dawnfire_asura.lua index ac967f08a..dfa215180 100644 --- a/data/monster/demons/dawnfire_asura.lua +++ b/data/monster/demons/dawnfire_asura.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 24643 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/demons/demon.lua b/data/monster/demons/demon.lua index 135c0f4d0..83d3268d1 100644 --- a/data/monster/demons/demon.lua +++ b/data/monster/demons/demon.lua @@ -35,7 +35,6 @@ monster.race = "fire" monster.corpse = 5995 monster.speed = 256 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 4000, @@ -66,8 +65,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -75,8 +73,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "fire elemental", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 1, + summons = { + {name = "fire elemental", chance = 10, interval = 2000, count = 1} + } } monster.voices = { @@ -131,7 +132,7 @@ monster.attacks = { {name ="combat", interval = 2000, chance = 10, type = COMBAT_MANADRAIN, minDamage = 0, maxDamage = -120, range = 7, target = false}, {name ="combat", interval = 2000, chance = 20, type = COMBAT_FIREDAMAGE, minDamage = -150, maxDamage = -250, range = 7, radius = 7, shootEffect = CONST_ANI_FIRE, effect = CONST_ME_FIREAREA, target = true}, {name ="firefield", interval = 2000, chance = 10, range = 7, radius = 1, shootEffect = CONST_ANI_FIRE, target = true}, - {name ="combat", interval = 2000, chance = 10, type = COMBAT_LIFEDRAIN, minDamage = -300, maxDamage = -490, length = 8, spread = 3, effect = CONST_ME_PURPLEENERGY, target = false}, + {name ="combat", interval = 2000, chance = 10, type = COMBAT_LIFEDRAIN, minDamage = -300, maxDamage = -490, length = 8, spread = 0, effect = CONST_ME_PURPLEENERGY, target = false}, {name ="combat", interval = 2000, chance = 10, type = COMBAT_ENERGYDAMAGE, minDamage = -210, maxDamage = -300, range = 1, shootEffect = CONST_ANI_ENERGY, target = false}, {name ="speed", interval = 2000, chance = 15, speedChange = -700, radius = 1, effect = CONST_ME_MAGIC_RED, target = true, duration = 30000} } diff --git a/data/monster/demons/demon_outcast.lua b/data/monster/demons/demon_outcast.lua index 56711b5e2..fadfe2666 100644 --- a/data/monster/demons/demon_outcast.lua +++ b/data/monster/demons/demon_outcast.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 22549 monster.speed = 296 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -72,8 +70,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "energy elemental", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "energy elemental", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/demons/destroyer.lua b/data/monster/demons/destroyer.lua index ad1005e4c..958784960 100644 --- a/data/monster/demons/destroyer.lua +++ b/data/monster/demons/destroyer.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 6320 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/demons/diabolic_imp.lua b/data/monster/demons/diabolic_imp.lua index a70a8cbe6..4355b15ce 100644 --- a/data/monster/demons/diabolic_imp.lua +++ b/data/monster/demons/diabolic_imp.lua @@ -33,7 +33,6 @@ monster.race = "fire" monster.corpse = 6364 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/demons/duskbringer.lua b/data/monster/demons/duskbringer.lua index b96191397..220d7f36d 100644 --- a/data/monster/demons/duskbringer.lua +++ b/data/monster/demons/duskbringer.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 8955 monster.speed = 370 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/demons/fire_devil.lua b/data/monster/demons/fire_devil.lua index 35c666e04..bccc4843f 100644 --- a/data/monster/demons/fire_devil.lua +++ b/data/monster/demons/fire_devil.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 5985 monster.speed = 180 monster.manaCost = 530 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/demons/floating_savant.lua b/data/monster/demons/floating_savant.lua index b842d3f2d..3d5448267 100644 --- a/data/monster/demons/floating_savant.lua +++ b/data/monster/demons/floating_savant.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 33341 monster.speed = 330 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -69,8 +67,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Lava Lurker Attendant", chance = 70, interval = 2000} +monster.summon = { + maxSummons = 1, + summons = { + {name = "Lava Lurker Attendant", chance = 70, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/demons/frost_flower_asura.lua b/data/monster/demons/frost_flower_asura.lua index 60193ad51..bd8cc623b 100644 --- a/data/monster/demons/frost_flower_asura.lua +++ b/data/monster/demons/frost_flower_asura.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 33420 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/demons/fury.lua b/data/monster/demons/fury.lua index 6f7ab136e..13ffffa28 100644 --- a/data/monster/demons/fury.lua +++ b/data/monster/demons/fury.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 20399 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/demons/gozzler.lua b/data/monster/demons/gozzler.lua index 3a4600716..62d8c6e89 100644 --- a/data/monster/demons/gozzler.lua +++ b/data/monster/demons/gozzler.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 9938 monster.speed = 240 monster.manaCost = 800 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/demons/grimeleech.lua b/data/monster/demons/grimeleech.lua index 4ed6f931b..fc536d67d 100644 --- a/data/monster/demons/grimeleech.lua +++ b/data/monster/demons/grimeleech.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 25436 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 3000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/demons/hellfire_fighter.lua b/data/monster/demons/hellfire_fighter.lua index fb97ddb6a..3706991f9 100644 --- a/data/monster/demons/hellfire_fighter.lua +++ b/data/monster/demons/hellfire_fighter.lua @@ -32,7 +32,6 @@ monster.race = "fire" monster.corpse = 6324 monster.speed = 330 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/demons/hellflayer.lua b/data/monster/demons/hellflayer.lua index 1f46008f0..ded3c4aa8 100644 --- a/data/monster/demons/hellflayer.lua +++ b/data/monster/demons/hellflayer.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 25440 monster.speed = 330 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/demons/hellhound.lua b/data/monster/demons/hellhound.lua index 35f3b6ae5..cc45f4639 100644 --- a/data/monster/demons/hellhound.lua +++ b/data/monster/demons/hellhound.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6332 monster.speed = 360 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/demons/hellspawn.lua b/data/monster/demons/hellspawn.lua index e2ebffedb..4154fe832 100644 --- a/data/monster/demons/hellspawn.lua +++ b/data/monster/demons/hellspawn.lua @@ -32,7 +32,6 @@ monster.race = "fire" monster.corpse = 9923 monster.speed = 344 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/demons/herald_of_gloom.lua b/data/monster/demons/herald_of_gloom.lua index 1dd33fa2d..7e9abe693 100644 --- a/data/monster/demons/herald_of_gloom.lua +++ b/data/monster/demons/herald_of_gloom.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 9915 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -97,7 +95,7 @@ monster.defenses = { {name ="invisible", interval = 5000, chance = 20, effect = CONST_ME_MAGIC_RED}, {name ="outfit", interval = 1500, chance = 20, effect = CONST_ME_MAGIC_BLUE, target = false, duration = 6000, outfitMonster = "nightstalker"}, {name ="outfit", interval = 1500, chance = 10, effect = CONST_ME_MAGIC_BLUE, target = false, duration = 6000, outfitMonster = "werewolf"}, - {name ="outfit", interval = 1500, chance = 10, effect = CONST_ME_MAGIC_BLUE, target = false, duration = 6000, outfitMonster = "the count"}, + {name ="outfit", interval = 1500, chance = 10, effect = CONST_ME_MAGIC_BLUE, target = false, duration = 6000, outfitMonster = "the count ="}, {name ="outfit", interval = 1500, chance = 10, effect = CONST_ME_MAGIC_BLUE, target = false, duration = 6000, outfitMonster = "grim reaper"}, {name ="outfit", interval = 1500, chance = 10, effect = CONST_ME_MAGIC_BLUE, target = false, duration = 6000, outfitMonster = "tarantula"}, {name ="outfit", interval = 1500, chance = 10, effect = CONST_ME_MAGIC_BLUE, target = false, duration = 6000, outfitMonster = "ferumbras"} diff --git a/data/monster/demons/infernal_demon.lua b/data/monster/demons/infernal_demon.lua index 3d44ea284..280bd2627 100644 --- a/data/monster/demons/infernal_demon.lua +++ b/data/monster/demons/infernal_demon.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 38736 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/demons/juggernaut.lua b/data/monster/demons/juggernaut.lua index c17a22865..cbb3a18b1 100644 --- a/data/monster/demons/juggernaut.lua +++ b/data/monster/demons/juggernaut.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6336 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/demons/many_faces.lua b/data/monster/demons/many_faces.lua index 245f40ba1..e65046372 100644 --- a/data/monster/demons/many_faces.lua +++ b/data/monster/demons/many_faces.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 38640 monster.speed = 215 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/demons/midnight_asura.lua b/data/monster/demons/midnight_asura.lua index 6fb0c42a5..900e98f89 100644 --- a/data/monster/demons/midnight_asura.lua +++ b/data/monster/demons/midnight_asura.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 24644 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/demons/nightfiend.lua b/data/monster/demons/nightfiend.lua index 2775e0de0..4fbd05df4 100644 --- a/data/monster/demons/nightfiend.lua +++ b/data/monster/demons/nightfiend.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 2669 monster.speed = 224 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/demons/plaguesmith.lua b/data/monster/demons/plaguesmith.lua index 4f7183aa4..a74a36e21 100644 --- a/data/monster/demons/plaguesmith.lua +++ b/data/monster/demons/plaguesmith.lua @@ -33,7 +33,6 @@ monster.race = "venom" monster.corpse = 6516 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/demons/shaburak_demon.lua b/data/monster/demons/shaburak_demon.lua index fe5074d6d..fc150a733 100644 --- a/data/monster/demons/shaburak_demon.lua +++ b/data/monster/demons/shaburak_demon.lua @@ -32,7 +32,6 @@ monster.race = "fire" monster.corpse = 13814 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/demons/shaburak_lord.lua b/data/monster/demons/shaburak_lord.lua index 2c6477628..65dba34f3 100644 --- a/data/monster/demons/shaburak_lord.lua +++ b/data/monster/demons/shaburak_lord.lua @@ -32,7 +32,6 @@ monster.race = "fire" monster.corpse = 13958 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/demons/shaburak_prince.lua b/data/monster/demons/shaburak_prince.lua index 88dd71da1..b0bf52fca 100644 --- a/data/monster/demons/shaburak_prince.lua +++ b/data/monster/demons/shaburak_prince.lua @@ -32,7 +32,6 @@ monster.race = "fire" monster.corpse = 13969 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/demons/shadow_hound.lua b/data/monster/demons/shadow_hound.lua index f923da312..c6dc146f1 100644 --- a/data/monster/demons/shadow_hound.lua +++ b/data/monster/demons/shadow_hound.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 9923 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/demons/true_dawnfire_asura.lua b/data/monster/demons/true_dawnfire_asura.lua index ca9de9aa6..9dc898664 100644 --- a/data/monster/demons/true_dawnfire_asura.lua +++ b/data/monster/demons/true_dawnfire_asura.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 33404 monster.speed = 360 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/demons/true_frost_flower_asura.lua b/data/monster/demons/true_frost_flower_asura.lua index a65b5918b..81386c394 100644 --- a/data/monster/demons/true_frost_flower_asura.lua +++ b/data/monster/demons/true_frost_flower_asura.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 33408 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/demons/true_midnight_asura.lua b/data/monster/demons/true_midnight_asura.lua index ec56aa1a3..30330c8d4 100644 --- a/data/monster/demons/true_midnight_asura.lua +++ b/data/monster/demons/true_midnight_asura.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 33360 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/demons/vexclaw.lua b/data/monster/demons/vexclaw.lua index 77d3783c9..30d2bdab3 100644 --- a/data/monster/demons/vexclaw.lua +++ b/data/monster/demons/vexclaw.lua @@ -32,7 +32,6 @@ monster.race = "fire" monster.corpse = 25432 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/dragons/dragon.lua b/data/monster/dragons/dragon.lua index 5ef6ac4a9..06fd39752 100644 --- a/data/monster/dragons/dragon.lua +++ b/data/monster/dragons/dragon.lua @@ -37,7 +37,6 @@ monster.race = "blood" monster.corpse = 2844 monster.speed = 172 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -68,8 +67,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dragons/dragon_hatchling.lua b/data/monster/dragons/dragon_hatchling.lua index 8c82b7815..f69df8a42 100644 --- a/data/monster/dragons/dragon_hatchling.lua +++ b/data/monster/dragons/dragon_hatchling.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 7621 monster.speed = 146 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/dragons/dragon_lord.lua b/data/monster/dragons/dragon_lord.lua index edb6e8940..f962cef34 100644 --- a/data/monster/dragons/dragon_lord.lua +++ b/data/monster/dragons/dragon_lord.lua @@ -38,7 +38,6 @@ monster.race = "blood" monster.corpse = 5984 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -69,8 +68,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/dragons/dragon_lord_hatchling.lua b/data/monster/dragons/dragon_lord_hatchling.lua index 85f028585..bf635174d 100644 --- a/data/monster/dragons/dragon_lord_hatchling.lua +++ b/data/monster/dragons/dragon_lord_hatchling.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 7622 monster.speed = 168 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/dragons/draken_abomination.lua b/data/monster/dragons/draken_abomination.lua index 4ef78f347..4b4e0c3d8 100644 --- a/data/monster/dragons/draken_abomination.lua +++ b/data/monster/dragons/draken_abomination.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 12623 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -69,8 +67,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Death Blob", chance = 10, interval = 2000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Death Blob", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/dragons/draken_elite.lua b/data/monster/dragons/draken_elite.lua index 7a01f5056..5f7ad9062 100644 --- a/data/monster/dragons/draken_elite.lua +++ b/data/monster/dragons/draken_elite.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 12609 monster.speed = 332 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/dragons/draken_spellweaver.lua b/data/monster/dragons/draken_spellweaver.lua index 60d4bb4d1..cd6eadc2d 100644 --- a/data/monster/dragons/draken_spellweaver.lua +++ b/data/monster/dragons/draken_spellweaver.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 11316 monster.speed = 336 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/dragons/draken_warmaster.lua b/data/monster/dragons/draken_warmaster.lua index c37d914cb..fef6fb106 100644 --- a/data/monster/dragons/draken_warmaster.lua +++ b/data/monster/dragons/draken_warmaster.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 11107 monster.speed = 324 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/dragons/elder_wyrm.lua b/data/monster/dragons/elder_wyrm.lua index a107439a1..a96ba7a8b 100644 --- a/data/monster/dragons/elder_wyrm.lua +++ b/data/monster/dragons/elder_wyrm.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 21283 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/dragons/frost_dragon.lua b/data/monster/dragons/frost_dragon.lua index 09a0f1ed9..7a4aef4a9 100644 --- a/data/monster/dragons/frost_dragon.lua +++ b/data/monster/dragons/frost_dragon.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 7091 monster.speed = 212 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/dragons/frost_dragon_hatchling.lua b/data/monster/dragons/frost_dragon_hatchling.lua index 98b3b7244..743472ad7 100644 --- a/data/monster/dragons/frost_dragon_hatchling.lua +++ b/data/monster/dragons/frost_dragon_hatchling.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 7969 monster.speed = 172 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/dragons/ghastly_dragon.lua b/data/monster/dragons/ghastly_dragon.lua index 100765f89..61667952d 100644 --- a/data/monster/dragons/ghastly_dragon.lua +++ b/data/monster/dragons/ghastly_dragon.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 11362 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/dragons/haunted_dragon.lua b/data/monster/dragons/haunted_dragon.lua index 058bc198f..a7bc226d7 100644 --- a/data/monster/dragons/haunted_dragon.lua +++ b/data/monster/dragons/haunted_dragon.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 6306 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/dragons/hydra.lua b/data/monster/dragons/hydra.lua index 3ac4dcbef..1ccbf4529 100644 --- a/data/monster/dragons/hydra.lua +++ b/data/monster/dragons/hydra.lua @@ -37,7 +37,6 @@ monster.race = "blood" monster.corpse = 6048 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -68,8 +67,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/dragons/ice_dragon.lua b/data/monster/dragons/ice_dragon.lua index cc79b0de8..ecd1bd9c8 100644 --- a/data/monster/dragons/ice_dragon.lua +++ b/data/monster/dragons/ice_dragon.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 27853 monster.speed = 212 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/dragons/wyrm.lua b/data/monster/dragons/wyrm.lua index 0178057ea..30812f719 100644 --- a/data/monster/dragons/wyrm.lua +++ b/data/monster/dragons/wyrm.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 8941 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/elementals/cliff_strider.lua b/data/monster/elementals/cliff_strider.lua index cf0bd6f12..b6ff63052 100644 --- a/data/monster/elementals/cliff_strider.lua +++ b/data/monster/elementals/cliff_strider.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 17420 monster.speed = 246 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/elementals/earth_elemental.lua b/data/monster/elementals/earth_elemental.lua index ed6209dcc..b5e8a6d30 100644 --- a/data/monster/elementals/earth_elemental.lua +++ b/data/monster/elementals/earth_elemental.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 8933 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/elementals/energy_elemental.lua b/data/monster/elementals/energy_elemental.lua index fd71a6ebe..359ba5958 100644 --- a/data/monster/elementals/energy_elemental.lua +++ b/data/monster/elementals/energy_elemental.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 8966 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/elementals/fire_elemental.lua b/data/monster/elementals/fire_elemental.lua index 80ee98e40..5c7c78a6a 100644 --- a/data/monster/elementals/fire_elemental.lua +++ b/data/monster/elementals/fire_elemental.lua @@ -33,7 +33,6 @@ monster.race = "fire" monster.corpse = 8964 monster.speed = 190 monster.manaCost = 690 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/elementals/high_voltage_elemental.lua b/data/monster/elementals/high_voltage_elemental.lua index d2a44f42d..a30e0f476 100644 --- a/data/monster/elementals/high_voltage_elemental.lua +++ b/data/monster/elementals/high_voltage_elemental.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 8966 monster.speed = 278 monster.manaCost = 330 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/elementals/ironblight.lua b/data/monster/elementals/ironblight.lua index 99f88fd78..1053d5133 100644 --- a/data/monster/elementals/ironblight.lua +++ b/data/monster/elementals/ironblight.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 17424 monster.speed = 286 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/elementals/knowledge_elemental.lua b/data/monster/elementals/knowledge_elemental.lua index 733323666..b287d2827 100644 --- a/data/monster/elementals/knowledge_elemental.lua +++ b/data/monster/elementals/knowledge_elemental.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 33349 monster.speed = 460 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/elementals/lava_lurker.lua b/data/monster/elementals/lava_lurker.lua index 15cb6fc8d..769213918 100644 --- a/data/monster/elementals/lava_lurker.lua +++ b/data/monster/elementals/lava_lurker.lua @@ -32,7 +32,6 @@ monster.race = "fire" monster.corpse = 31997 monster.speed = 58 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/elementals/massive_earth_elemental.lua b/data/monster/elementals/massive_earth_elemental.lua index 98049b863..678b590a5 100644 --- a/data/monster/elementals/massive_earth_elemental.lua +++ b/data/monster/elementals/massive_earth_elemental.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 8933 monster.speed = 370 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/elementals/massive_energy_elemental.lua b/data/monster/elementals/massive_energy_elemental.lua index a9306c522..29500fec9 100644 --- a/data/monster/elementals/massive_energy_elemental.lua +++ b/data/monster/elementals/massive_energy_elemental.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 8966 monster.speed = 430 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/elementals/massive_fire_elemental.lua b/data/monster/elementals/massive_fire_elemental.lua index 22689958e..56e8181fe 100644 --- a/data/monster/elementals/massive_fire_elemental.lua +++ b/data/monster/elementals/massive_fire_elemental.lua @@ -32,7 +32,6 @@ monster.race = "fire" monster.corpse = 6324 monster.speed = 238 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/elementals/massive_water_elemental.lua b/data/monster/elementals/massive_water_elemental.lua index 19b4e5a79..36197f606 100644 --- a/data/monster/elementals/massive_water_elemental.lua +++ b/data/monster/elementals/massive_water_elemental.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 10499 monster.speed = 430 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/elementals/raging_fire.lua b/data/monster/elementals/raging_fire.lua index 582ae30a5..412939b3b 100644 --- a/data/monster/elementals/raging_fire.lua +++ b/data/monster/elementals/raging_fire.lua @@ -32,7 +32,6 @@ monster.race = "fire" monster.corpse = 24184 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/elementals/ravenous_lava_lurker.lua b/data/monster/elementals/ravenous_lava_lurker.lua index 2c02bfc34..027f6c24d 100644 --- a/data/monster/elementals/ravenous_lava_lurker.lua +++ b/data/monster/elementals/ravenous_lava_lurker.lua @@ -32,7 +32,6 @@ monster.race = "fire" monster.corpse = 0 monster.speed = 58 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/elementals/turbulent_elemental.lua b/data/monster/elementals/turbulent_elemental.lua index a15b55993..9f08ad31d 100644 --- a/data/monster/elementals/turbulent_elemental.lua +++ b/data/monster/elementals/turbulent_elemental.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 38740 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/elementals/water_elemental.lua b/data/monster/elementals/water_elemental.lua index 6cadb360a..c17133c26 100644 --- a/data/monster/elementals/water_elemental.lua +++ b/data/monster/elementals/water_elemental.lua @@ -34,7 +34,6 @@ monster.race = "undead" monster.corpse = 10499 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -65,8 +64,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/empty.txt b/data/monster/empty.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/data/monster/event_creatures/bones.lua b/data/monster/event_creatures/bones.lua index 309f363fa..34d29aa4f 100644 --- a/data/monster/event_creatures/bones.lua +++ b/data/monster/event_creatures/bones.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6306 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/event_creatures/eclipse_knight.lua b/data/monster/event_creatures/eclipse_knight.lua index a60ae068c..66c328da3 100644 --- a/data/monster/event_creatures/eclipse_knight.lua +++ b/data/monster/event_creatures/eclipse_knight.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6328 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/event_creatures/essence_of_darkness.lua b/data/monster/event_creatures/essence_of_darkness.lua index 353b636e3..e4bd16d09 100644 --- a/data/monster/event_creatures/essence_of_darkness.lua +++ b/data/monster/event_creatures/essence_of_darkness.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 9960 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/event_creatures/fluffy.lua b/data/monster/event_creatures/fluffy.lua index ab44975aa..cb2d898d5 100644 --- a/data/monster/event_creatures/fluffy.lua +++ b/data/monster/event_creatures/fluffy.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6332 monster.speed = 310 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/event_creatures/grynch_clan_goblin.lua b/data/monster/event_creatures/grynch_clan_goblin.lua index 755c826dd..8213735b4 100644 --- a/data/monster/event_creatures/grynch_clan_goblin.lua +++ b/data/monster/event_creatures/grynch_clan_goblin.lua @@ -34,7 +34,6 @@ monster.race = "blood" monster.corpse = 6002 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -65,8 +64,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/event_creatures/hacker.lua b/data/monster/event_creatures/hacker.lua index a1fa3df75..9b2a39612 100644 --- a/data/monster/event_creatures/hacker.lua +++ b/data/monster/event_creatures/hacker.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5980 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/event_creatures/minishabaal.lua b/data/monster/event_creatures/minishabaal.lua index d88ea323a..89645356f 100644 --- a/data/monster/event_creatures/minishabaal.lua +++ b/data/monster/event_creatures/minishabaal.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6364 monster.speed = 700 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Diabolic Imp", chance = 40, interval = 2000, max = 3} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Diabolic Imp", chance = 40, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/event_creatures/party_skeleton.lua b/data/monster/event_creatures/party_skeleton.lua index 76da12321..a1eccce51 100644 --- a/data/monster/event_creatures/party_skeleton.lua +++ b/data/monster/event_creatures/party_skeleton.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 5972 monster.speed = 154 monster.manaCost = 300 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/event_creatures/pinata_dragon.lua b/data/monster/event_creatures/pinata_dragon.lua index 01ca4f4a2..536d970ff 100644 --- a/data/monster/event_creatures/pinata_dragon.lua +++ b/data/monster/event_creatures/pinata_dragon.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 2000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -53,8 +51,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Demon", chance = 7, interval = 2000} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Demon", chance = 7, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/event_creatures/primitive.lua b/data/monster/event_creatures/primitive.lua index 2e5d63420..7ecb7421e 100644 --- a/data/monster/event_creatures/primitive.lua +++ b/data/monster/event_creatures/primitive.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6080 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/event_creatures/spectral_scum.lua b/data/monster/event_creatures/spectral_scum.lua index 7fe3687d6..920ed888a 100644 --- a/data/monster/event_creatures/spectral_scum.lua +++ b/data/monster/event_creatures/spectral_scum.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6070 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/event_creatures/the_halloween_hare.lua b/data/monster/event_creatures/the_halloween_hare.lua index 3159bf866..c2a01d432 100644 --- a/data/monster/event_creatures/the_halloween_hare.lua +++ b/data/monster/event_creatures/the_halloween_hare.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/event_creatures/the_mutated_pumpkin.lua b/data/monster/event_creatures/the_mutated_pumpkin.lua index 78047d669..008f6a39b 100644 --- a/data/monster/event_creatures/the_mutated_pumpkin.lua +++ b/data/monster/event_creatures/the_mutated_pumpkin.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8960 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/event_creatures/undead_minion.lua b/data/monster/event_creatures/undead_minion.lua index a3b928063..29e99cb49 100644 --- a/data/monster/event_creatures/undead_minion.lua +++ b/data/monster/event_creatures/undead_minion.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 5963 monster.speed = 230 monster.manaCost = 620 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/extra_dimensional/breach_brood.lua b/data/monster/extra_dimensional/breach_brood.lua index 2b9e87467..942492b62 100644 --- a/data/monster/extra_dimensional/breach_brood.lua +++ b/data/monster/extra_dimensional/breach_brood.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 26048 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/extra_dimensional/courage_leech.lua b/data/monster/extra_dimensional/courage_leech.lua index 2f280aa3c..171eaed7b 100644 --- a/data/monster/extra_dimensional/courage_leech.lua +++ b/data/monster/extra_dimensional/courage_leech.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 38744 monster.speed = 226 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/extra_dimensional/dread_intruder.lua b/data/monster/extra_dimensional/dread_intruder.lua index 640b18623..fab63a27c 100644 --- a/data/monster/extra_dimensional/dread_intruder.lua +++ b/data/monster/extra_dimensional/dread_intruder.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 26134 monster.speed = 330 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/extra_dimensional/instable_breach_brood.lua b/data/monster/extra_dimensional/instable_breach_brood.lua index 3b1ce69b8..f70da2fe9 100644 --- a/data/monster/extra_dimensional/instable_breach_brood.lua +++ b/data/monster/extra_dimensional/instable_breach_brood.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 26048 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/extra_dimensional/instable_sparkion.lua b/data/monster/extra_dimensional/instable_sparkion.lua index 2892c11df..533887022 100644 --- a/data/monster/extra_dimensional/instable_sparkion.lua +++ b/data/monster/extra_dimensional/instable_sparkion.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 26044 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/extra_dimensional/reality_reaver.lua b/data/monster/extra_dimensional/reality_reaver.lua index 2b39790fd..5661569ee 100644 --- a/data/monster/extra_dimensional/reality_reaver.lua +++ b/data/monster/extra_dimensional/reality_reaver.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 26068 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/extra_dimensional/sparkion.lua b/data/monster/extra_dimensional/sparkion.lua index 756635dff..73fe310e3 100644 --- a/data/monster/extra_dimensional/sparkion.lua +++ b/data/monster/extra_dimensional/sparkion.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 26044 monster.speed = 302 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/extra_dimensional/stabilizing_dread_intruder.lua b/data/monster/extra_dimensional/stabilizing_dread_intruder.lua index 9d8f5b4b1..4ea402bf6 100644 --- a/data/monster/extra_dimensional/stabilizing_dread_intruder.lua +++ b/data/monster/extra_dimensional/stabilizing_dread_intruder.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 26134 monster.speed = 290 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/extra_dimensional/stabilizing_reality_reaver.lua b/data/monster/extra_dimensional/stabilizing_reality_reaver.lua index ea4ee7adb..acee2e66c 100644 --- a/data/monster/extra_dimensional/stabilizing_reality_reaver.lua +++ b/data/monster/extra_dimensional/stabilizing_reality_reaver.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 26068 monster.speed = 310 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/extra_dimensional/yielothax.lua b/data/monster/extra_dimensional/yielothax.lua index 60f12e0ef..699efa120 100644 --- a/data/monster/extra_dimensional/yielothax.lua +++ b/data/monster/extra_dimensional/yielothax.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 13752 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/fey/arctic_faun.lua b/data/monster/fey/arctic_faun.lua index dbb3b4e13..daeef03f8 100644 --- a/data/monster/fey/arctic_faun.lua +++ b/data/monster/fey/arctic_faun.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 33423 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/fey/boogy.lua b/data/monster/fey/boogy.lua index fbd4940d4..560b07a44 100644 --- a/data/monster/fey/boogy.lua +++ b/data/monster/fey/boogy.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 29106 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -68,8 +67,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/fey/dark_faun.lua b/data/monster/fey/dark_faun.lua index f4f4d2aeb..8c3202d78 100644 --- a/data/monster/fey/dark_faun.lua +++ b/data/monster/fey/dark_faun.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 29101 monster.speed = 216 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -68,8 +67,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/fey/dryad.lua b/data/monster/fey/dryad.lua index 637c9cd66..a3dbf44ef 100644 --- a/data/monster/fey/dryad.lua +++ b/data/monster/fey/dryad.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 20323 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/fey/faun.lua b/data/monster/fey/faun.lua index eac7434d0..765c56748 100644 --- a/data/monster/fey/faun.lua +++ b/data/monster/fey/faun.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 29102 monster.speed = 210 monster.manaCost = 450 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -68,8 +67,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/fey/nymph.lua b/data/monster/fey/nymph.lua index 591f3aefb..e1cdbd3f5 100644 --- a/data/monster/fey/nymph.lua +++ b/data/monster/fey/nymph.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 29094 monster.speed = 228 monster.manaCost = 450 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/fey/pixie.lua b/data/monster/fey/pixie.lua index 183479cc1..cee71a890 100644 --- a/data/monster/fey/pixie.lua +++ b/data/monster/fey/pixie.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 29098 monster.speed = 240 monster.manaCost = 450 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/fey/pooka.lua b/data/monster/fey/pooka.lua index 913b60c3e..d35c79f96 100644 --- a/data/monster/fey/pooka.lua +++ b/data/monster/fey/pooka.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 29110 monster.speed = 230 monster.manaCost = 450 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -68,8 +67,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/fey/swan_maiden.lua b/data/monster/fey/swan_maiden.lua index a8b788e2e..4897b5ea7 100644 --- a/data/monster/fey/swan_maiden.lua +++ b/data/monster/fey/swan_maiden.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 29118 monster.speed = 234 monster.manaCost = 450 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/fey/twisted_pooka.lua b/data/monster/fey/twisted_pooka.lua index a609593e6..5624cc7f1 100644 --- a/data/monster/fey/twisted_pooka.lua +++ b/data/monster/fey/twisted_pooka.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 29114 monster.speed = 230 monster.manaCost = 450 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -68,8 +67,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/fey/wisp.lua b/data/monster/fey/wisp.lua index 1d4557568..c14f9ad8e 100644 --- a/data/monster/fey/wisp.lua +++ b/data/monster/fey/wisp.lua @@ -35,7 +35,6 @@ monster.race = "undead" monster.corpse = 6324 monster.speed = 162 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/giants/behemoth.lua b/data/monster/giants/behemoth.lua index 4b97afa3f..ed444b0c9 100644 --- a/data/monster/giants/behemoth.lua +++ b/data/monster/giants/behemoth.lua @@ -34,7 +34,6 @@ monster.race = "blood" monster.corpse = 5999 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/giants/cyclops.lua b/data/monster/giants/cyclops.lua index f19ddfd5c..5feefdfab 100644 --- a/data/monster/giants/cyclops.lua +++ b/data/monster/giants/cyclops.lua @@ -34,7 +34,6 @@ monster.race = "blood" monster.corpse = 5962 monster.speed = 190 monster.manaCost = 490 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/giants/cyclops_drone.lua b/data/monster/giants/cyclops_drone.lua index 068b01357..7a9ebc4bc 100644 --- a/data/monster/giants/cyclops_drone.lua +++ b/data/monster/giants/cyclops_drone.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 7847 monster.speed = 198 monster.manaCost = 525 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/giants/cyclops_smith.lua b/data/monster/giants/cyclops_smith.lua index 2ab113182..a148885fa 100644 --- a/data/monster/giants/cyclops_smith.lua +++ b/data/monster/giants/cyclops_smith.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 7740 monster.speed = 204 monster.manaCost = 695 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/giants/frost_giant.lua b/data/monster/giants/frost_giant.lua index 57014197a..fdec52739 100644 --- a/data/monster/giants/frost_giant.lua +++ b/data/monster/giants/frost_giant.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 7330 monster.speed = 190 monster.manaCost = 490 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/giants/frost_giantess.lua b/data/monster/giants/frost_giantess.lua index 2c08f4a20..7343f2d13 100644 --- a/data/monster/giants/frost_giantess.lua +++ b/data/monster/giants/frost_giantess.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 7330 monster.speed = 194 monster.manaCost = 490 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/giants/ogre_brute.lua b/data/monster/giants/ogre_brute.lua index 2f8ad0424..97de612a5 100644 --- a/data/monster/giants/ogre_brute.lua +++ b/data/monster/giants/ogre_brute.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 24799 monster.speed = 204 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/giants/ogre_rowdy.lua b/data/monster/giants/ogre_rowdy.lua index c8c89a508..d9b9c1fc1 100644 --- a/data/monster/giants/ogre_rowdy.lua +++ b/data/monster/giants/ogre_rowdy.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 36366 monster.speed = 420 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/giants/ogre_ruffian.lua b/data/monster/giants/ogre_ruffian.lua index 43fb48ee3..db69bdbe3 100644 --- a/data/monster/giants/ogre_ruffian.lua +++ b/data/monster/giants/ogre_ruffian.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 36362 monster.speed = 430 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/giants/ogre_sage.lua b/data/monster/giants/ogre_sage.lua index f1203f1be..6fd435670 100644 --- a/data/monster/giants/ogre_sage.lua +++ b/data/monster/giants/ogre_sage.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 36370 monster.speed = 460 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -70,8 +68,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Young Goanna", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 1, + summons = { + {name = "Young Goanna", chance = 10, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/giants/ogre_savage.lua b/data/monster/giants/ogre_savage.lua index 527f69e29..62d45c5ad 100644 --- a/data/monster/giants/ogre_savage.lua +++ b/data/monster/giants/ogre_savage.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 24803 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/giants/ogre_shaman.lua b/data/monster/giants/ogre_shaman.lua index 6795836df..8b0c2ac13 100644 --- a/data/monster/giants/ogre_shaman.lua +++ b/data/monster/giants/ogre_shaman.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 24795 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -72,9 +70,12 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Dworc Fleshhunter", chance = 30, interval = 1000, max = 1}, - {name = "Terror Bird", chance = 30, interval = 1000, max = 1} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Dworc Fleshhunter", chance = 30, interval = 1000, count = 1}, + {name = "Terror Bird", chance = 30, interval = 1000, count = 1} + } } monster.voices = { diff --git a/data/monster/giants/orclops_doomhauler.lua b/data/monster/giants/orclops_doomhauler.lua index 959f413bd..55104cae0 100644 --- a/data/monster/giants/orclops_doomhauler.lua +++ b/data/monster/giants/orclops_doomhauler.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 27746 monster.speed = 240 monster.manaCost = 290 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/giants/orclops_ravager.lua b/data/monster/giants/orclops_ravager.lua index d7267fd25..dcf32fb4e 100644 --- a/data/monster/giants/orclops_ravager.lua +++ b/data/monster/giants/orclops_ravager.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 27742 monster.speed = 260 monster.manaCost = 290 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humanoids/broken_shaper.lua b/data/monster/humanoids/broken_shaper.lua index 0b648f85d..810c2f518 100644 --- a/data/monster/humanoids/broken_shaper.lua +++ b/data/monster/humanoids/broken_shaper.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 27736 monster.speed = 310 monster.manaCost = 290 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humanoids/chakoya_toolshaper.lua b/data/monster/humanoids/chakoya_toolshaper.lua index feb3f2549..91037f818 100644 --- a/data/monster/humanoids/chakoya_toolshaper.lua +++ b/data/monster/humanoids/chakoya_toolshaper.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 7320 monster.speed = 136 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humanoids/chakoya_tribewarden.lua b/data/monster/humanoids/chakoya_tribewarden.lua index 84ad4160f..9f4d54847 100644 --- a/data/monster/humanoids/chakoya_tribewarden.lua +++ b/data/monster/humanoids/chakoya_tribewarden.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 7320 monster.speed = 124 monster.manaCost = 305 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humanoids/chakoya_windcaller.lua b/data/monster/humanoids/chakoya_windcaller.lua index 2ee6afaeb..8ae0ce150 100644 --- a/data/monster/humanoids/chakoya_windcaller.lua +++ b/data/monster/humanoids/chakoya_windcaller.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 7320 monster.speed = 142 monster.manaCost = 305 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/cheese_thief.lua b/data/monster/humanoids/cheese_thief.lua index e1e7ed1e1..23ff62796 100644 --- a/data/monster/humanoids/cheese_thief.lua +++ b/data/monster/humanoids/cheese_thief.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 19734 monster.speed = 105 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = true, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/corym_charlatan.lua b/data/monster/humanoids/corym_charlatan.lua index 2df11f4c9..e34076ded 100644 --- a/data/monster/humanoids/corym_charlatan.lua +++ b/data/monster/humanoids/corym_charlatan.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 19725 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/corym_skirmisher.lua b/data/monster/humanoids/corym_skirmisher.lua index 1656f5664..559360e37 100644 --- a/data/monster/humanoids/corym_skirmisher.lua +++ b/data/monster/humanoids/corym_skirmisher.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 19726 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/corym_vanguard.lua b/data/monster/humanoids/corym_vanguard.lua index 3270b99a3..73395db34 100644 --- a/data/monster/humanoids/corym_vanguard.lua +++ b/data/monster/humanoids/corym_vanguard.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 19734 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/crazed_summer_rearguard.lua b/data/monster/humanoids/crazed_summer_rearguard.lua index 8bcd75028..26fc649da 100644 --- a/data/monster/humanoids/crazed_summer_rearguard.lua +++ b/data/monster/humanoids/crazed_summer_rearguard.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 34719 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humanoids/crazed_summer_vanguard.lua b/data/monster/humanoids/crazed_summer_vanguard.lua index 263120528..ff5f5fe4d 100644 --- a/data/monster/humanoids/crazed_summer_vanguard.lua +++ b/data/monster/humanoids/crazed_summer_vanguard.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 34715 monster.speed = 390 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humanoids/crazed_winter_rearguard.lua b/data/monster/humanoids/crazed_winter_rearguard.lua index 8b1737d48..8cb21d0e3 100644 --- a/data/monster/humanoids/crazed_winter_rearguard.lua +++ b/data/monster/humanoids/crazed_winter_rearguard.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 34764 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/crazed_winter_vanguard.lua b/data/monster/humanoids/crazed_winter_vanguard.lua index 190d33ad2..a3bb727c5 100644 --- a/data/monster/humanoids/crazed_winter_vanguard.lua +++ b/data/monster/humanoids/crazed_winter_vanguard.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 34760 monster.speed = 380 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/dwarf.lua b/data/monster/humanoids/dwarf.lua index 20b37df0f..244bec07c 100644 --- a/data/monster/humanoids/dwarf.lua +++ b/data/monster/humanoids/dwarf.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6007 monster.speed = 170 monster.manaCost = 320 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/dwarf_geomancer.lua b/data/monster/humanoids/dwarf_geomancer.lua index e6745a5dc..11dc44995 100644 --- a/data/monster/humanoids/dwarf_geomancer.lua +++ b/data/monster/humanoids/dwarf_geomancer.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6015 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/dwarf_guard.lua b/data/monster/humanoids/dwarf_guard.lua index 84ea42e84..dd99c454b 100644 --- a/data/monster/humanoids/dwarf_guard.lua +++ b/data/monster/humanoids/dwarf_guard.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6013 monster.speed = 206 monster.manaCost = 650 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/dwarf_miner.lua b/data/monster/humanoids/dwarf_miner.lua index 10fede86f..27534e007 100644 --- a/data/monster/humanoids/dwarf_miner.lua +++ b/data/monster/humanoids/dwarf_miner.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6007 monster.speed = 170 monster.manaCost = 420 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/dwarf_soldier.lua b/data/monster/humanoids/dwarf_soldier.lua index 1f69a016a..5782057c6 100644 --- a/data/monster/humanoids/dwarf_soldier.lua +++ b/data/monster/humanoids/dwarf_soldier.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6014 monster.speed = 176 monster.manaCost = 360 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/dworc_fleshhunter.lua b/data/monster/humanoids/dworc_fleshhunter.lua index 605527c4b..ffcd8b526 100644 --- a/data/monster/humanoids/dworc_fleshhunter.lua +++ b/data/monster/humanoids/dworc_fleshhunter.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6058 monster.speed = 148 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humanoids/dworc_venomsniper.lua b/data/monster/humanoids/dworc_venomsniper.lua index 8ee5f7cb1..9b97a6fa2 100644 --- a/data/monster/humanoids/dworc_venomsniper.lua +++ b/data/monster/humanoids/dworc_venomsniper.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6059 monster.speed = 152 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humanoids/dworc_voodoomaster.lua b/data/monster/humanoids/dworc_voodoomaster.lua index 62873c541..b6207df64 100644 --- a/data/monster/humanoids/dworc_voodoomaster.lua +++ b/data/monster/humanoids/dworc_voodoomaster.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6055 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humanoids/elf.lua b/data/monster/humanoids/elf.lua index 0c77443c3..4c2fd8fb0 100644 --- a/data/monster/humanoids/elf.lua +++ b/data/monster/humanoids/elf.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6003 monster.speed = 190 monster.manaCost = 320 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/elf_arcanist.lua b/data/monster/humanoids/elf_arcanist.lua index 8e1c60426..95bce70ca 100644 --- a/data/monster/humanoids/elf_arcanist.lua +++ b/data/monster/humanoids/elf_arcanist.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6011 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/elf_scout.lua b/data/monster/humanoids/elf_scout.lua index 9a6465c14..f3b4d1545 100644 --- a/data/monster/humanoids/elf_scout.lua +++ b/data/monster/humanoids/elf_scout.lua @@ -34,7 +34,6 @@ monster.race = "blood" monster.corpse = 6012 monster.speed = 220 monster.manaCost = 360 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/elite_pirat.lua b/data/monster/humanoids/elite_pirat.lua index 31c91372f..ff056dfc5 100644 --- a/data/monster/humanoids/elite_pirat.lua +++ b/data/monster/humanoids/elite_pirat.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 19726 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = true, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/enslaved_dwarf.lua b/data/monster/humanoids/enslaved_dwarf.lua index 74b70c0a6..8829d99d6 100644 --- a/data/monster/humanoids/enslaved_dwarf.lua +++ b/data/monster/humanoids/enslaved_dwarf.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 17408 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/execowtioner.lua b/data/monster/humanoids/execowtioner.lua index 471aa685e..a181a5efe 100644 --- a/data/monster/humanoids/execowtioner.lua +++ b/data/monster/humanoids/execowtioner.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 23375 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/firestarter.lua b/data/monster/humanoids/firestarter.lua index 5c704730c..aedeff617 100644 --- a/data/monster/humanoids/firestarter.lua +++ b/data/monster/humanoids/firestarter.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20599 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/frost_troll.lua b/data/monster/humanoids/frost_troll.lua index 475fc7d12..c41c5d153 100644 --- a/data/monster/humanoids/frost_troll.lua +++ b/data/monster/humanoids/frost_troll.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5998 monster.speed = 140 monster.manaCost = 300 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/furious_orc_berserker.lua b/data/monster/humanoids/furious_orc_berserker.lua index 09bd1539e..c2f0cafdc 100644 --- a/data/monster/humanoids/furious_orc_berserker.lua +++ b/data/monster/humanoids/furious_orc_berserker.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5980 monster.speed = 250 monster.manaCost = 220 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/furious_troll.lua b/data/monster/humanoids/furious_troll.lua index 68568585c..11cf2efad 100644 --- a/data/monster/humanoids/furious_troll.lua +++ b/data/monster/humanoids/furious_troll.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5960 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 2000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -69,8 +67,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Mechanical Fighter", chance = 90, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Mechanical Fighter", chance = 90, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/humanoids/glooth_powered_minotaur.lua b/data/monster/humanoids/glooth_powered_minotaur.lua index b595180ec..dc7f6f1c7 100644 --- a/data/monster/humanoids/glooth_powered_minotaur.lua +++ b/data/monster/humanoids/glooth_powered_minotaur.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 23367 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/goblin.lua b/data/monster/humanoids/goblin.lua index 9f3fd10ec..cea105113 100644 --- a/data/monster/humanoids/goblin.lua +++ b/data/monster/humanoids/goblin.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6002 monster.speed = 120 monster.manaCost = 290 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/goblin_assassin.lua b/data/monster/humanoids/goblin_assassin.lua index 7ecdd898e..efdf64c3f 100644 --- a/data/monster/humanoids/goblin_assassin.lua +++ b/data/monster/humanoids/goblin_assassin.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6002 monster.speed = 140 monster.manaCost = 360 -monster.maxSummons = 0 monster.changeTarget = { interval = 10000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/goblin_leader.lua b/data/monster/humanoids/goblin_leader.lua index bb0b42cce..0df992f2c 100644 --- a/data/monster/humanoids/goblin_leader.lua +++ b/data/monster/humanoids/goblin_leader.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6002 monster.speed = 120 monster.manaCost = 290 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/goblin_scavenger.lua b/data/monster/humanoids/goblin_scavenger.lua index 78e180b3b..764f0680f 100644 --- a/data/monster/humanoids/goblin_scavenger.lua +++ b/data/monster/humanoids/goblin_scavenger.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6002 monster.speed = 132 monster.manaCost = 310 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/insane_siren.lua b/data/monster/humanoids/insane_siren.lua index 32de9b50b..8ef2d35dc 100644 --- a/data/monster/humanoids/insane_siren.lua +++ b/data/monster/humanoids/insane_siren.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 34771 monster.speed = 420 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humanoids/island_troll.lua b/data/monster/humanoids/island_troll.lua index 84629a327..1154e3a3c 100644 --- a/data/monster/humanoids/island_troll.lua +++ b/data/monster/humanoids/island_troll.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 7930 monster.speed = 126 monster.manaCost = 290 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/little_corym_charlatan.lua b/data/monster/humanoids/little_corym_charlatan.lua index c5284c88e..b02b938a4 100644 --- a/data/monster/humanoids/little_corym_charlatan.lua +++ b/data/monster/humanoids/little_corym_charlatan.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 19729 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/lost_basher.lua b/data/monster/humanoids/lost_basher.lua index c1b7b5a61..5ab30663f 100644 --- a/data/monster/humanoids/lost_basher.lua +++ b/data/monster/humanoids/lost_basher.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 19963 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/lost_berserker.lua b/data/monster/humanoids/lost_berserker.lua index a35e8b107..d8933ddc9 100644 --- a/data/monster/humanoids/lost_berserker.lua +++ b/data/monster/humanoids/lost_berserker.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 17416 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humanoids/lost_exile.lua b/data/monster/humanoids/lost_exile.lua index dd37be130..72883e117 100644 --- a/data/monster/humanoids/lost_exile.lua +++ b/data/monster/humanoids/lost_exile.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 33430 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/lost_husher.lua b/data/monster/humanoids/lost_husher.lua index 4be2ad960..729ea2c3c 100644 --- a/data/monster/humanoids/lost_husher.lua +++ b/data/monster/humanoids/lost_husher.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 19964 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/lost_thrower.lua b/data/monster/humanoids/lost_thrower.lua index fa1ee5b40..b09d0cada 100644 --- a/data/monster/humanoids/lost_thrower.lua +++ b/data/monster/humanoids/lost_thrower.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 19998 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/minotaur.lua b/data/monster/humanoids/minotaur.lua index 44987f086..c9dcd8c8e 100644 --- a/data/monster/humanoids/minotaur.lua +++ b/data/monster/humanoids/minotaur.lua @@ -35,7 +35,6 @@ monster.race = "blood" monster.corpse = 5969 monster.speed = 168 monster.manaCost = 330 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/minotaur_amazon.lua b/data/monster/humanoids/minotaur_amazon.lua index afddf1ebf..4bb9e9e20 100644 --- a/data/monster/humanoids/minotaur_amazon.lua +++ b/data/monster/humanoids/minotaur_amazon.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 23371 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/minotaur_archer.lua b/data/monster/humanoids/minotaur_archer.lua index db47a7ae5..23f4b5158 100644 --- a/data/monster/humanoids/minotaur_archer.lua +++ b/data/monster/humanoids/minotaur_archer.lua @@ -34,7 +34,6 @@ monster.race = "blood" monster.corpse = 5982 monster.speed = 160 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/minotaur_bruiser.lua b/data/monster/humanoids/minotaur_bruiser.lua index f45e4add9..89ea41e97 100644 --- a/data/monster/humanoids/minotaur_bruiser.lua +++ b/data/monster/humanoids/minotaur_bruiser.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5969 monster.speed = 168 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/minotaur_cult_follower.lua b/data/monster/humanoids/minotaur_cult_follower.lua index 3ec784ab3..eb46a3404 100644 --- a/data/monster/humanoids/minotaur_cult_follower.lua +++ b/data/monster/humanoids/minotaur_cult_follower.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5969 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/minotaur_cult_prophet.lua b/data/monster/humanoids/minotaur_cult_prophet.lua index dd937fe49..b89e9d1da 100644 --- a/data/monster/humanoids/minotaur_cult_prophet.lua +++ b/data/monster/humanoids/minotaur_cult_prophet.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5981 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/minotaur_cult_zealot.lua b/data/monster/humanoids/minotaur_cult_zealot.lua index d08c38626..905b8d10a 100644 --- a/data/monster/humanoids/minotaur_cult_zealot.lua +++ b/data/monster/humanoids/minotaur_cult_zealot.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5983 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/minotaur_guard.lua b/data/monster/humanoids/minotaur_guard.lua index d120d4489..dd02eb374 100644 --- a/data/monster/humanoids/minotaur_guard.lua +++ b/data/monster/humanoids/minotaur_guard.lua @@ -34,7 +34,6 @@ monster.race = "blood" monster.corpse = 5983 monster.speed = 190 monster.manaCost = 550 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/minotaur_hunter.lua b/data/monster/humanoids/minotaur_hunter.lua index 26b5d3514..47d8b2fcb 100644 --- a/data/monster/humanoids/minotaur_hunter.lua +++ b/data/monster/humanoids/minotaur_hunter.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 23466 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/minotaur_invader.lua b/data/monster/humanoids/minotaur_invader.lua index 642425054..9779f327f 100644 --- a/data/monster/humanoids/minotaur_invader.lua +++ b/data/monster/humanoids/minotaur_invader.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5983 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/minotaur_mage.lua b/data/monster/humanoids/minotaur_mage.lua index aefa24463..5e1655de7 100644 --- a/data/monster/humanoids/minotaur_mage.lua +++ b/data/monster/humanoids/minotaur_mage.lua @@ -35,7 +35,6 @@ monster.race = "blood" monster.corpse = 5981 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/minotaur_occultist.lua b/data/monster/humanoids/minotaur_occultist.lua index b05059574..98c695c5d 100644 --- a/data/monster/humanoids/minotaur_occultist.lua +++ b/data/monster/humanoids/minotaur_occultist.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5981 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/minotaur_poacher.lua b/data/monster/humanoids/minotaur_poacher.lua index acf5b5ed2..5ea4d7c2c 100644 --- a/data/monster/humanoids/minotaur_poacher.lua +++ b/data/monster/humanoids/minotaur_poacher.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5982 monster.speed = 160 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/minotaur_totem.lua b/data/monster/humanoids/minotaur_totem.lua index e400a6ea1..b78230aea 100644 --- a/data/monster/humanoids/minotaur_totem.lua +++ b/data/monster/humanoids/minotaur_totem.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 78 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/mooh'tah_warrior.lua b/data/monster/humanoids/mooh'tah_warrior.lua index d7fa253ac..d9cf17e39 100644 --- a/data/monster/humanoids/mooh'tah_warrior.lua +++ b/data/monster/humanoids/mooh'tah_warrior.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 23462 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humanoids/moohtant.lua b/data/monster/humanoids/moohtant.lua index 5561a378f..4ad270b68 100644 --- a/data/monster/humanoids/moohtant.lua +++ b/data/monster/humanoids/moohtant.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 23367 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humanoids/orc.lua b/data/monster/humanoids/orc.lua index e745a51e5..eb7d01356 100644 --- a/data/monster/humanoids/orc.lua +++ b/data/monster/humanoids/orc.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 5966 monster.speed = 150 monster.manaCost = 300 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/orc_berserker.lua b/data/monster/humanoids/orc_berserker.lua index 2a3fc9373..b5dd2d55e 100644 --- a/data/monster/humanoids/orc_berserker.lua +++ b/data/monster/humanoids/orc_berserker.lua @@ -34,7 +34,6 @@ monster.race = "blood" monster.corpse = 5980 monster.speed = 250 monster.manaCost = 590 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/orc_leader.lua b/data/monster/humanoids/orc_leader.lua index f407ec48e..bdc697d70 100644 --- a/data/monster/humanoids/orc_leader.lua +++ b/data/monster/humanoids/orc_leader.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6001 monster.speed = 230 monster.manaCost = 640 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/orc_marauder.lua b/data/monster/humanoids/orc_marauder.lua index 82ef7b21b..2142aab2d 100644 --- a/data/monster/humanoids/orc_marauder.lua +++ b/data/monster/humanoids/orc_marauder.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 11251 monster.speed = 390 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/orc_rider.lua b/data/monster/humanoids/orc_rider.lua index 521fca712..77ef97e77 100644 --- a/data/monster/humanoids/orc_rider.lua +++ b/data/monster/humanoids/orc_rider.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6010 monster.speed = 260 monster.manaCost = 490 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/orc_shaman.lua b/data/monster/humanoids/orc_shaman.lua index 2bc9b2219..2b90d0c53 100644 --- a/data/monster/humanoids/orc_shaman.lua +++ b/data/monster/humanoids/orc_shaman.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 5978 monster.speed = 140 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -70,8 +68,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Snake", chance = 20, interval = 2000, max = 4} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Snake", chance = 20, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/humanoids/orc_spearman.lua b/data/monster/humanoids/orc_spearman.lua index a67cb1932..608f8e457 100644 --- a/data/monster/humanoids/orc_spearman.lua +++ b/data/monster/humanoids/orc_spearman.lua @@ -35,7 +35,6 @@ monster.race = "blood" monster.corpse = 5996 monster.speed = 176 monster.manaCost = 310 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/orc_warlord.lua b/data/monster/humanoids/orc_warlord.lua index 93c048a1a..1449f5bcd 100644 --- a/data/monster/humanoids/orc_warlord.lua +++ b/data/monster/humanoids/orc_warlord.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6008 monster.speed = 234 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/orc_warrior.lua b/data/monster/humanoids/orc_warrior.lua index ef2eb2779..fa91c67a6 100644 --- a/data/monster/humanoids/orc_warrior.lua +++ b/data/monster/humanoids/orc_warrior.lua @@ -34,7 +34,6 @@ monster.race = "blood" monster.corpse = 5979 monster.speed = 190 monster.manaCost = 360 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/pirat_artillerist.lua b/data/monster/humanoids/pirat_artillerist.lua index 18b177b74..ad6bba0b7 100644 --- a/data/monster/humanoids/pirat_artillerist.lua +++ b/data/monster/humanoids/pirat_artillerist.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 40207 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = true, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/pirat_bombardier.lua b/data/monster/humanoids/pirat_bombardier.lua index 65a2d0f3a..c6516768b 100644 --- a/data/monster/humanoids/pirat_bombardier.lua +++ b/data/monster/humanoids/pirat_bombardier.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 40219 monster.speed = 185 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = true, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/pirat_cutthroat.lua b/data/monster/humanoids/pirat_cutthroat.lua index 4b2e8221f..255601ddb 100644 --- a/data/monster/humanoids/pirat_cutthroat.lua +++ b/data/monster/humanoids/pirat_cutthroat.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 40207 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/pirat_mate.lua b/data/monster/humanoids/pirat_mate.lua index db4c9d193..5cec7cfb5 100644 --- a/data/monster/humanoids/pirat_mate.lua +++ b/data/monster/humanoids/pirat_mate.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 40223 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = true, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/pirat_scoundrel.lua b/data/monster/humanoids/pirat_scoundrel.lua index 7f2201923..8746dcdd2 100644 --- a/data/monster/humanoids/pirat_scoundrel.lua +++ b/data/monster/humanoids/pirat_scoundrel.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 40215 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/running_elite_orc_guard.lua b/data/monster/humanoids/running_elite_orc_guard.lua index 3884c1380..44e9b788d 100644 --- a/data/monster/humanoids/running_elite_orc_guard.lua +++ b/data/monster/humanoids/running_elite_orc_guard.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6008 monster.speed = 234 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/shaper_matriarch.lua b/data/monster/humanoids/shaper_matriarch.lua index 26b1c6f4f..99c71af86 100644 --- a/data/monster/humanoids/shaper_matriarch.lua +++ b/data/monster/humanoids/shaper_matriarch.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 27739 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humanoids/soul-broken_harbinger.lua b/data/monster/humanoids/soul-broken_harbinger.lua index dfec2c053..792bc3151 100644 --- a/data/monster/humanoids/soul-broken_harbinger.lua +++ b/data/monster/humanoids/soul-broken_harbinger.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 34775 monster.speed = 420 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humanoids/swamp_troll.lua b/data/monster/humanoids/swamp_troll.lua index 44b3851b1..01a970c93 100644 --- a/data/monster/humanoids/swamp_troll.lua +++ b/data/monster/humanoids/swamp_troll.lua @@ -33,7 +33,6 @@ monster.race = "venom" monster.corpse = 6018 monster.speed = 128 monster.manaCost = 320 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/troll.lua b/data/monster/humanoids/troll.lua index 9a5f1bac3..5fe74b202 100644 --- a/data/monster/humanoids/troll.lua +++ b/data/monster/humanoids/troll.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 5960 monster.speed = 126 monster.manaCost = 290 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/troll_champion.lua b/data/monster/humanoids/troll_champion.lua index 569a914ef..18497b11c 100644 --- a/data/monster/humanoids/troll_champion.lua +++ b/data/monster/humanoids/troll_champion.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 7926 monster.speed = 138 monster.manaCost = 340 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/troll_guard.lua b/data/monster/humanoids/troll_guard.lua index 32c60390c..0bdc25d50 100644 --- a/data/monster/humanoids/troll_guard.lua +++ b/data/monster/humanoids/troll_guard.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 7926 monster.speed = 126 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/troll_legionnaire.lua b/data/monster/humanoids/troll_legionnaire.lua index b3c164cdd..cdc05155b 100644 --- a/data/monster/humanoids/troll_legionnaire.lua +++ b/data/monster/humanoids/troll_legionnaire.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5998 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/twisted_shaper.lua b/data/monster/humanoids/twisted_shaper.lua index d2e50fc18..1ba14b039 100644 --- a/data/monster/humanoids/twisted_shaper.lua +++ b/data/monster/humanoids/twisted_shaper.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 27736 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humanoids/worm_priestess.lua b/data/monster/humanoids/worm_priestess.lua index c69dfc549..c34879f40 100644 --- a/data/monster/humanoids/worm_priestess.lua +++ b/data/monster/humanoids/worm_priestess.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 23470 monster.speed = 198 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humanoids/young_troll.lua b/data/monster/humanoids/young_troll.lua index 247b97343..d94279851 100644 --- a/data/monster/humanoids/young_troll.lua +++ b/data/monster/humanoids/young_troll.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5960 monster.speed = 116 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/acolyte_of_darkness.lua b/data/monster/humans/acolyte_of_darkness.lua index 18185cb4c..de39978c9 100644 --- a/data/monster/humans/acolyte_of_darkness.lua +++ b/data/monster/humans/acolyte_of_darkness.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20455 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/acolyte_of_the_cult.lua b/data/monster/humans/acolyte_of_the_cult.lua index f29bbddd6..dbd817f61 100644 --- a/data/monster/humans/acolyte_of_the_cult.lua +++ b/data/monster/humans/acolyte_of_the_cult.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20319 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -72,8 +70,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Skeleton", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 1, + summons = { + {name = "Skeleton", chance = 10, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/humans/adept_of_the_cult.lua b/data/monster/humans/adept_of_the_cult.lua index 9e20a1257..0a06d222b 100644 --- a/data/monster/humans/adept_of_the_cult.lua +++ b/data/monster/humans/adept_of_the_cult.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20311 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -72,8 +70,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Ghoul", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Ghoul", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/humans/adventurer.lua b/data/monster/humans/adventurer.lua index 077de6972..048375960 100644 --- a/data/monster/humans/adventurer.lua +++ b/data/monster/humans/adventurer.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20315 monster.speed = 106 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/amazon.lua b/data/monster/humans/amazon.lua index 13a1c0dea..132b28686 100644 --- a/data/monster/humans/amazon.lua +++ b/data/monster/humans/amazon.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 20323 monster.speed = 172 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/angry_adventurer.lua b/data/monster/humans/angry_adventurer.lua index a4fec87b1..609c2a3c0 100644 --- a/data/monster/humans/angry_adventurer.lua +++ b/data/monster/humans/angry_adventurer.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20315 monster.speed = 195 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/assassin.lua b/data/monster/humans/assassin.lua index 7ad79dff6..ac9da3d49 100644 --- a/data/monster/humans/assassin.lua +++ b/data/monster/humans/assassin.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20327 monster.speed = 224 monster.manaCost = 450 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/bandit.lua b/data/monster/humans/bandit.lua index e0d93dd42..771043de1 100644 --- a/data/monster/humans/bandit.lua +++ b/data/monster/humans/bandit.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 20331 monster.speed = 180 monster.manaCost = 450 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/barbarian_bloodwalker.lua b/data/monster/humans/barbarian_bloodwalker.lua index 24ad84610..89dae1cdb 100644 --- a/data/monster/humans/barbarian_bloodwalker.lua +++ b/data/monster/humans/barbarian_bloodwalker.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20335 monster.speed = 236 monster.manaCost = 590 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/barbarian_brutetamer.lua b/data/monster/humans/barbarian_brutetamer.lua index 0c5155fa0..43a19866a 100644 --- a/data/monster/humans/barbarian_brutetamer.lua +++ b/data/monster/humans/barbarian_brutetamer.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20339 monster.speed = 178 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 60000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -72,8 +70,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "War Wolf", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "War Wolf", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/humans/barbarian_headsplitter.lua b/data/monster/humans/barbarian_headsplitter.lua index e9711ce24..4177295e9 100644 --- a/data/monster/humans/barbarian_headsplitter.lua +++ b/data/monster/humans/barbarian_headsplitter.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20343 monster.speed = 168 monster.manaCost = 450 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/barbarian_skullhunter.lua b/data/monster/humans/barbarian_skullhunter.lua index 1fe868c64..1fc3eef3c 100644 --- a/data/monster/humans/barbarian_skullhunter.lua +++ b/data/monster/humans/barbarian_skullhunter.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20347 monster.speed = 168 monster.manaCost = 450 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/black_sphinx_acolyte.lua b/data/monster/humans/black_sphinx_acolyte.lua index c1ef69fe6..0faa006e9 100644 --- a/data/monster/humans/black_sphinx_acolyte.lua +++ b/data/monster/humans/black_sphinx_acolyte.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 36258 monster.speed = 310 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -69,8 +67,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Skeleton Elite Warrior", chance = 10, interval = 2000, max = 1} +monster.summon = { + maxSummons = 1, + summons = { + {name = "Skeleton Elite Warrior", chance = 10, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/humans/blood_hand.lua b/data/monster/humans/blood_hand.lua index ddb5cf08e..8024b6569 100644 --- a/data/monster/humans/blood_hand.lua +++ b/data/monster/humans/blood_hand.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 21257 monster.speed = 192 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/blood_priest.lua b/data/monster/humans/blood_priest.lua index cd78e9b0b..88825f2d7 100644 --- a/data/monster/humans/blood_priest.lua +++ b/data/monster/humans/blood_priest.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 21262 monster.speed = 198 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/burning_gladiator.lua b/data/monster/humans/burning_gladiator.lua index 4be03f075..096750e9a 100644 --- a/data/monster/humans/burning_gladiator.lua +++ b/data/monster/humans/burning_gladiator.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 36481 monster.speed = 290 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/cobra_assassin.lua b/data/monster/humans/cobra_assassin.lua index fca03cf71..944c3b129 100644 --- a/data/monster/humans/cobra_assassin.lua +++ b/data/monster/humans/cobra_assassin.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 36382 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/cobra_scout.lua b/data/monster/humans/cobra_scout.lua index c22e1e932..dca6f7c48 100644 --- a/data/monster/humans/cobra_scout.lua +++ b/data/monster/humans/cobra_scout.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 36470 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -95,7 +93,6 @@ monster.loot = { {id = 26189, chance = 740}-- ring of red plasma } - monster.attacks = { {name ="melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -500}, {name ="combat", interval = 2000, chance = 22, type = COMBAT_EARTHDAMAGE, minDamage = -350, maxDamage = -450, shootEffect = CONST_ANI_SNIPERARROW, target = true}, diff --git a/data/monster/humans/cobra_vizier.lua b/data/monster/humans/cobra_vizier.lua index bd3b68819..8f3d16e63 100644 --- a/data/monster/humans/cobra_vizier.lua +++ b/data/monster/humans/cobra_vizier.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 36474 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/crazed_beggar.lua b/data/monster/humans/crazed_beggar.lua index 27d364374..13c7da69e 100644 --- a/data/monster/humans/crazed_beggar.lua +++ b/data/monster/humans/crazed_beggar.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20351 monster.speed = 154 monster.manaCost = 300 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/crypt_defiler.lua b/data/monster/humans/crypt_defiler.lua index 1d5fae830..d77d707af 100644 --- a/data/monster/humans/crypt_defiler.lua +++ b/data/monster/humans/crypt_defiler.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20359 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/dark_apprentice.lua b/data/monster/humans/dark_apprentice.lua index a000a62bc..cc87b41d1 100644 --- a/data/monster/humans/dark_apprentice.lua +++ b/data/monster/humans/dark_apprentice.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20363 monster.speed = 172 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/dark_magician.lua b/data/monster/humans/dark_magician.lua index 0d7eb1f7f..ddc495d2e 100644 --- a/data/monster/humans/dark_magician.lua +++ b/data/monster/humans/dark_magician.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 20367 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/dark_monk.lua b/data/monster/humans/dark_monk.lua index ebff93e3d..04369c123 100644 --- a/data/monster/humans/dark_monk.lua +++ b/data/monster/humans/dark_monk.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20562 monster.speed = 230 monster.manaCost = 480 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/enlightened_of_the_cult.lua b/data/monster/humans/enlightened_of_the_cult.lua index c5de11fa0..2d95c0d56 100644 --- a/data/monster/humans/enlightened_of_the_cult.lua +++ b/data/monster/humans/enlightened_of_the_cult.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20391 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -72,9 +70,12 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Crypt Shambler", chance = 10, interval = 2000}, - {name = "Ghost", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Crypt Shambler", chance = 10, interval = 2000, count = 1}, + {name = "Ghost", chance = 10, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/humans/feverish_citizen.lua b/data/monster/humans/feverish_citizen.lua index 98791f298..4099bd686 100644 --- a/data/monster/humans/feverish_citizen.lua +++ b/data/monster/humans/feverish_citizen.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20395 monster.speed = 146 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/gang_member.lua b/data/monster/humans/gang_member.lua index 20da9ae5b..eb5b923da 100644 --- a/data/monster/humans/gang_member.lua +++ b/data/monster/humans/gang_member.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20403 monster.speed = 190 monster.manaCost = 420 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/gladiator.lua b/data/monster/humans/gladiator.lua index e8f33363b..5cadf8e1e 100644 --- a/data/monster/humans/gladiator.lua +++ b/data/monster/humans/gladiator.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20407 monster.speed = 196 monster.manaCost = 470 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/glooth_bandit.lua b/data/monster/humans/glooth_bandit.lua index 766b21f4f..5d4920c2b 100644 --- a/data/monster/humans/glooth_bandit.lua +++ b/data/monster/humans/glooth_bandit.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 24251 monster.speed = 300 monster.manaCost = 450 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/glooth_brigand.lua b/data/monster/humans/glooth_brigand.lua index e7b2ac5dc..058187da5 100644 --- a/data/monster/humans/glooth_brigand.lua +++ b/data/monster/humans/glooth_brigand.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 24257 monster.speed = 320 monster.manaCost = 450 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/grave_robber.lua b/data/monster/humans/grave_robber.lua index ccf2d4ab8..6ea967392 100644 --- a/data/monster/humans/grave_robber.lua +++ b/data/monster/humans/grave_robber.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20411 monster.speed = 190 monster.manaCost = 435 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/hardened_usurper_archer.lua b/data/monster/humans/hardened_usurper_archer.lua index f53b089b4..9791d9a2d 100644 --- a/data/monster/humans/hardened_usurper_archer.lua +++ b/data/monster/humans/hardened_usurper_archer.lua @@ -18,8 +18,6 @@ monster.maxHealth = 7300 monster.race = "blood" monster.corpse = 0 monster.speed = 250 -monster.summonCost = 0 -monster.maxSummons = 0 monster.faction = FACTION_LIONUSURPERS monster.enemyFactions = {FACTION_LION, FACTION_PLAYER} @@ -50,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/hardened_usurper_knight.lua b/data/monster/humans/hardened_usurper_knight.lua index bcef33866..58de08165 100644 --- a/data/monster/humans/hardened_usurper_knight.lua +++ b/data/monster/humans/hardened_usurper_knight.lua @@ -18,8 +18,6 @@ monster.maxHealth = 8200 monster.race = "blood" monster.corpse = 0 monster.speed = 260 -monster.summonCost = 0 -monster.maxSummons = 0 monster.faction = FACTION_LIONUSURPERS monster.enemyFactions = {FACTION_LION, FACTION_PLAYER} @@ -50,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/hardened_usurper_warlock.lua b/data/monster/humans/hardened_usurper_warlock.lua index d235619d8..d403eb0c7 100644 --- a/data/monster/humans/hardened_usurper_warlock.lua +++ b/data/monster/humans/hardened_usurper_warlock.lua @@ -18,8 +18,6 @@ monster.maxHealth = 7500 monster.race = "blood" monster.corpse = 0 monster.speed = 330 -monster.summonCost = 0 -monster.maxSummons = 0 monster.faction = FACTION_LIONUSURPERS monster.enemyFactions = {FACTION_LION, FACTION_PLAYER} @@ -50,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/hero.lua b/data/monster/humans/hero.lua index f3ec73dcf..66346791a 100644 --- a/data/monster/humans/hero.lua +++ b/data/monster/humans/hero.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 20415 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/hunter.lua b/data/monster/humans/hunter.lua index 48a2ef4b4..4c4380d6a 100644 --- a/data/monster/humans/hunter.lua +++ b/data/monster/humans/hunter.lua @@ -34,7 +34,6 @@ monster.race = "blood" monster.corpse = 20419 monster.speed = 210 monster.manaCost = 530 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/ice_witch.lua b/data/monster/humans/ice_witch.lua index d6b587e79..603303c78 100644 --- a/data/monster/humans/ice_witch.lua +++ b/data/monster/humans/ice_witch.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 20423 monster.speed = 228 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/infernalist.lua b/data/monster/humans/infernalist.lua index 7c62cb04f..3734b89c8 100644 --- a/data/monster/humans/infernalist.lua +++ b/data/monster/humans/infernalist.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20427 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -69,8 +67,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "fire elemental", chance = 20, interval = 2000} +monster.summon = { + maxSummons = 1, + summons = { + {name = "fire elemental", chance = 20, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/humans/lion_archer.lua b/data/monster/humans/lion_archer.lua index bc70636f3..0bfb33d00 100644 --- a/data/monster/humans/lion_archer.lua +++ b/data/monster/humans/lion_archer.lua @@ -18,8 +18,6 @@ monster.maxHealth = 9000 monster.race = "blood" monster.corpse = 38796 monster.speed = 250 -monster.summonCost = 0 -monster.maxSummons = 0 monster.faction = FACTION_LION monster.enemyFactions = {FACTION_LIONUSURPERS} @@ -50,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/lion_knight.lua b/data/monster/humans/lion_knight.lua index 5d9609fcb..39f939007 100644 --- a/data/monster/humans/lion_knight.lua +++ b/data/monster/humans/lion_knight.lua @@ -18,8 +18,6 @@ monster.maxHealth = 9000 monster.race = "blood" monster.corpse = 38792 monster.speed = 260 -monster.summonCost = 0 -monster.maxSummons = 0 monster.faction = FACTION_LION monster.enemyFactions = {FACTION_LIONUSURPERS} @@ -50,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/lion_warlock.lua b/data/monster/humans/lion_warlock.lua index 28d14d6e7..dd9cb5181 100644 --- a/data/monster/humans/lion_warlock.lua +++ b/data/monster/humans/lion_warlock.lua @@ -18,8 +18,6 @@ monster.maxHealth = 8500 monster.race = "blood" monster.corpse = 38800 monster.speed = 330 -monster.summonCost = 0 -monster.maxSummons = 0 monster.faction = FACTION_LION monster.enemyFactions = {FACTION_LIONUSURPERS} @@ -50,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/mad_scientist.lua b/data/monster/humans/mad_scientist.lua index b8a0f4971..61af0373f 100644 --- a/data/monster/humans/mad_scientist.lua +++ b/data/monster/humans/mad_scientist.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20439 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/monk.lua b/data/monster/humans/monk.lua index 1f3fbd77e..29b3a4d25 100644 --- a/data/monster/humans/monk.lua +++ b/data/monster/humans/monk.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 20371 monster.speed = 240 monster.manaCost = 600 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/monk_of_the_order.lua b/data/monster/humans/monk_of_the_order.lua index 95f964bb0..a36ecb3e0 100644 --- a/data/monster/humans/monk_of_the_order.lua +++ b/data/monster/humans/monk_of_the_order.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20371 monster.speed = 240 monster.manaCost = 600 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -49,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/mutated_human.lua b/data/monster/humans/mutated_human.lua index b0234d49e..2a30b68e9 100644 --- a/data/monster/humans/mutated_human.lua +++ b/data/monster/humans/mutated_human.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 9107 monster.speed = 154 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/necromancer.lua b/data/monster/humans/necromancer.lua index a2e6ee7b3..3d13717b1 100644 --- a/data/monster/humans/necromancer.lua +++ b/data/monster/humans/necromancer.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 20455 monster.speed = 188 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -70,10 +68,13 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Ghoul", chance = 15, interval = 2000}, - {name = "Ghost", chance = 5, interval = 2000}, - {name = "Mummy", chance = 5, interval = 2000} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Ghoul", chance = 15, interval = 2000, count = 1}, + {name = "Ghost", chance = 5, interval = 2000, count = 1}, + {name = "Mummy", chance = 5, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/humans/necromancer_servant.lua b/data/monster/humans/necromancer_servant.lua index 5fe8c77ac..697d50902 100644 --- a/data/monster/humans/necromancer_servant.lua +++ b/data/monster/humans/necromancer_servant.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20455 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/nomad.lua b/data/monster/humans/nomad.lua index f74653e2a..765bcd0fc 100644 --- a/data/monster/humans/nomad.lua +++ b/data/monster/humans/nomad.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 20466 monster.speed = 190 monster.manaCost = 420 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/nomad_female.lua b/data/monster/humans/nomad_female.lua index 0c5de033d..20bb4f59d 100644 --- a/data/monster/humans/nomad_female.lua +++ b/data/monster/humans/nomad_female.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 20462 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/nomadfemale.lua b/data/monster/humans/nomadfemale.lua index 341cde319..3e41bc760 100644 --- a/data/monster/humans/nomadfemale.lua +++ b/data/monster/humans/nomadfemale.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20462 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, diff --git a/data/monster/humans/novice_of_the_cult.lua b/data/monster/humans/novice_of_the_cult.lua index d68a54665..51a54f9ca 100644 --- a/data/monster/humans/novice_of_the_cult.lua +++ b/data/monster/humans/novice_of_the_cult.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 20467 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -73,8 +71,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Chicken", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 1, + summons = { + {name = "Chicken", chance = 10, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/humans/pirate_buccaneer.lua b/data/monster/humans/pirate_buccaneer.lua index 1cb3e17f9..415b3192a 100644 --- a/data/monster/humans/pirate_buccaneer.lua +++ b/data/monster/humans/pirate_buccaneer.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20471 monster.speed = 218 monster.manaCost = 595 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/pirate_corsair.lua b/data/monster/humans/pirate_corsair.lua index a8a25784d..81a91a510 100644 --- a/data/monster/humans/pirate_corsair.lua +++ b/data/monster/humans/pirate_corsair.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20475 monster.speed = 238 monster.manaCost = 775 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/pirate_cutthroat.lua b/data/monster/humans/pirate_cutthroat.lua index c89554278..4ea4e5e34 100644 --- a/data/monster/humans/pirate_cutthroat.lua +++ b/data/monster/humans/pirate_cutthroat.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20479 monster.speed = 214 monster.manaCost = 495 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/pirate_marauder.lua b/data/monster/humans/pirate_marauder.lua index c397730bb..14db51f3e 100644 --- a/data/monster/humans/pirate_marauder.lua +++ b/data/monster/humans/pirate_marauder.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20483 monster.speed = 210 monster.manaCost = 490 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/poacher.lua b/data/monster/humans/poacher.lua index b023bd4cc..4d37b372c 100644 --- a/data/monster/humans/poacher.lua +++ b/data/monster/humans/poacher.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 20487 monster.speed = 198 monster.manaCost = 530 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/priestess.lua b/data/monster/humans/priestess.lua index cb1a8a343..dfd6a2600 100644 --- a/data/monster/humans/priestess.lua +++ b/data/monster/humans/priestess.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20491 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -69,8 +67,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "ghoul", chance = 10, interval = 2000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "ghoul", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/humans/priestess_of_the_wild_sun.lua b/data/monster/humans/priestess_of_the_wild_sun.lua index ef0d5e28c..724aaca39 100644 --- a/data/monster/humans/priestess_of_the_wild_sun.lua +++ b/data/monster/humans/priestess_of_the_wild_sun.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 36254 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/renegade_knight.lua b/data/monster/humans/renegade_knight.lua index c29c838fb..87fb2c0c8 100644 --- a/data/monster/humans/renegade_knight.lua +++ b/data/monster/humans/renegade_knight.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 24676 monster.speed = 270 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/shadow_pupil.lua b/data/monster/humans/shadow_pupil.lua index 93b070e47..56ed1a671 100644 --- a/data/monster/humans/shadow_pupil.lua +++ b/data/monster/humans/shadow_pupil.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 21254 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -69,9 +67,12 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Skeleton", chance = 10, interval = 2000}, - {name = "Ghost", chance = 5, interval = 2000} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Skeleton", chance = 10, interval = 2000, count = 4}, + {name = "Ghost", chance = 5, interval = 2000, count = 4} + } } monster.voices = { diff --git a/data/monster/humans/smuggler.lua b/data/monster/humans/smuggler.lua index 6268cf904..bec8fb3db 100644 --- a/data/monster/humans/smuggler.lua +++ b/data/monster/humans/smuggler.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20507 monster.speed = 176 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/stalker.lua b/data/monster/humans/stalker.lua index 3c016eda4..2b4b3ca33 100644 --- a/data/monster/humans/stalker.lua +++ b/data/monster/humans/stalker.lua @@ -34,7 +34,6 @@ monster.race = "blood" monster.corpse = 20511 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/usurper_archer.lua b/data/monster/humans/usurper_archer.lua index 842d74411..f10cd606f 100644 --- a/data/monster/humans/usurper_archer.lua +++ b/data/monster/humans/usurper_archer.lua @@ -31,8 +31,6 @@ monster.maxHealth = 7300 monster.race = "blood" monster.corpse = 38816 monster.speed = 250 -monster.summonCost = 0 -monster.maxSummons = 0 monster.faction = FACTION_LIONUSURPERS monster.enemyFactions = {FACTION_LION, FACTION_PLAYER} @@ -63,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/usurper_knight.lua b/data/monster/humans/usurper_knight.lua index cdbd1f3b7..694f9442a 100644 --- a/data/monster/humans/usurper_knight.lua +++ b/data/monster/humans/usurper_knight.lua @@ -31,8 +31,6 @@ monster.maxHealth = 8200 monster.race = "blood" monster.corpse = 38812 monster.speed = 260 -monster.summonCost = 0 -monster.maxSummons = 0 monster.faction = FACTION_LIONUSURPERS monster.enemyFactions = {FACTION_LION, FACTION_PLAYER} @@ -63,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/usurper_warlock.lua b/data/monster/humans/usurper_warlock.lua index aa9386619..87869036b 100644 --- a/data/monster/humans/usurper_warlock.lua +++ b/data/monster/humans/usurper_warlock.lua @@ -31,8 +31,6 @@ monster.maxHealth = 7500 monster.race = "blood" monster.corpse = 39019 monster.speed = 330 -monster.summonCost = 0 -monster.maxSummons = 0 monster.faction = FACTION_LIONUSURPERS monster.enemyFactions = {FACTION_LION, FACTION_PLAYER} @@ -63,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/valkyrie.lua b/data/monster/humans/valkyrie.lua index 546858aa3..4132d410e 100644 --- a/data/monster/humans/valkyrie.lua +++ b/data/monster/humans/valkyrie.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 20523 monster.speed = 176 monster.manaCost = 450 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/vicious_squire.lua b/data/monster/humans/vicious_squire.lua index 2e5d668c7..79a9fc8b2 100644 --- a/data/monster/humans/vicious_squire.lua +++ b/data/monster/humans/vicious_squire.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 24673 monster.speed = 260 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/humans/vile_grandmaster.lua b/data/monster/humans/vile_grandmaster.lua index 330a7dc39..aa428e26e 100644 --- a/data/monster/humans/vile_grandmaster.lua +++ b/data/monster/humans/vile_grandmaster.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 24679 monster.speed = 280 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/warlock.lua b/data/monster/humans/warlock.lua index 89820976b..fdc45d841 100644 --- a/data/monster/humans/warlock.lua +++ b/data/monster/humans/warlock.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 20527 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -70,8 +68,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "stone golem", chance = 10, interval = 2000, max = 1} +monster.summon = { + maxSummons = 1, + summons = { + {name = "stone golem", chance = 10, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/humans/wild_warrior.lua b/data/monster/humans/wild_warrior.lua index d177a2956..37f6bfbf8 100644 --- a/data/monster/humans/wild_warrior.lua +++ b/data/monster/humans/wild_warrior.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 20531 monster.speed = 190 monster.manaCost = 420 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/humans/witch.lua b/data/monster/humans/witch.lua index ed1b1fc72..864e82a4a 100644 --- a/data/monster/humans/witch.lua +++ b/data/monster/humans/witch.lua @@ -35,7 +35,6 @@ monster.race = "blood" monster.corpse = 20535 monster.speed = 204 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/lycanthropes/werebadger.lua b/data/monster/lycanthropes/werebadger.lua index ccf356757..d3c8cc594 100644 --- a/data/monster/lycanthropes/werebadger.lua +++ b/data/monster/lycanthropes/werebadger.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 24723 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/lycanthropes/werebear.lua b/data/monster/lycanthropes/werebear.lua index 5a34554c4..2da4c211f 100644 --- a/data/monster/lycanthropes/werebear.lua +++ b/data/monster/lycanthropes/werebear.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 24666 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/lycanthropes/wereboar.lua b/data/monster/lycanthropes/wereboar.lua index 2eeb83c70..73320696e 100644 --- a/data/monster/lycanthropes/wereboar.lua +++ b/data/monster/lycanthropes/wereboar.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 24722 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/lycanthropes/werefox.lua b/data/monster/lycanthropes/werefox.lua index 7bba98e15..7103eb8f2 100644 --- a/data/monster/lycanthropes/werefox.lua +++ b/data/monster/lycanthropes/werefox.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 30756 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -72,8 +70,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "fox", chance = 10, interval = 2000, max = 2} +monster.summon = { + maxSummons = 1, + summons = { + {name = "fox", chance = 10, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/lycanthropes/werehyaena.lua b/data/monster/lycanthropes/werehyaena.lua index c6c9a998b..3c4d9f5cb 100644 --- a/data/monster/lycanthropes/werehyaena.lua +++ b/data/monster/lycanthropes/werehyaena.lua @@ -25,14 +25,13 @@ monster.Bestiary = { Occurrence = 0, Locations = "This monster you can find in Hyaena Lairs." } - + monster.health = 2700 monster.maxHealth = monster.health monster.race = "blood" monster.corpse = 38656 monster.speed = 120 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/lycanthropes/werehyaena_shaman.lua b/data/monster/lycanthropes/werehyaena_shaman.lua index 8c10487c4..59b88247d 100644 --- a/data/monster/lycanthropes/werehyaena_shaman.lua +++ b/data/monster/lycanthropes/werehyaena_shaman.lua @@ -25,14 +25,13 @@ monster.Bestiary = { Occurrence = 0, Locations = "This monster you can find in Hyaena Lairs." } - + monster.health = 2500 monster.maxHealth = monster.health monster.race = "blood" monster.corpse = 39024 monster.speed = 110 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/lycanthropes/werelion.lua b/data/monster/lycanthropes/werelion.lua index 42d6d00b7..cdbf86ac6 100644 --- a/data/monster/lycanthropes/werelion.lua +++ b/data/monster/lycanthropes/werelion.lua @@ -25,14 +25,13 @@ monster.Bestiary = { Occurrence = 0, Locations = "This monster you can find in Hyaena Lairs." } - + monster.health = 2800 monster.maxHealth = 2800 monster.race = "blood" monster.corpse = 38660 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -56,8 +55,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/lycanthropes/werelioness.lua b/data/monster/lycanthropes/werelioness.lua index b140d4b23..1123e517d 100644 --- a/data/monster/lycanthropes/werelioness.lua +++ b/data/monster/lycanthropes/werelioness.lua @@ -25,14 +25,13 @@ monster.Bestiary = { Occurrence = 0, Locations = "This monster we can find in Hyaena Lairs." } - + monster.health = 3000 monster.maxHealth = 3000 monster.race = "blood" monster.corpse = 39020 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -56,8 +55,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/lycanthropes/werewolf.lua b/data/monster/lycanthropes/werewolf.lua index c9c980f85..4ff89d19a 100644 --- a/data/monster/lycanthropes/werewolf.lua +++ b/data/monster/lycanthropes/werewolf.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 20380 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -69,8 +67,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "war wolf", chance = 40, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "war wolf", chance = 40, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/magicals/animated_feather.lua b/data/monster/magicals/animated_feather.lua index f3342d6b6..f4344ae52 100644 --- a/data/monster/magicals/animated_feather.lua +++ b/data/monster/magicals/animated_feather.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 33325 monster.speed = 420 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/arachnophobica.lua b/data/monster/magicals/arachnophobica.lua index 3286b4e9a..17853b626 100644 --- a/data/monster/magicals/arachnophobica.lua +++ b/data/monster/magicals/arachnophobica.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 34711 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/armadile.lua b/data/monster/magicals/armadile.lua index 755ab3565..b5a5f9c46 100644 --- a/data/monster/magicals/armadile.lua +++ b/data/monster/magicals/armadile.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 18378 monster.speed = 440 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/blue_djinn.lua b/data/monster/magicals/blue_djinn.lua index 40cb6948d..bf4e8b9b0 100644 --- a/data/monster/magicals/blue_djinn.lua +++ b/data/monster/magicals/blue_djinn.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6020 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/magicals/bog_raider.lua b/data/monster/magicals/bog_raider.lua index 93e4d92cb..2c414a9bc 100644 --- a/data/monster/magicals/bog_raider.lua +++ b/data/monster/magicals/bog_raider.lua @@ -33,7 +33,6 @@ monster.race = "venom" monster.corpse = 8951 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/magicals/bonelord.lua b/data/monster/magicals/bonelord.lua index 26ad23787..442d1d14f 100644 --- a/data/monster/magicals/bonelord.lua +++ b/data/monster/magicals/bonelord.lua @@ -37,7 +37,6 @@ monster.race = "venom" monster.corpse = 5992 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 6 monster.changeTarget = { interval = 4000, @@ -68,8 +67,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -77,8 +75,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Skeleton", chance = 20, interval = 2000, max = 6} +monster.summon = { + maxSummons = 6, + summons = { + {name = "Skeleton", chance = 20, interval = 2000, count = 6} + } } monster.voices = { diff --git a/data/monster/magicals/brain_squid.lua b/data/monster/magicals/brain_squid.lua index 4d9e297cb..c1952519d 100644 --- a/data/monster/magicals/brain_squid.lua +++ b/data/monster/magicals/brain_squid.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 33329 monster.speed = 430 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/braindeath.lua b/data/monster/magicals/braindeath.lua index 27eab3441..cd1559c8d 100644 --- a/data/monster/magicals/braindeath.lua +++ b/data/monster/magicals/braindeath.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 7256 monster.speed = 218 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -73,8 +71,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Vampire", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Vampire", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/magicals/burning_book.lua b/data/monster/magicals/burning_book.lua index c36a1fee5..f0f85ffeb 100644 --- a/data/monster/magicals/burning_book.lua +++ b/data/monster/magicals/burning_book.lua @@ -32,7 +32,6 @@ monster.race = "fire" monster.corpse = 32454 monster.speed = 440 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/choking_fear.lua b/data/monster/magicals/choking_fear.lua index 05f563d94..c2b326dcc 100644 --- a/data/monster/magicals/choking_fear.lua +++ b/data/monster/magicals/choking_fear.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 22493 monster.speed = 380 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/magicals/crypt_warden.lua b/data/monster/magicals/crypt_warden.lua index 9980901a3..fc28639e3 100644 --- a/data/monster/magicals/crypt_warden.lua +++ b/data/monster/magicals/crypt_warden.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 36485 monster.speed = 290 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/crystalcrusher.lua b/data/monster/magicals/crystalcrusher.lua index 247c08957..01b5fddfd 100644 --- a/data/monster/magicals/crystalcrusher.lua +++ b/data/monster/magicals/crystalcrusher.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 18487 monster.speed = 390 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/cursed_book.lua b/data/monster/magicals/cursed_book.lua index 5554b68f2..8cbb545c1 100644 --- a/data/monster/magicals/cursed_book.lua +++ b/data/monster/magicals/cursed_book.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 33337 monster.speed = 440 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/dragonling.lua b/data/monster/magicals/dragonling.lua index f54864b01..b5d3250cd 100644 --- a/data/monster/magicals/dragonling.lua +++ b/data/monster/magicals/dragonling.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 18438 monster.speed = 460 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/magicals/efreet.lua b/data/monster/magicals/efreet.lua index 06a9b4838..b2733f7d4 100644 --- a/data/monster/magicals/efreet.lua +++ b/data/monster/magicals/efreet.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6032 monster.speed = 234 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -69,8 +67,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "green djinn", chance = 10, interval = 2000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "green djinn", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/magicals/elder_bonelord.lua b/data/monster/magicals/elder_bonelord.lua index 8304c8ad4..fdafe3b68 100644 --- a/data/monster/magicals/elder_bonelord.lua +++ b/data/monster/magicals/elder_bonelord.lua @@ -34,7 +34,6 @@ monster.race = "blood" monster.corpse = 6037 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 6 monster.changeTarget = { interval = 4000, @@ -65,8 +64,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -74,9 +72,12 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Gazer", chance = 10, interval = 2000}, - {name = "Crypt Shambler", chance = 15, interval = 2000} +monster.summon = { + maxSummons = 6, + summons = { + {name = "Gazer", chance = 10, interval = 2000, count = 6}, + {name = "Crypt Shambler", chance = 15, interval = 2000, count = 6} + } } monster.voices = { diff --git a/data/monster/magicals/energetic_book.lua b/data/monster/magicals/energetic_book.lua index a686fc17a..79757e22b 100644 --- a/data/monster/magicals/energetic_book.lua +++ b/data/monster/magicals/energetic_book.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 32478 monster.speed = 440 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/magicals/energuardian_of_tales.lua b/data/monster/magicals/energuardian_of_tales.lua index 3f78b7c17..f7b929c9e 100644 --- a/data/monster/magicals/energuardian_of_tales.lua +++ b/data/monster/magicals/energuardian_of_tales.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 32571 monster.speed = 420 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/magicals/enfeebled_silencer.lua b/data/monster/magicals/enfeebled_silencer.lua index 37b1a2fd5..9e1dd50f8 100644 --- a/data/monster/magicals/enfeebled_silencer.lua +++ b/data/monster/magicals/enfeebled_silencer.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 22489 monster.speed = 330 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/magicals/fahim_the_wise.lua b/data/monster/magicals/fahim_the_wise.lua index 7a886dc91..7ca0c2198 100644 --- a/data/monster/magicals/fahim_the_wise.lua +++ b/data/monster/magicals/fahim_the_wise.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6033 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -56,8 +54,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "blue djinn", chance = 10, interval = 2000, max = 3} +monster.summon = { + maxSummons = 3, + summons = { + {name = "blue djinn", chance = 10, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/magicals/feral_sphinx.lua b/data/monster/magicals/feral_sphinx.lua index 3e23682bf..31f96f73c 100644 --- a/data/monster/magicals/feral_sphinx.lua +++ b/data/monster/magicals/feral_sphinx.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 36493 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/feversleep.lua b/data/monster/magicals/feversleep.lua index e8ca0df99..08f8a7716 100644 --- a/data/monster/magicals/feversleep.lua +++ b/data/monster/magicals/feversleep.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 22497 monster.speed = 360 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/flying_book.lua b/data/monster/magicals/flying_book.lua index 2ae2947c2..a721089a4 100644 --- a/data/monster/magicals/flying_book.lua +++ b/data/monster/magicals/flying_book.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 33333 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/forest_fury.lua b/data/monster/magicals/forest_fury.lua index f1997b4ee..8f6d79815 100644 --- a/data/monster/magicals/forest_fury.lua +++ b/data/monster/magicals/forest_fury.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 21359 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/frazzlemaw.lua b/data/monster/magicals/frazzlemaw.lua index e2f3a1ce7..306db8b44 100644 --- a/data/monster/magicals/frazzlemaw.lua +++ b/data/monster/magicals/frazzlemaw.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 22567 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/gargoyle.lua b/data/monster/magicals/gargoyle.lua index 0f668379e..0f6b16408 100644 --- a/data/monster/magicals/gargoyle.lua +++ b/data/monster/magicals/gargoyle.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 6027 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/gazer.lua b/data/monster/magicals/gazer.lua index a4604525f..e8f5ef51e 100644 --- a/data/monster/magicals/gazer.lua +++ b/data/monster/magicals/gazer.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 6036 monster.speed = 140 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/green_djinn.lua b/data/monster/magicals/green_djinn.lua index 11a251f20..61790df50 100644 --- a/data/monster/magicals/green_djinn.lua +++ b/data/monster/magicals/green_djinn.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6016 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/magicals/gryphon.lua b/data/monster/magicals/gryphon.lua index cb3cea412..8da45d4db 100644 --- a/data/monster/magicals/gryphon.lua +++ b/data/monster/magicals/gryphon.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 36233 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/magicals/guardian_of_tales.lua b/data/monster/magicals/guardian_of_tales.lua index 3a9f162d1..ddb07c77c 100644 --- a/data/monster/magicals/guardian_of_tales.lua +++ b/data/monster/magicals/guardian_of_tales.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 32470 monster.speed = 420 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/guzzlemaw.lua b/data/monster/magicals/guzzlemaw.lua index 71fb88021..773bc816c 100644 --- a/data/monster/magicals/guzzlemaw.lua +++ b/data/monster/magicals/guzzlemaw.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 22485 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/icecold_book.lua b/data/monster/magicals/icecold_book.lua index 52662466b..f7a340407 100644 --- a/data/monster/magicals/icecold_book.lua +++ b/data/monster/magicals/icecold_book.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 32474 monster.speed = 440 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/lamassu.lua b/data/monster/magicals/lamassu.lua index e3dfd8362..173b4f3e9 100644 --- a/data/monster/magicals/lamassu.lua +++ b/data/monster/magicals/lamassu.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 36229 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/lumbering_carnivor.lua b/data/monster/magicals/lumbering_carnivor.lua index 914d5e4d5..36419eaab 100644 --- a/data/monster/magicals/lumbering_carnivor.lua +++ b/data/monster/magicals/lumbering_carnivor.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 34703 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/manticore.lua b/data/monster/magicals/manticore.lua index eefc82222..4913b5499 100644 --- a/data/monster/magicals/manticore.lua +++ b/data/monster/magicals/manticore.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 36225 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/marid.lua b/data/monster/magicals/marid.lua index 7fd7ad92f..ab9fd402d 100644 --- a/data/monster/magicals/marid.lua +++ b/data/monster/magicals/marid.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6033 monster.speed = 234 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -69,8 +67,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "blue djinn", chance = 10, interval = 2000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "blue djinn", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/magicals/medusa.lua b/data/monster/magicals/medusa.lua index 76b152eb7..8809f4f28 100644 --- a/data/monster/magicals/medusa.lua +++ b/data/monster/magicals/medusa.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 10524 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/menacing_carnivor.lua b/data/monster/magicals/menacing_carnivor.lua index 50f13c61a..d4e897034 100644 --- a/data/monster/magicals/menacing_carnivor.lua +++ b/data/monster/magicals/menacing_carnivor.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 34741 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/midnight_panther.lua b/data/monster/magicals/midnight_panther.lua index 2f74499f0..2b740cbd6 100644 --- a/data/monster/magicals/midnight_panther.lua +++ b/data/monster/magicals/midnight_panther.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 13327 monster.speed = 580 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/magicals/nightmare.lua b/data/monster/magicals/nightmare.lua index 58b8d7b81..b53a29d0a 100644 --- a/data/monster/magicals/nightmare.lua +++ b/data/monster/magicals/nightmare.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6340 monster.speed = 464 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/nightmare_scion.lua b/data/monster/magicals/nightmare_scion.lua index 01c41e32a..916ef4f00 100644 --- a/data/monster/magicals/nightmare_scion.lua +++ b/data/monster/magicals/nightmare_scion.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 9919 monster.speed = 440 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/nightstalker.lua b/data/monster/magicals/nightstalker.lua index 6f1c00016..98fd65063 100644 --- a/data/monster/magicals/nightstalker.lua +++ b/data/monster/magicals/nightstalker.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 9915 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -111,7 +109,7 @@ monster.defenses = { {name ="invisible", interval = 2000, chance = 10, effect = CONST_ME_YELLOW_RINGS}, {name ="outfit", interval = 5000, chance = 10, target = false, duration = 4000, outfitMonster = "nightstalker"}, {name ="outfit", interval = 5000, chance = 10, target = false, duration = 4000, outfitMonster = "werewolf"}, - {name ="outfit", interval = 5000, chance = 10, target = false, duration = 4000, outfitMonster = "the count"}, + {name ="outfit", interval = 5000, chance = 10, target = false, duration = 4000, outfitMonster = "the count ="}, {name ="outfit", interval = 5000, chance = 10, target = false, duration = 4000, outfitMonster = "grim reaper"}, {name ="outfit", interval = 5000, chance = 10, target = false, duration = 4000, outfitMonster = "tarantula"}, {name ="outfit", interval = 5000, chance = 1, target = false, duration = 4000, outfitMonster = "ferumbras"} diff --git a/data/monster/magicals/phantasm.lua b/data/monster/magicals/phantasm.lua index 89d4f5099..64fe864c4 100644 --- a/data/monster/magicals/phantasm.lua +++ b/data/monster/magicals/phantasm.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 6344 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -69,8 +67,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Phantasm Summon", chance = 20, interval = 2000} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Phantasm Summon", chance = 20, interval = 2000, count = 4} + } } monster.voices = { diff --git a/data/monster/magicals/phantasm_summon.lua b/data/monster/magicals/phantasm_summon.lua index 9fc674290..829e985a3 100644 --- a/data/monster/magicals/phantasm_summon.lua +++ b/data/monster/magicals/phantasm_summon.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6344 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/rage_squid.lua b/data/monster/magicals/rage_squid.lua index ce6ced95f..7149e9e37 100644 --- a/data/monster/magicals/rage_squid.lua +++ b/data/monster/magicals/rage_squid.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 32482 monster.speed = 430 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/retching_horror.lua b/data/monster/magicals/retching_horror.lua index 02ca36ab6..357f9476b 100644 --- a/data/monster/magicals/retching_horror.lua +++ b/data/monster/magicals/retching_horror.lua @@ -32,7 +32,6 @@ monster.race = "fire" monster.corpse = 22508 monster.speed = 360 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/rorc.lua b/data/monster/magicals/rorc.lua index 2f8e7ab55..e9aed9f5e 100644 --- a/data/monster/magicals/rorc.lua +++ b/data/monster/magicals/rorc.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 21223 monster.speed = 176 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/magicals/shiversleep.lua b/data/monster/magicals/shiversleep.lua index 8d238e243..a8a3ef731 100644 --- a/data/monster/magicals/shiversleep.lua +++ b/data/monster/magicals/shiversleep.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 22497 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/shock_head.lua b/data/monster/magicals/shock_head.lua index 85d3fe16a..efccbe786 100644 --- a/data/monster/magicals/shock_head.lua +++ b/data/monster/magicals/shock_head.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 22392 monster.speed = 272 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/sight_of_surrender.lua b/data/monster/magicals/sight_of_surrender.lua index d731d5bd0..08d796517 100644 --- a/data/monster/magicals/sight_of_surrender.lua +++ b/data/monster/magicals/sight_of_surrender.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 22478 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/silencer.lua b/data/monster/magicals/silencer.lua index 27a4b10fb..f27817642 100644 --- a/data/monster/magicals/silencer.lua +++ b/data/monster/magicals/silencer.lua @@ -17,7 +17,7 @@ monster.raceId = 1014 monster.Bestiary = { class = "Magical", race = BESTY_RACE_MAGICAL, - toKill = 100, + toKill = 1000, FirstUnlock = 50, SecondUnlock = 500, CharmsPoints = 25, @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 22489 monster.speed = 470 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/sphinx.lua b/data/monster/magicals/sphinx.lua index b1a1965ab..fcf00dea8 100644 --- a/data/monster/magicals/sphinx.lua +++ b/data/monster/magicals/sphinx.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 36221 monster.speed = 290 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/spiky_carnivor.lua b/data/monster/magicals/spiky_carnivor.lua index c1928976a..fd4eb9a50 100644 --- a/data/monster/magicals/spiky_carnivor.lua +++ b/data/monster/magicals/spiky_carnivor.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 34737 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/squid_warden.lua b/data/monster/magicals/squid_warden.lua index 0a97f6a3c..9f5d2e755 100644 --- a/data/monster/magicals/squid_warden.lua +++ b/data/monster/magicals/squid_warden.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 32486 monster.speed = 430 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/terrorsleep.lua b/data/monster/magicals/terrorsleep.lua index 7ec2e3abf..1aacdba9a 100644 --- a/data/monster/magicals/terrorsleep.lua +++ b/data/monster/magicals/terrorsleep.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 22497 monster.speed = 360 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/magicals/thanatursus.lua b/data/monster/magicals/thanatursus.lua index c5360d71e..70d77e93c 100644 --- a/data/monster/magicals/thanatursus.lua +++ b/data/monster/magicals/thanatursus.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 34707 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/magicals/weakened_frazzlemaw.lua b/data/monster/magicals/weakened_frazzlemaw.lua index 40defd065..0a13266f2 100644 --- a/data/monster/magicals/weakened_frazzlemaw.lua +++ b/data/monster/magicals/weakened_frazzlemaw.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 22567 monster.speed = 300 monster.manaCost = 450 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/mammals/badger.lua b/data/monster/mammals/badger.lua index 89c2a3ca4..9e403e991 100644 --- a/data/monster/mammals/badger.lua +++ b/data/monster/mammals/badger.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6034 monster.speed = 180 monster.manaCost = 200 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/bat.lua b/data/monster/mammals/bat.lua index 654919ff6..11d7684fc 100644 --- a/data/monster/mammals/bat.lua +++ b/data/monster/mammals/bat.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6053 monster.speed = 230 monster.manaCost = 250 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/bear.lua b/data/monster/mammals/bear.lua index c3ec79b69..b27191059 100644 --- a/data/monster/mammals/bear.lua +++ b/data/monster/mammals/bear.lua @@ -35,7 +35,6 @@ monster.race = "blood" monster.corpse = 5975 monster.speed = 156 monster.manaCost = 300 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/black_sheep.lua b/data/monster/mammals/black_sheep.lua index 8d2963f01..d520d40aa 100644 --- a/data/monster/mammals/black_sheep.lua +++ b/data/monster/mammals/black_sheep.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5994 monster.speed = 116 monster.manaCost = 250 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/boar.lua b/data/monster/mammals/boar.lua index 2555473fe..b3dd01ce6 100644 --- a/data/monster/mammals/boar.lua +++ b/data/monster/mammals/boar.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 13308 monster.speed = 410 monster.manaCost = 465 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/brown_horse.lua b/data/monster/mammals/brown_horse.lua index caf063d6d..d648ddb96 100644 --- a/data/monster/mammals/brown_horse.lua +++ b/data/monster/mammals/brown_horse.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 248 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/cat.lua b/data/monster/mammals/cat.lua index 5874847eb..bd62a31fc 100644 --- a/data/monster/mammals/cat.lua +++ b/data/monster/mammals/cat.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 7637 monster.speed = 124 monster.manaCost = 220 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/cave_rat.lua b/data/monster/mammals/cave_rat.lua index 9b1b31564..dc6927892 100644 --- a/data/monster/mammals/cave_rat.lua +++ b/data/monster/mammals/cave_rat.lua @@ -34,7 +34,6 @@ monster.race = "blood" monster.corpse = 5964 monster.speed = 150 monster.manaCost = 250 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/clomp.lua b/data/monster/mammals/clomp.lua index cabe2e292..dd6f952af 100644 --- a/data/monster/mammals/clomp.lua +++ b/data/monster/mammals/clomp.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 25398 monster.speed = 430 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/crystal_wolf.lua b/data/monster/mammals/crystal_wolf.lua index ed9777854..61c48b522 100644 --- a/data/monster/mammals/crystal_wolf.lua +++ b/data/monster/mammals/crystal_wolf.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 13584 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/deer.lua b/data/monster/mammals/deer.lua index ca1ce22c7..a524cc6d3 100644 --- a/data/monster/mammals/deer.lua +++ b/data/monster/mammals/deer.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 5970 monster.speed = 196 monster.manaCost = 260 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/desperate_white_deer.lua b/data/monster/mammals/desperate_white_deer.lua index 919cf5a2a..c21b89acb 100644 --- a/data/monster/mammals/desperate_white_deer.lua +++ b/data/monster/mammals/desperate_white_deer.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 13513 monster.speed = 225 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "WhiteDeerScoutsDeath" } monster.light = { diff --git a/data/monster/mammals/dog.lua b/data/monster/mammals/dog.lua index 4c667b2e1..d3d84686e 100644 --- a/data/monster/mammals/dog.lua +++ b/data/monster/mammals/dog.lua @@ -34,7 +34,6 @@ monster.race = "blood" monster.corpse = 5971 monster.speed = 124 monster.manaCost = 220 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/donkey.lua b/data/monster/mammals/donkey.lua index 5db00809d..871f406f2 100644 --- a/data/monster/mammals/donkey.lua +++ b/data/monster/mammals/donkey.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 13509 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/doom_deer.lua b/data/monster/mammals/doom_deer.lua index 917c4d7fc..e2fc560aa 100644 --- a/data/monster/mammals/doom_deer.lua +++ b/data/monster/mammals/doom_deer.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5970 monster.speed = 182 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/dromedary.lua b/data/monster/mammals/dromedary.lua index fd022b8ef..e574e1c3a 100644 --- a/data/monster/mammals/dromedary.lua +++ b/data/monster/mammals/dromedary.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 13528 monster.speed = 114 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/elephant.lua b/data/monster/mammals/elephant.lua index 897d24c77..0466c89be 100644 --- a/data/monster/mammals/elephant.lua +++ b/data/monster/mammals/elephant.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6052 monster.speed = 190 monster.manaCost = 500 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/enraged_squirrel.lua b/data/monster/mammals/enraged_squirrel.lua index 78ccf05c0..0ecdc5296 100644 --- a/data/monster/mammals/enraged_squirrel.lua +++ b/data/monster/mammals/enraged_squirrel.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7628 monster.speed = 300 monster.manaCost = 220 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/enraged_white_deer.lua b/data/monster/mammals/enraged_white_deer.lua index 46e6296b4..143368ea8 100644 --- a/data/monster/mammals/enraged_white_deer.lua +++ b/data/monster/mammals/enraged_white_deer.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 13513 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "WhiteDeerScoutsDeath" } monster.light = { diff --git a/data/monster/mammals/evil_sheep.lua b/data/monster/mammals/evil_sheep.lua index cc7ef2312..63b77d34a 100644 --- a/data/monster/mammals/evil_sheep.lua +++ b/data/monster/mammals/evil_sheep.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5991 monster.speed = 156 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/evil_sheep_lord.lua b/data/monster/mammals/evil_sheep_lord.lua index 6cb6e8d75..af413eae1 100644 --- a/data/monster/mammals/evil_sheep_lord.lua +++ b/data/monster/mammals/evil_sheep_lord.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5994 monster.speed = 178 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 2000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -69,8 +67,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Evil Sheep", chance = 30, interval = 2000} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Evil Sheep", chance = 30, interval = 2000, count = X} + } } monster.voices = { diff --git a/data/monster/mammals/exotic_bat.lua b/data/monster/mammals/exotic_bat.lua index a20dba883..b8e4173e9 100644 --- a/data/monster/mammals/exotic_bat.lua +++ b/data/monster/mammals/exotic_bat.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 40525 monster.speed = 200 monster.manaCost = 250 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/mammals/fox.lua b/data/monster/mammals/fox.lua index 37867f969..1a20602bf 100644 --- a/data/monster/mammals/fox.lua +++ b/data/monster/mammals/fox.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 30752 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/ghost_wolf.lua b/data/monster/mammals/ghost_wolf.lua index 332b528b4..7a025b6e9 100644 --- a/data/monster/mammals/ghost_wolf.lua +++ b/data/monster/mammals/ghost_wolf.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6009 monster.speed = 270 monster.manaCost = 420 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/ghoulish_hyaena.lua b/data/monster/mammals/ghoulish_hyaena.lua index 5e8154d87..986d19f05 100644 --- a/data/monster/mammals/ghoulish_hyaena.lua +++ b/data/monster/mammals/ghoulish_hyaena.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6026 monster.speed = 200 monster.manaCost = 275 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/gloom_wolf.lua b/data/monster/mammals/gloom_wolf.lua index b9462f267..0f4f6b4af 100644 --- a/data/monster/mammals/gloom_wolf.lua +++ b/data/monster/mammals/gloom_wolf.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 24639 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/gnarlhound.lua b/data/monster/mammals/gnarlhound.lua index f36c92230..4be02cd07 100644 --- a/data/monster/mammals/gnarlhound.lua +++ b/data/monster/mammals/gnarlhound.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 11250 monster.speed = 410 monster.manaCost = 465 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/grey_horse.lua b/data/monster/mammals/grey_horse.lua index 34d70ba20..e5968fb7a 100644 --- a/data/monster/mammals/grey_horse.lua +++ b/data/monster/mammals/grey_horse.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 248 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/horse.lua b/data/monster/mammals/horse.lua index 418e2c1a4..2cff24c97 100644 --- a/data/monster/mammals/horse.lua +++ b/data/monster/mammals/horse.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 248 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/hot_dog.lua b/data/monster/mammals/hot_dog.lua index 7ac539e64..b71d20ca2 100644 --- a/data/monster/mammals/hot_dog.lua +++ b/data/monster/mammals/hot_dog.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5971 monster.speed = 150 monster.manaCost = 220 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/husky.lua b/data/monster/mammals/husky.lua index 33bc2647f..3c639d869 100644 --- a/data/monster/mammals/husky.lua +++ b/data/monster/mammals/husky.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 7316 monster.speed = 264 monster.manaCost = 420 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/hyaena.lua b/data/monster/mammals/hyaena.lua index fc24bf788..36600cefd 100644 --- a/data/monster/mammals/hyaena.lua +++ b/data/monster/mammals/hyaena.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6026 monster.speed = 200 monster.manaCost = 275 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/killer_rabbit.lua b/data/monster/mammals/killer_rabbit.lua index 5029f15e1..ad67b0f42 100644 --- a/data/monster/mammals/killer_rabbit.lua +++ b/data/monster/mammals/killer_rabbit.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6017 monster.speed = 340 monster.manaCost = 220 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -69,8 +67,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "killer rabbit", chance = 30, interval = 2000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "killer rabbit", chance = 30, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/mammals/kongra.lua b/data/monster/mammals/kongra.lua index 072181cda..73e2c6e5c 100644 --- a/data/monster/mammals/kongra.lua +++ b/data/monster/mammals/kongra.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6043 monster.speed = 184 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/lion.lua b/data/monster/mammals/lion.lua index ef7cee3f2..c3f493836 100644 --- a/data/monster/mammals/lion.lua +++ b/data/monster/mammals/lion.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5986 monster.speed = 190 monster.manaCost = 320 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/mammoth.lua b/data/monster/mammals/mammoth.lua index 7c0f7d505..015cc7ac0 100644 --- a/data/monster/mammals/mammoth.lua +++ b/data/monster/mammals/mammoth.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6074 monster.speed = 190 monster.manaCost = 500 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/mammals/merlkin.lua b/data/monster/mammals/merlkin.lua index 991d429a8..a746a6a88 100644 --- a/data/monster/mammals/merlkin.lua +++ b/data/monster/mammals/merlkin.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6044 monster.speed = 194 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/mammals/modified_gnarlhound.lua b/data/monster/mammals/modified_gnarlhound.lua index 7e0307c8b..9baa9cdf5 100644 --- a/data/monster/mammals/modified_gnarlhound.lua +++ b/data/monster/mammals/modified_gnarlhound.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 13528 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/mole.lua b/data/monster/mammals/mole.lua index d48609b25..40b2abc21 100644 --- a/data/monster/mammals/mole.lua +++ b/data/monster/mammals/mole.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 32012 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/mushroom_sniffer.lua b/data/monster/mammals/mushroom_sniffer.lua index f09d3461b..0ef97cb69 100644 --- a/data/monster/mammals/mushroom_sniffer.lua +++ b/data/monster/mammals/mushroom_sniffer.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 2935 monster.speed = 110 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/mutated_bat.lua b/data/monster/mammals/mutated_bat.lua index 066327055..df59dd698 100644 --- a/data/monster/mammals/mutated_bat.lua +++ b/data/monster/mammals/mutated_bat.lua @@ -35,7 +35,6 @@ monster.race = "blood" monster.corpse = 9829 monster.speed = 186 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/mammals/mutated_rat.lua b/data/monster/mammals/mutated_rat.lua index 7d41e957d..4f5f687fd 100644 --- a/data/monster/mammals/mutated_rat.lua +++ b/data/monster/mammals/mutated_rat.lua @@ -34,7 +34,6 @@ monster.race = "blood" monster.corpse = 9871 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/mammals/mutated_tiger.lua b/data/monster/mammals/mutated_tiger.lua index 91f213a2e..9e4ebb5b3 100644 --- a/data/monster/mammals/mutated_tiger.lua +++ b/data/monster/mammals/mutated_tiger.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 9913 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/mammals/noble_lion.lua b/data/monster/mammals/noble_lion.lua index 4291ed85f..5ffe7bc47 100644 --- a/data/monster/mammals/noble_lion.lua +++ b/data/monster/mammals/noble_lion.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 24232 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/panda.lua b/data/monster/mammals/panda.lua index 5f3516aae..6b15229e8 100644 --- a/data/monster/mammals/panda.lua +++ b/data/monster/mammals/panda.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6049 monster.speed = 156 monster.manaCost = 300 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/pig.lua b/data/monster/mammals/pig.lua index 698eee08c..1cedf89fa 100644 --- a/data/monster/mammals/pig.lua +++ b/data/monster/mammals/pig.lua @@ -34,7 +34,6 @@ monster.race = "blood" monster.corpse = 6000 monster.speed = 114 monster.manaCost = 255 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/polar_bear.lua b/data/monster/mammals/polar_bear.lua index 21eaf989a..3a64431b0 100644 --- a/data/monster/mammals/polar_bear.lua +++ b/data/monster/mammals/polar_bear.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5987 monster.speed = 156 monster.manaCost = 315 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/poodle.lua b/data/monster/mammals/poodle.lua index 2b8a36587..c0c81bd6a 100644 --- a/data/monster/mammals/poodle.lua +++ b/data/monster/mammals/poodle.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5971 monster.speed = 200 monster.manaCost = 220 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/rabbit.lua b/data/monster/mammals/rabbit.lua index 506d2e15b..589402846 100644 --- a/data/monster/mammals/rabbit.lua +++ b/data/monster/mammals/rabbit.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6017 monster.speed = 180 monster.manaCost = 220 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/rat.lua b/data/monster/mammals/rat.lua index 09e6f80c8..c499d99a6 100644 --- a/data/monster/mammals/rat.lua +++ b/data/monster/mammals/rat.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 5964 monster.speed = 134 monster.manaCost = 200 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/roaring_lion.lua b/data/monster/mammals/roaring_lion.lua index 712b6cbe0..c1b4615ff 100644 --- a/data/monster/mammals/roaring_lion.lua +++ b/data/monster/mammals/roaring_lion.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 21420 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/sheep.lua b/data/monster/mammals/sheep.lua index 0f69b5c22..651ff6f1d 100644 --- a/data/monster/mammals/sheep.lua +++ b/data/monster/mammals/sheep.lua @@ -34,7 +34,6 @@ monster.race = "blood" monster.corpse = 5991 monster.speed = 116 monster.manaCost = 250 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/sibang.lua b/data/monster/mammals/sibang.lua index c2918b53d..628ce0845 100644 --- a/data/monster/mammals/sibang.lua +++ b/data/monster/mammals/sibang.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6045 monster.speed = 214 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/mammals/silver_rabbit.lua b/data/monster/mammals/silver_rabbit.lua index 61a0d3fc6..d36dbd2e7 100644 --- a/data/monster/mammals/silver_rabbit.lua +++ b/data/monster/mammals/silver_rabbit.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 7338 monster.speed = 184 monster.manaCost = 220 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/skunk.lua b/data/monster/mammals/skunk.lua index 94abaf48c..5b9b2503c 100644 --- a/data/monster/mammals/skunk.lua +++ b/data/monster/mammals/skunk.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6035 monster.speed = 120 monster.manaCost = 200 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/squirrel.lua b/data/monster/mammals/squirrel.lua index 33016de93..17ab1c1f4 100644 --- a/data/monster/mammals/squirrel.lua +++ b/data/monster/mammals/squirrel.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 7628 monster.speed = 480 monster.manaCost = 220 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/starving_wolf.lua b/data/monster/mammals/starving_wolf.lua index 10edf29a0..2b24f11ee 100644 --- a/data/monster/mammals/starving_wolf.lua +++ b/data/monster/mammals/starving_wolf.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5968 monster.speed = 188 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/stone_rhino.lua b/data/monster/mammals/stone_rhino.lua index b2d4310c1..a248cde57 100644 --- a/data/monster/mammals/stone_rhino.lua +++ b/data/monster/mammals/stone_rhino.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 27750 monster.speed = 290 monster.manaCost = 290 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/terrified_elephant.lua b/data/monster/mammals/terrified_elephant.lua index 77d6062a2..b121a9177 100644 --- a/data/monster/mammals/terrified_elephant.lua +++ b/data/monster/mammals/terrified_elephant.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6052 monster.speed = 220 monster.manaCost = 500 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/thieving_squirrel.lua b/data/monster/mammals/thieving_squirrel.lua index e019263c2..ee44e206c 100644 --- a/data/monster/mammals/thieving_squirrel.lua +++ b/data/monster/mammals/thieving_squirrel.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7628 monster.speed = 1000 monster.manaCost = 220 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/thornfire_wolf.lua b/data/monster/mammals/thornfire_wolf.lua index 52a35854a..1843c3a7b 100644 --- a/data/monster/mammals/thornfire_wolf.lua +++ b/data/monster/mammals/thornfire_wolf.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 13859 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/tiger.lua b/data/monster/mammals/tiger.lua index 64503f713..bdaa072de 100644 --- a/data/monster/mammals/tiger.lua +++ b/data/monster/mammals/tiger.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6051 monster.speed = 200 monster.manaCost = 420 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/vampire_pig.lua b/data/monster/mammals/vampire_pig.lua index ac14193c3..5061a6944 100644 --- a/data/monster/mammals/vampire_pig.lua +++ b/data/monster/mammals/vampire_pig.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6000 monster.speed = 110 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/vulcongra.lua b/data/monster/mammals/vulcongra.lua index a299c818c..dff9d5f03 100644 --- a/data/monster/mammals/vulcongra.lua +++ b/data/monster/mammals/vulcongra.lua @@ -32,7 +32,6 @@ monster.race = "fire" monster.corpse = 18476 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/mammals/war_wolf.lua b/data/monster/mammals/war_wolf.lua index e92953c1c..986dfc37a 100644 --- a/data/monster/mammals/war_wolf.lua +++ b/data/monster/mammals/war_wolf.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6009 monster.speed = 264 monster.manaCost = 420 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/water_buffalo.lua b/data/monster/mammals/water_buffalo.lua index 4fb556568..a35f7e5ed 100644 --- a/data/monster/mammals/water_buffalo.lua +++ b/data/monster/mammals/water_buffalo.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 19701 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/white_deer.lua b/data/monster/mammals/white_deer.lua index 2a138d7c1..c52a6301b 100644 --- a/data/monster/mammals/white_deer.lua +++ b/data/monster/mammals/white_deer.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 208 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "WhiteDeerDeath" } monster.light = { diff --git a/data/monster/mammals/white_lion.lua b/data/monster/mammals/white_lion.lua index 5e85ff4d0..94f33a221 100644 --- a/data/monster/mammals/white_lion.lua +++ b/data/monster/mammals/white_lion.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 39080 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -43,8 +42,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/mammals/wild_dog.lua b/data/monster/mammals/wild_dog.lua index 9d9203211..aeea8e8de 100644 --- a/data/monster/mammals/wild_dog.lua +++ b/data/monster/mammals/wild_dog.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5971 monster.speed = 200 monster.manaCost = 220 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/wild_horse.lua b/data/monster/mammals/wild_horse.lua index 1a80b5fcb..47a35bcba 100644 --- a/data/monster/mammals/wild_horse.lua +++ b/data/monster/mammals/wild_horse.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 248 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/winter_wolf.lua b/data/monster/mammals/winter_wolf.lua index 04ea4be02..da0164b5a 100644 --- a/data/monster/mammals/winter_wolf.lua +++ b/data/monster/mammals/winter_wolf.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5997 monster.speed = 170 monster.manaCost = 260 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/wolf.lua b/data/monster/mammals/wolf.lua index 1daed6261..85f30839f 100644 --- a/data/monster/mammals/wolf.lua +++ b/data/monster/mammals/wolf.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5968 monster.speed = 164 monster.manaCost = 255 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/mammals/yeti.lua b/data/monster/mammals/yeti.lua index 425db29ae..2a07c37f6 100644 --- a/data/monster/mammals/yeti.lua +++ b/data/monster/mammals/yeti.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6038 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/nostalgia/old_bear.lua b/data/monster/nostalgia/old_bear.lua index c64b348c2..97e3d0253 100644 --- a/data/monster/nostalgia/old_bear.lua +++ b/data/monster/nostalgia/old_bear.lua @@ -20,7 +20,6 @@ monster.race = "blood" monster.corpse = 5975 monster.speed = 156 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -48,8 +47,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/nostalgia/old_bonelord.lua b/data/monster/nostalgia/old_bonelord.lua index 2c72f2318..0c550b090 100644 --- a/data/monster/nostalgia/old_bonelord.lua +++ b/data/monster/nostalgia/old_bonelord.lua @@ -20,7 +20,6 @@ monster.race = "venom" monster.corpse = 5992 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 6 monster.changeTarget = { interval = 4000, @@ -48,8 +47,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -57,8 +55,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Skeleton", chance = 20, interval = 2000, max = 6} +monster.summon = { + maxSummons = 6, + summons = { + {name = "Skeleton", chance = 20, interval = 2000, count = 6} + } } monster.voices = { diff --git a/data/monster/nostalgia/old_bug.lua b/data/monster/nostalgia/old_bug.lua index 1951105a6..f292f2bfb 100644 --- a/data/monster/nostalgia/old_bug.lua +++ b/data/monster/nostalgia/old_bug.lua @@ -20,7 +20,6 @@ monster.race = "venom" monster.corpse = 5990 monster.speed = 160 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -48,8 +47,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/nostalgia/old_giant_spider.lua b/data/monster/nostalgia/old_giant_spider.lua index 8d994dc93..b8eb84d0b 100644 --- a/data/monster/nostalgia/old_giant_spider.lua +++ b/data/monster/nostalgia/old_giant_spider.lua @@ -20,7 +20,6 @@ monster.race = "venom" monster.corpse = 5977 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -48,8 +47,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/nostalgia/old_pig.lua b/data/monster/nostalgia/old_pig.lua index 4fa7e8f72..22135c2c2 100644 --- a/data/monster/nostalgia/old_pig.lua +++ b/data/monster/nostalgia/old_pig.lua @@ -20,7 +20,6 @@ monster.race = "blood" monster.corpse = 6000 monster.speed = 114 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -48,8 +47,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/nostalgia/old_spider.lua b/data/monster/nostalgia/old_spider.lua index 38e1f6c5d..dc2226b6b 100644 --- a/data/monster/nostalgia/old_spider.lua +++ b/data/monster/nostalgia/old_spider.lua @@ -20,7 +20,6 @@ monster.race = "venom" monster.corpse = 5961 monster.speed = 152 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -48,8 +47,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/nostalgia/old_wasp.lua b/data/monster/nostalgia/old_wasp.lua index ce6015c09..b88fb7c7b 100644 --- a/data/monster/nostalgia/old_wasp.lua +++ b/data/monster/nostalgia/old_wasp.lua @@ -20,7 +20,6 @@ monster.race = "venom" monster.corpse = 5989 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -48,8 +47,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/nostalgia/old_wolf.lua b/data/monster/nostalgia/old_wolf.lua index f469b6b0f..08c0fee6c 100644 --- a/data/monster/nostalgia/old_wolf.lua +++ b/data/monster/nostalgia/old_wolf.lua @@ -20,7 +20,6 @@ monster.race = "blood" monster.corpse = 5968 monster.speed = 164 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -48,8 +47,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/plants/bane_bringer.lua b/data/monster/plants/bane_bringer.lua index 83d75e6f6..229574f36 100644 --- a/data/monster/plants/bane_bringer.lua +++ b/data/monster/plants/bane_bringer.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 9867 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/plants/branchy_crawler.lua b/data/monster/plants/branchy_crawler.lua index 9635201a5..c5f068696 100644 --- a/data/monster/plants/branchy_crawler.lua +++ b/data/monster/plants/branchy_crawler.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 38644 monster.speed = 235 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/plants/carniphila.lua b/data/monster/plants/carniphila.lua index fe8b11114..ca730b1f4 100644 --- a/data/monster/plants/carniphila.lua +++ b/data/monster/plants/carniphila.lua @@ -33,7 +33,6 @@ monster.race = "venom" monster.corpse = 6047 monster.speed = 110 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/plants/cloak_of_terror.lua b/data/monster/plants/cloak_of_terror.lua index 92072e689..08997db98 100644 --- a/data/monster/plants/cloak_of_terror.lua +++ b/data/monster/plants/cloak_of_terror.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 38636 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/plants/glooth_anemone.lua b/data/monster/plants/glooth_anemone.lua index ed7ae0941..d4ce94210 100644 --- a/data/monster/plants/glooth_anemone.lua +++ b/data/monster/plants/glooth_anemone.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 23359 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/plants/haunted_treeling.lua b/data/monster/plants/haunted_treeling.lua index e34ed7425..2795f1f67 100644 --- a/data/monster/plants/haunted_treeling.lua +++ b/data/monster/plants/haunted_treeling.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 9867 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/plants/hideous_fungus.lua b/data/monster/plants/hideous_fungus.lua index f410e780f..10ffd1f5c 100644 --- a/data/monster/plants/hideous_fungus.lua +++ b/data/monster/plants/hideous_fungus.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 17428 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -72,8 +70,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "humorless fungus", chance = 10, interval = 2000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "humorless fungus", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/plants/humongous_fungus.lua b/data/monster/plants/humongous_fungus.lua index 90649d7b7..fd97f5339 100644 --- a/data/monster/plants/humongous_fungus.lua +++ b/data/monster/plants/humongous_fungus.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 18382 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/plants/leaf_golem.lua b/data/monster/plants/leaf_golem.lua index fbdbff7bf..3ab9a095b 100644 --- a/data/monster/plants/leaf_golem.lua +++ b/data/monster/plants/leaf_golem.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 21358 monster.speed = 136 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/plants/omnivora.lua b/data/monster/plants/omnivora.lua index c228200d0..0b8d79677 100644 --- a/data/monster/plants/omnivora.lua +++ b/data/monster/plants/omnivora.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 24651 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/plants/spit_nettle.lua b/data/monster/plants/spit_nettle.lua index d04a1f4f0..6f334fa29 100644 --- a/data/monster/plants/spit_nettle.lua +++ b/data/monster/plants/spit_nettle.lua @@ -33,7 +33,6 @@ monster.race = "venom" monster.corpse = 6062 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/plants/swampling.lua b/data/monster/plants/swampling.lua index 0259001e8..efff4dd17 100644 --- a/data/monster/plants/swampling.lua +++ b/data/monster/plants/swampling.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 19902 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/plants/wilting_leaf_golem.lua b/data/monster/plants/wilting_leaf_golem.lua index 27f57ae7a..d7e23f594 100644 --- a/data/monster/plants/wilting_leaf_golem.lua +++ b/data/monster/plants/wilting_leaf_golem.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 21434 monster.speed = 148 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/a_pirates_tail_quest/tentuglys_head.lua b/data/monster/quests/a_pirates_tail_quest/tentuglys_head.lua index b486a33c9..cca43546c 100644 --- a/data/monster/quests/a_pirates_tail_quest/tentuglys_head.lua +++ b/data/monster/quests/a_pirates_tail_quest/tentuglys_head.lua @@ -13,7 +13,6 @@ monster.race = "blood" monster.corpse = 40435 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = true, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/ancient_tombs/ashmunrah.lua b/data/monster/quests/ancient_tombs/ashmunrah.lua index 9b663c5a9..6384c407f 100644 --- a/data/monster/quests/ancient_tombs/ashmunrah.lua +++ b/data/monster/quests/ancient_tombs/ashmunrah.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6031 monster.speed = 430 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 5000, @@ -48,8 +47,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -57,9 +55,12 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Ancient Scarab", chance = 100, interval = 1000, max = 2}, - {name = "Green Djinn", chance = 100, interval = 1000, max = 2} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Ancient Scarab", chance = 100, interval = 1000, count = 2}, + {name = "Green Djinn", chance = 100, interval = 1000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/ancient_tombs/dipthrah.lua b/data/monster/quests/ancient_tombs/dipthrah.lua index ab649bd94..c5358429e 100644 --- a/data/monster/quests/ancient_tombs/dipthrah.lua +++ b/data/monster/quests/ancient_tombs/dipthrah.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6031 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 5000, @@ -48,8 +47,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -57,8 +55,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Priestess", chance = 15, interval = 2000, max = 3} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Priestess", chance = 15, interval = 2000, count = 4} + } } monster.voices = { diff --git a/data/monster/quests/ancient_tombs/horestis.lua b/data/monster/quests/ancient_tombs/horestis.lua index c9a87b574..110bed98d 100644 --- a/data/monster/quests/ancient_tombs/horestis.lua +++ b/data/monster/quests/ancient_tombs/horestis.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6031 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Sandstone Scorpion", chance = 12, interval = 1000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Sandstone Scorpion", chance = 12, interval = 1000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/ancient_tombs/mahrdis.lua b/data/monster/quests/ancient_tombs/mahrdis.lua index 5f879f16c..8950c5751 100644 --- a/data/monster/quests/ancient_tombs/mahrdis.lua +++ b/data/monster/quests/ancient_tombs/mahrdis.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6025 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 5000, @@ -49,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -58,8 +56,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Fire Elemental", chance = 30, interval = 2000} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Fire Elemental", chance = 30, interval = 2000, count = 4} + } } monster.voices = { diff --git a/data/monster/quests/ancient_tombs/morguthis.lua b/data/monster/quests/ancient_tombs/morguthis.lua index cfe357d15..2c5acdcb7 100644 --- a/data/monster/quests/ancient_tombs/morguthis.lua +++ b/data/monster/quests/ancient_tombs/morguthis.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6025 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 5000, @@ -49,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -58,8 +56,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Hero", chance = 100, interval = 2000, max = 3} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Hero", chance = 100, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/quests/ancient_tombs/omruc.lua b/data/monster/quests/ancient_tombs/omruc.lua index 02d9f1897..41e06e2cd 100644 --- a/data/monster/quests/ancient_tombs/omruc.lua +++ b/data/monster/quests/ancient_tombs/omruc.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6025 monster.speed = 370 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 5000, @@ -49,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -58,8 +56,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Stalker", chance = 100, interval = 2000} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Stalker", chance = 100, interval = 2000, count = 4} + } } monster.voices = { diff --git a/data/monster/quests/ancient_tombs/rahemos.lua b/data/monster/quests/ancient_tombs/rahemos.lua index 8ca868639..4db068c5a 100644 --- a/data/monster/quests/ancient_tombs/rahemos.lua +++ b/data/monster/quests/ancient_tombs/rahemos.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6031 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 5000, @@ -49,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -58,8 +56,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Demon", chance = 12, interval = 1000, max = 1} +monster.summon = { + maxSummons = 1, + summons = { + {name = "Demon", chance = 12, interval = 1000, count = 1} + } } monster.voices = { diff --git a/data/monster/quests/ancient_tombs/shredderthrower.lua b/data/monster/quests/ancient_tombs/shredderthrower.lua index ebdc56833..b627292af 100644 --- a/data/monster/quests/ancient_tombs/shredderthrower.lua +++ b/data/monster/quests/ancient_tombs/shredderthrower.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/ancient_tombs/thalas.lua b/data/monster/quests/ancient_tombs/thalas.lua index 13b573b85..93909da4f 100644 --- a/data/monster/quests/ancient_tombs/thalas.lua +++ b/data/monster/quests/ancient_tombs/thalas.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6025 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 8 monster.changeTarget = { interval = 5000, @@ -49,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -58,8 +56,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Slime", chance = 100, interval = 2000, max = 8} +monster.summon = { + maxSummons = 8, + summons = { + {name = "Slime", chance = 100, interval = 2000, count = 8} + } } monster.voices = { diff --git a/data/monster/quests/ancient_tombs/vashresamun.lua b/data/monster/quests/ancient_tombs/vashresamun.lua index fb830cbdf..b57ff9217 100644 --- a/data/monster/quests/ancient_tombs/vashresamun.lua +++ b/data/monster/quests/ancient_tombs/vashresamun.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6025 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -49,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -58,8 +56,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Banshee", chance = 20, interval = 2000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Banshee", chance = 20, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/annihilator/angry_demon.lua b/data/monster/quests/annihilator/angry_demon.lua index 8a7e7a320..ada4a47b6 100644 --- a/data/monster/quests/annihilator/angry_demon.lua +++ b/data/monster/quests/annihilator/angry_demon.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 5995 monster.speed = 256 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -56,8 +54,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "fire elemental", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 1, + summons = { + {name = "fire elemental", chance = 10, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/quests/bigfoots_burden/bosses/abyssador.lua b/data/monster/quests/bigfoots_burden/bosses/abyssador.lua index 32846eba7..6fbeead9b 100644 --- a/data/monster/quests/bigfoots_burden/bosses/abyssador.lua +++ b/data/monster/quests/bigfoots_burden/bosses/abyssador.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 17412 monster.speed = 460 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/bigfoots_burden/bosses/deathstrike.lua b/data/monster/quests/bigfoots_burden/bosses/deathstrike.lua index 75bffb66a..18715c91d 100644 --- a/data/monster/quests/bigfoots_burden/bosses/deathstrike.lua +++ b/data/monster/quests/bigfoots_burden/bosses/deathstrike.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 18384 monster.speed = 470 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/bigfoots_burden/bosses/gnomevil.lua b/data/monster/quests/bigfoots_burden/bosses/gnomevil.lua index 74516fe17..470227f2c 100644 --- a/data/monster/quests/bigfoots_burden/bosses/gnomevil.lua +++ b/data/monster/quests/bigfoots_burden/bosses/gnomevil.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 18443 monster.speed = 470 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/bigfoots_burden/humorless_fungus.lua b/data/monster/quests/bigfoots_burden/humorless_fungus.lua index 5b1dba335..e9528921a 100644 --- a/data/monster/quests/bigfoots_burden/humorless_fungus.lua +++ b/data/monster/quests/bigfoots_burden/humorless_fungus.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 17428 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/bigfoots_burden/minion_of_versperoth.lua b/data/monster/quests/bigfoots_burden/minion_of_versperoth.lua index 51b3453bd..b39b3f4f6 100644 --- a/data/monster/quests/bigfoots_burden/minion_of_versperoth.lua +++ b/data/monster/quests/bigfoots_burden/minion_of_versperoth.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 0 monster.speed = 310 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -48,8 +47,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/bigfoots_burden/strange_slime.lua b/data/monster/quests/bigfoots_burden/strange_slime.lua index ac75053ce..7b03255a9 100644 --- a/data/monster/quests/bigfoots_burden/strange_slime.lua +++ b/data/monster/quests/bigfoots_burden/strange_slime.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/bigfoots_burden/versperoth.lua b/data/monster/quests/bigfoots_burden/versperoth.lua index 5fe17326b..bcb2c6565 100644 --- a/data/monster/quests/bigfoots_burden/versperoth.lua +++ b/data/monster/quests/bigfoots_burden/versperoth.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/animated_clomp.lua b/data/monster/quests/cults_of_tibia/animated_clomp.lua index 053883af4..d780fb50c 100644 --- a/data/monster/quests/cults_of_tibia/animated_clomp.lua +++ b/data/monster/quests/cults_of_tibia/animated_clomp.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 25398 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/animated_cyclops.lua b/data/monster/quests/cults_of_tibia/animated_cyclops.lua index 93d2a17da..cc528ed90 100644 --- a/data/monster/quests/cults_of_tibia/animated_cyclops.lua +++ b/data/monster/quests/cults_of_tibia/animated_cyclops.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5962 monster.speed = 200 monster.manaCost = 490 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/animated_guzzlemaw.lua b/data/monster/quests/cults_of_tibia/animated_guzzlemaw.lua index 91352f175..845637615 100644 --- a/data/monster/quests/cults_of_tibia/animated_guzzlemaw.lua +++ b/data/monster/quests/cults_of_tibia/animated_guzzlemaw.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 22485 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/animated_moohtant.lua b/data/monster/quests/cults_of_tibia/animated_moohtant.lua index d5f07506d..aba584e35 100644 --- a/data/monster/quests/cults_of_tibia/animated_moohtant.lua +++ b/data/monster/quests/cults_of_tibia/animated_moohtant.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 23367 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/animated_mummy.lua b/data/monster/quests/cults_of_tibia/animated_mummy.lua index 3ff80a2d9..a9dbf6f9e 100644 --- a/data/monster/quests/cults_of_tibia/animated_mummy.lua +++ b/data/monster/quests/cults_of_tibia/animated_mummy.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6004 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/animated_ogre_brute.lua b/data/monster/quests/cults_of_tibia/animated_ogre_brute.lua index d7c3a4db9..c180f3011 100644 --- a/data/monster/quests/cults_of_tibia/animated_ogre_brute.lua +++ b/data/monster/quests/cults_of_tibia/animated_ogre_brute.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 24799 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/animated_ogre_savage.lua b/data/monster/quests/cults_of_tibia/animated_ogre_savage.lua index 68e29cbc6..4c0632618 100644 --- a/data/monster/quests/cults_of_tibia/animated_ogre_savage.lua +++ b/data/monster/quests/cults_of_tibia/animated_ogre_savage.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 24803 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/animated_ogre_shaman.lua b/data/monster/quests/cults_of_tibia/animated_ogre_shaman.lua index 3571ad7d6..f88d69577 100644 --- a/data/monster/quests/cults_of_tibia/animated_ogre_shaman.lua +++ b/data/monster/quests/cults_of_tibia/animated_ogre_shaman.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 24795 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,9 +57,12 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Dworc Fleshhunter", chance = 30, interval = 1000, max = 1}, - {name = "Terror Bird", chance = 30, interval = 1000, max = 1} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Dworc Fleshhunter", chance = 30, interval = 1000, count = 1}, + {name = "Terror Bird", chance = 30, interval = 1000, count = 1} + } } monster.voices = { diff --git a/data/monster/quests/cults_of_tibia/animated_rhino.lua b/data/monster/quests/cults_of_tibia/animated_rhino.lua index 2b657883c..fbf9fc49e 100644 --- a/data/monster/quests/cults_of_tibia/animated_rhino.lua +++ b/data/monster/quests/cults_of_tibia/animated_rhino.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 27750 monster.speed = 150 monster.manaCost = 290 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/animated_rotworm.lua b/data/monster/quests/cults_of_tibia/animated_rotworm.lua index 6009b7d4f..706c3cf23 100644 --- a/data/monster/quests/cults_of_tibia/animated_rotworm.lua +++ b/data/monster/quests/cults_of_tibia/animated_rotworm.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5967 monster.speed = 150 monster.manaCost = 305 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/animated_skunk.lua b/data/monster/quests/cults_of_tibia/animated_skunk.lua index 6fcff7d5a..65fee4131 100644 --- a/data/monster/quests/cults_of_tibia/animated_skunk.lua +++ b/data/monster/quests/cults_of_tibia/animated_skunk.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6035 monster.speed = 120 monster.manaCost = 200 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/animated_stone_golem.lua b/data/monster/quests/cults_of_tibia/animated_stone_golem.lua index 1f6a71efa..6095d1d01 100644 --- a/data/monster/quests/cults_of_tibia/animated_stone_golem.lua +++ b/data/monster/quests/cults_of_tibia/animated_stone_golem.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6005 monster.speed = 180 monster.manaCost = 590 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/barkless_devotee.lua b/data/monster/quests/cults_of_tibia/barkless_devotee.lua index 4dcf55901..1e4cb7634 100644 --- a/data/monster/quests/cults_of_tibia/barkless_devotee.lua +++ b/data/monster/quests/cults_of_tibia/barkless_devotee.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6012 monster.speed = 240 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/barkless_fanatic.lua b/data/monster/quests/cults_of_tibia/barkless_fanatic.lua index 859028957..b48f1a6ed 100644 --- a/data/monster/quests/cults_of_tibia/barkless_fanatic.lua +++ b/data/monster/quests/cults_of_tibia/barkless_fanatic.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6012 monster.speed = 240 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/dorokoll_the_mystic.lua b/data/monster/quests/cults_of_tibia/bosses/dorokoll_the_mystic.lua index f8b7fa29c..5b79b75c3 100644 --- a/data/monster/quests/cults_of_tibia/bosses/dorokoll_the_mystic.lua +++ b/data/monster/quests/cults_of_tibia/bosses/dorokoll_the_mystic.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/dorokoll_the_mystic_stop.lua b/data/monster/quests/cults_of_tibia/bosses/dorokoll_the_mystic_stop.lua index a5e96dfe8..f90e7edc9 100644 --- a/data/monster/quests/cults_of_tibia/bosses/dorokoll_the_mystic_stop.lua +++ b/data/monster/quests/cults_of_tibia/bosses/dorokoll_the_mystic_stop.lua @@ -20,7 +20,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -51,8 +50,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/eliz_the_unyielding.lua b/data/monster/quests/cults_of_tibia/bosses/eliz_the_unyielding.lua index df66b7da4..a48b5b3ad 100644 --- a/data/monster/quests/cults_of_tibia/bosses/eliz_the_unyielding.lua +++ b/data/monster/quests/cults_of_tibia/bosses/eliz_the_unyielding.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/eliz_the_unyielding_stop.lua b/data/monster/quests/cults_of_tibia/bosses/eliz_the_unyielding_stop.lua index 9b8026e76..52239b405 100644 --- a/data/monster/quests/cults_of_tibia/bosses/eliz_the_unyielding_stop.lua +++ b/data/monster/quests/cults_of_tibia/bosses/eliz_the_unyielding_stop.lua @@ -20,7 +20,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -51,8 +50,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/eshtaba_the_conjurer.lua b/data/monster/quests/cults_of_tibia/bosses/eshtaba_the_conjurer.lua index d80303af6..027012948 100644 --- a/data/monster/quests/cults_of_tibia/bosses/eshtaba_the_conjurer.lua +++ b/data/monster/quests/cults_of_tibia/bosses/eshtaba_the_conjurer.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 5 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,12 +57,15 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Dread Minion", chance = 20, interval = 2000}, - {name = "Dread Minion", chance = 30, interval = 2000}, - {name = "Dread Minion", chance = 20, interval = 2000}, - {name = "Dread Minion", chance = 30, interval = 2000}, - {name = "Dread Minion", chance = 20, interval = 2000} +monster.summon = { + maxSummons = 5, + summons = { + {name = "Dread Minion", chance = 20, interval = 2000, count = 1}, + {name = "Dread Minion", chance = 30, interval = 2000, count = 1}, + {name = "Dread Minion", chance = 20, interval = 2000, count = 1}, + {name = "Dread Minion", chance = 30, interval = 2000, count = 1}, + {name = "Dread Minion", chance = 20, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/quests/cults_of_tibia/bosses/eshtaba_the_conjurer_stop.lua b/data/monster/quests/cults_of_tibia/bosses/eshtaba_the_conjurer_stop.lua index 948089577..2794f8214 100644 --- a/data/monster/quests/cults_of_tibia/bosses/eshtaba_the_conjurer_stop.lua +++ b/data/monster/quests/cults_of_tibia/bosses/eshtaba_the_conjurer_stop.lua @@ -20,7 +20,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 5 monster.changeTarget = { interval = 4000, @@ -51,8 +50,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -60,12 +58,15 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Dread Minion", chance = 20, interval = 2000}, - {name = "Dread Minion", chance = 30, interval = 2000}, - {name = "Dread Minion", chance = 20, interval = 2000}, - {name = "Dread Minion", chance = 30, interval = 2000}, - {name = "Dread Minion", chance = 20, interval = 2000} +monster.summon = { + maxSummons = 5, + summons = { + {name = "Dread Minion", chance = 20, interval = 2000, count = 1}, + {name = "Dread Minion", chance = 30, interval = 2000, count = 1}, + {name = "Dread Minion", chance = 20, interval = 2000, count = 1}, + {name = "Dread Minion", chance = 30, interval = 2000, count = 1}, + {name = "Dread Minion", chance = 20, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/quests/cults_of_tibia/bosses/essence_of_malice.lua b/data/monster/quests/cults_of_tibia/bosses/essence_of_malice.lua index bc6c5d75c..746afd26c 100644 --- a/data/monster/quests/cults_of_tibia/bosses/essence_of_malice.lua +++ b/data/monster/quests/cults_of_tibia/bosses/essence_of_malice.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 11362 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/last_planegazer.lua b/data/monster/quests/cults_of_tibia/bosses/last_planegazer.lua index d53501ffb..cdbed18ce 100644 --- a/data/monster/quests/cults_of_tibia/bosses/last_planegazer.lua +++ b/data/monster/quests/cults_of_tibia/bosses/last_planegazer.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 27916 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/leiden.lua b/data/monster/quests/cults_of_tibia/bosses/leiden.lua index f28d46935..b8d7dce5d 100644 --- a/data/monster/quests/cults_of_tibia/bosses/leiden.lua +++ b/data/monster/quests/cults_of_tibia/bosses/leiden.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 240 monster.manaCost = 390 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "LeidenHeal" } monster.light = { @@ -59,9 +61,12 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Barkless Fanatic", chance = 20, interval = 2000}, - {name = "Barkless Fanatic", chance = 30, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Barkless Fanatic", chance = 20, interval = 2000, count = 1}, + {name = "Barkless Fanatic", chance = 30, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/quests/cults_of_tibia/bosses/malkhar_deathbringer.lua b/data/monster/quests/cults_of_tibia/bosses/malkhar_deathbringer.lua index bbf0a94d6..e62f0fb02 100644 --- a/data/monster/quests/cults_of_tibia/bosses/malkhar_deathbringer.lua +++ b/data/monster/quests/cults_of_tibia/bosses/malkhar_deathbringer.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/malkhar_deathbringer_stop.lua b/data/monster/quests/cults_of_tibia/bosses/malkhar_deathbringer_stop.lua index f413b4bd9..20992d235 100644 --- a/data/monster/quests/cults_of_tibia/bosses/malkhar_deathbringer_stop.lua +++ b/data/monster/quests/cults_of_tibia/bosses/malkhar_deathbringer_stop.lua @@ -20,7 +20,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -51,8 +50,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/mezlon_the_defiler.lua b/data/monster/quests/cults_of_tibia/bosses/mezlon_the_defiler.lua index 70b9d5cc1..046eeb629 100644 --- a/data/monster/quests/cults_of_tibia/bosses/mezlon_the_defiler.lua +++ b/data/monster/quests/cults_of_tibia/bosses/mezlon_the_defiler.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/mezlon_the_defiler_stop.lua b/data/monster/quests/cults_of_tibia/bosses/mezlon_the_defiler_stop.lua index 9484e4d90..c8ee3d93a 100644 --- a/data/monster/quests/cults_of_tibia/bosses/mezlon_the_defiler_stop.lua +++ b/data/monster/quests/cults_of_tibia/bosses/mezlon_the_defiler_stop.lua @@ -20,7 +20,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -51,8 +50,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/pillars/containment_crystal.lua b/data/monster/quests/cults_of_tibia/bosses/pillars/containment_crystal.lua index 991557fa8..aca52b745 100644 --- a/data/monster/quests/cults_of_tibia/bosses/pillars/containment_crystal.lua +++ b/data/monster/quests/cults_of_tibia/bosses/pillars/containment_crystal.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/pillars/destroyed_pillar.lua b/data/monster/quests/cults_of_tibia/bosses/pillars/destroyed_pillar.lua index fd0421ce4..054a7b2d8 100644 --- a/data/monster/quests/cults_of_tibia/bosses/pillars/destroyed_pillar.lua +++ b/data/monster/quests/cults_of_tibia/bosses/pillars/destroyed_pillar.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_death.lua b/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_death.lua index e40fabcad..dfcdbfd1a 100644 --- a/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_death.lua +++ b/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_death.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_draining.lua b/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_draining.lua index 8d6ed3351..13d8a9937 100644 --- a/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_draining.lua +++ b/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_draining.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_healing.lua b/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_healing.lua index f04955e83..8af691eb9 100644 --- a/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_healing.lua +++ b/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_healing.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_protection.lua b/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_protection.lua index 2f2002dc2..413470f90 100644 --- a/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_protection.lua +++ b/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_protection.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_summoning.lua b/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_summoning.lua index e4ecb65cd..5d86729b2 100644 --- a/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_summoning.lua +++ b/data/monster/quests/cults_of_tibia/bosses/pillars/pillar_of_summoning.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/ravennous_hunger.lua b/data/monster/quests/cults_of_tibia/bosses/ravennous_hunger.lua index f0771e825..df2ddd048 100644 --- a/data/monster/quests/cults_of_tibia/bosses/ravennous_hunger.lua +++ b/data/monster/quests/cults_of_tibia/bosses/ravennous_hunger.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6324 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 4000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "LeidenHeal" } monster.light = { @@ -59,11 +61,14 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Mutated Bat", chance = 100, interval = 2000}, - {name = "Mutated Bat", chance = 100, interval = 2000}, - {name = "Mutated Bat", chance = 100, interval = 2000}, - {name = "Mutated Bat", chance = 100, interval = 2000} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Mutated Bat", chance = 100, interval = 2000, count = 1}, + {name = "Mutated Bat", chance = 100, interval = 2000, count = 1}, + {name = "Mutated Bat", chance = 100, interval = 2000, count = 1}, + {name = "Mutated Bat", chance = 100, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/quests/cults_of_tibia/bosses/summons/dark_soul.lua b/data/monster/quests/cults_of_tibia/bosses/summons/dark_soul.lua index 7df9d9a07..ed5c458da 100644 --- a/data/monster/quests/cults_of_tibia/bosses/summons/dark_soul.lua +++ b/data/monster/quests/cults_of_tibia/bosses/summons/dark_soul.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 26397 monster.speed = 162 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/summons/dread_minion.lua b/data/monster/quests/cults_of_tibia/bosses/summons/dread_minion.lua index 0e9037dff..6ee41b575 100644 --- a/data/monster/quests/cults_of_tibia/bosses/summons/dread_minion.lua +++ b/data/monster/quests/cults_of_tibia/bosses/summons/dread_minion.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 26213 monster.speed = 370 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 20000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/summons/enraged_sand_brood.lua b/data/monster/quests/cults_of_tibia/bosses/summons/enraged_sand_brood.lua index f96fbfc58..44b60379a 100644 --- a/data/monster/quests/cults_of_tibia/bosses/summons/enraged_sand_brood.lua +++ b/data/monster/quests/cults_of_tibia/bosses/summons/enraged_sand_brood.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 6023 monster.speed = 175 monster.manaCost = 355 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/summons/freed_soul.lua b/data/monster/quests/cults_of_tibia/bosses/summons/freed_soul.lua index 70a2ad44e..1ddf5e09f 100644 --- a/data/monster/quests/cults_of_tibia/bosses/summons/freed_soul.lua +++ b/data/monster/quests/cults_of_tibia/bosses/summons/freed_soul.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/summons/liquor_spirit.lua b/data/monster/quests/cults_of_tibia/bosses/summons/liquor_spirit.lua index 095e72638..5663b9830 100644 --- a/data/monster/quests/cults_of_tibia/bosses/summons/liquor_spirit.lua +++ b/data/monster/quests/cults_of_tibia/bosses/summons/liquor_spirit.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "Evaporate" } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/summons/sand_brood.lua b/data/monster/quests/cults_of_tibia/bosses/summons/sand_brood.lua index 4562d6e9b..96ef02acd 100644 --- a/data/monster/quests/cults_of_tibia/bosses/summons/sand_brood.lua +++ b/data/monster/quests/cults_of_tibia/bosses/summons/sand_brood.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 6023 monster.speed = 175 monster.manaCost = 355 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/summons/sand_vortex.lua b/data/monster/quests/cults_of_tibia/bosses/summons/sand_vortex.lua index d81be7bbc..0c05b7cf0 100644 --- a/data/monster/quests/cults_of_tibia/bosses/summons/sand_vortex.lua +++ b/data/monster/quests/cults_of_tibia/bosses/summons/sand_vortex.lua @@ -13,7 +13,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 140 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/summons/security_golem.lua b/data/monster/quests/cults_of_tibia/bosses/summons/security_golem.lua index 2aa6f06d3..7c9fe41f1 100644 --- a/data/monster/quests/cults_of_tibia/bosses/summons/security_golem.lua +++ b/data/monster/quests/cults_of_tibia/bosses/summons/security_golem.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 10005 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/summons/soul_reaper.lua b/data/monster/quests/cults_of_tibia/bosses/summons/soul_reaper.lua index 5068b72e3..601166e56 100644 --- a/data/monster/quests/cults_of_tibia/bosses/summons/soul_reaper.lua +++ b/data/monster/quests/cults_of_tibia/bosses/summons/soul_reaper.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 26209 monster.speed = 290 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/summons/sphere_of_wrath.lua b/data/monster/quests/cults_of_tibia/bosses/summons/sphere_of_wrath.lua index a753c8c92..41746183a 100644 --- a/data/monster/quests/cults_of_tibia/bosses/summons/sphere_of_wrath.lua +++ b/data/monster/quests/cults_of_tibia/bosses/summons/sphere_of_wrath.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 120 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/summons/stolen_soul.lua b/data/monster/quests/cults_of_tibia/bosses/summons/stolen_soul.lua index 089564fd5..40783703c 100644 --- a/data/monster/quests/cults_of_tibia/bosses/summons/stolen_soul.lua +++ b/data/monster/quests/cults_of_tibia/bosses/summons/stolen_soul.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/summons/vermin_swarm.lua b/data/monster/quests/cults_of_tibia/bosses/summons/vermin_swarm.lua index 6ed3c2ff1..10fdb2cd5 100644 --- a/data/monster/quests/cults_of_tibia/bosses/summons/vermin_swarm.lua +++ b/data/monster/quests/cults_of_tibia/bosses/summons/vermin_swarm.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/summons/voidshard.lua b/data/monster/quests/cults_of_tibia/bosses/summons/voidshard.lua index dc9fde2d4..79a5d0e29 100644 --- a/data/monster/quests/cults_of_tibia/bosses/summons/voidshard.lua +++ b/data/monster/quests/cults_of_tibia/bosses/summons/voidshard.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 26209 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/the_armored_voidborn.lua b/data/monster/quests/cults_of_tibia/bosses/the_armored_voidborn.lua index 8cb7aad98..b2166c341 100644 --- a/data/monster/quests/cults_of_tibia/bosses/the_armored_voidborn.lua +++ b/data/monster/quests/cults_of_tibia/bosses/the_armored_voidborn.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/the_corruptor_of_souls.lua b/data/monster/quests/cults_of_tibia/bosses/the_corruptor_of_souls.lua index 21c4e44f8..c3f5f0a58 100644 --- a/data/monster/quests/cults_of_tibia/bosses/the_corruptor_of_souls.lua +++ b/data/monster/quests/cults_of_tibia/bosses/the_corruptor_of_souls.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 450 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/the_false_god.lua b/data/monster/quests/cults_of_tibia/bosses/the_false_god.lua index df0a2a464..e5df5196d 100644 --- a/data/monster/quests/cults_of_tibia/bosses/the_false_god.lua +++ b/data/monster/quests/cults_of_tibia/bosses/the_false_god.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 25151 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/the_remorseless_corruptor.lua b/data/monster/quests/cults_of_tibia/bosses/the_remorseless_corruptor.lua index 46805ca81..992375dc3 100644 --- a/data/monster/quests/cults_of_tibia/bosses/the_remorseless_corruptor.lua +++ b/data/monster/quests/cults_of_tibia/bosses/the_remorseless_corruptor.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/the_sandking.lua b/data/monster/quests/cults_of_tibia/bosses/the_sandking.lua index 369aa4887..4f29806e1 100644 --- a/data/monster/quests/cults_of_tibia/bosses/the_sandking.lua +++ b/data/monster/quests/cults_of_tibia/bosses/the_sandking.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 29142 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/the_sandking_fake.lua b/data/monster/quests/cults_of_tibia/bosses/the_sandking_fake.lua index 31ddc8e5e..1be0c2d41 100644 --- a/data/monster/quests/cults_of_tibia/bosses/the_sandking_fake.lua +++ b/data/monster/quests/cults_of_tibia/bosses/the_sandking_fake.lua @@ -20,7 +20,6 @@ monster.race = "venom" monster.corpse = 29142 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -51,8 +50,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/the_sinister_hermit_clean.lua b/data/monster/quests/cults_of_tibia/bosses/the_sinister_hermit_clean.lua index 945609ded..f93b40203 100644 --- a/data/monster/quests/cults_of_tibia/bosses/the_sinister_hermit_clean.lua +++ b/data/monster/quests/cults_of_tibia/bosses/the_sinister_hermit_clean.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Vermin Swarm", chance = 100, interval = 20000} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Vermin Swarm", chance = 100, interval = 20000, count = 4} + } } monster.voices = { diff --git a/data/monster/quests/cults_of_tibia/bosses/the_sinister_hermit_dirty.lua b/data/monster/quests/cults_of_tibia/bosses/the_sinister_hermit_dirty.lua index 08e5a0717..2c80b2da7 100644 --- a/data/monster/quests/cults_of_tibia/bosses/the_sinister_hermit_dirty.lua +++ b/data/monster/quests/cults_of_tibia/bosses/the_sinister_hermit_dirty.lua @@ -20,7 +20,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 4000, @@ -51,8 +50,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -60,8 +58,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Vermin Swarm", chance = 100, interval = 20000} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Vermin Swarm", chance = 100, interval = 20000, count = 4} + } } monster.voices = { diff --git a/data/monster/quests/cults_of_tibia/bosses/the_souldespoiler.lua b/data/monster/quests/cults_of_tibia/bosses/the_souldespoiler.lua index 8e01eb8ee..14ee6b4f8 100644 --- a/data/monster/quests/cults_of_tibia/bosses/the_souldespoiler.lua +++ b/data/monster/quests/cults_of_tibia/bosses/the_souldespoiler.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 26220 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 5 monster.changeTarget = { interval = 6000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Freed Soul", chance = 5, interval = 5000} +monster.summon = { + maxSummons = 5, + summons = { + {name = "Freed Soul", chance = 5, interval = 5000, count = 5} + } } monster.voices = { diff --git a/data/monster/quests/cults_of_tibia/bosses/the_source_of_corruption.lua b/data/monster/quests/cults_of_tibia/bosses/the_source_of_corruption.lua index 2ac36748d..b01d63037 100644 --- a/data/monster/quests/cults_of_tibia/bosses/the_source_of_corruption.lua +++ b/data/monster/quests/cults_of_tibia/bosses/the_source_of_corruption.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 26223 monster.speed = 120 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/the_unarmored_voidborn.lua b/data/monster/quests/cults_of_tibia/bosses/the_unarmored_voidborn.lua index 9df547b70..56c4943f6 100644 --- a/data/monster/quests/cults_of_tibia/bosses/the_unarmored_voidborn.lua +++ b/data/monster/quests/cults_of_tibia/bosses/the_unarmored_voidborn.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 29369 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/wine_cask.lua b/data/monster/quests/cults_of_tibia/bosses/wine_cask.lua index 394667f21..cd95bc25f 100644 --- a/data/monster/quests/cults_of_tibia/bosses/wine_cask.lua +++ b/data/monster/quests/cults_of_tibia/bosses/wine_cask.lua @@ -13,7 +13,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -44,8 +43,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "Splash" } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/bosses/zarcorix_of_yalahar.lua b/data/monster/quests/cults_of_tibia/bosses/zarcorix_of_yalahar.lua index a00ca02ac..0006e8af2 100644 --- a/data/monster/quests/cults_of_tibia/bosses/zarcorix_of_yalahar.lua +++ b/data/monster/quests/cults_of_tibia/bosses/zarcorix_of_yalahar.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20550 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/containment_machine.lua b/data/monster/quests/cults_of_tibia/containment_machine.lua index 489a280f6..c65c46e14 100644 --- a/data/monster/quests/cults_of_tibia/containment_machine.lua +++ b/data/monster/quests/cults_of_tibia/containment_machine.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/cult_believer.lua b/data/monster/quests/cults_of_tibia/cult_believer.lua index 308c104b8..fe69d9acb 100644 --- a/data/monster/quests/cults_of_tibia/cult_believer.lua +++ b/data/monster/quests/cults_of_tibia/cult_believer.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 24673 monster.speed = 260 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/cult_enforcer.lua b/data/monster/quests/cults_of_tibia/cult_enforcer.lua index 51490e818..b0d6a0cc4 100644 --- a/data/monster/quests/cults_of_tibia/cult_enforcer.lua +++ b/data/monster/quests/cults_of_tibia/cult_enforcer.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 24673 monster.speed = 260 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/cult_scholar.lua b/data/monster/quests/cults_of_tibia/cult_scholar.lua index 9e621bf71..012f371d3 100644 --- a/data/monster/quests/cults_of_tibia/cult_scholar.lua +++ b/data/monster/quests/cults_of_tibia/cult_scholar.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 24673 monster.speed = 260 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/goldhanded_cultist.lua b/data/monster/quests/cults_of_tibia/goldhanded_cultist.lua index c994d4e67..df72b30d7 100644 --- a/data/monster/quests/cults_of_tibia/goldhanded_cultist.lua +++ b/data/monster/quests/cults_of_tibia/goldhanded_cultist.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 3058 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/minotaur_idol.lua b/data/monster/quests/cults_of_tibia/minotaur_idol.lua index deb714a05..97bb52d63 100644 --- a/data/monster/quests/cults_of_tibia/minotaur_idol.lua +++ b/data/monster/quests/cults_of_tibia/minotaur_idol.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 29126 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/misguided_bully.lua b/data/monster/quests/cults_of_tibia/misguided_bully.lua index ceaaa1579..544b0637d 100644 --- a/data/monster/quests/cults_of_tibia/misguided_bully.lua +++ b/data/monster/quests/cults_of_tibia/misguided_bully.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 29361 monster.speed = 240 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/misguided_shadow.lua b/data/monster/quests/cults_of_tibia/misguided_shadow.lua index 74db01c4d..0096f4e4b 100644 --- a/data/monster/quests/cults_of_tibia/misguided_shadow.lua +++ b/data/monster/quests/cults_of_tibia/misguided_shadow.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 29361 monster.speed = 240 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/misguided_thief.lua b/data/monster/quests/cults_of_tibia/misguided_thief.lua index e54bef4b1..6058ca1c8 100644 --- a/data/monster/quests/cults_of_tibia/misguided_thief.lua +++ b/data/monster/quests/cults_of_tibia/misguided_thief.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 29361 monster.speed = 240 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/orc_cult_fanatic.lua b/data/monster/quests/cults_of_tibia/orc_cult_fanatic.lua index c8a1954c3..6c8850a31 100644 --- a/data/monster/quests/cults_of_tibia/orc_cult_fanatic.lua +++ b/data/monster/quests/cults_of_tibia/orc_cult_fanatic.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6001 monster.speed = 115 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/orc_cult_inquisitor.lua b/data/monster/quests/cults_of_tibia/orc_cult_inquisitor.lua index c383b5521..8206c2c69 100644 --- a/data/monster/quests/cults_of_tibia/orc_cult_inquisitor.lua +++ b/data/monster/quests/cults_of_tibia/orc_cult_inquisitor.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5980 monster.speed = 125 monster.manaCost = 590 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/orc_cult_minion.lua b/data/monster/quests/cults_of_tibia/orc_cult_minion.lua index e06d3adea..0afcad142 100644 --- a/data/monster/quests/cults_of_tibia/orc_cult_minion.lua +++ b/data/monster/quests/cults_of_tibia/orc_cult_minion.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5996 monster.speed = 105 monster.manaCost = 310 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/orc_cult_priest.lua b/data/monster/quests/cults_of_tibia/orc_cult_priest.lua index cb226a314..aa66c3959 100644 --- a/data/monster/quests/cults_of_tibia/orc_cult_priest.lua +++ b/data/monster/quests/cults_of_tibia/orc_cult_priest.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5978 monster.speed = 70 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/cults_of_tibia/orc_cultist.lua b/data/monster/quests/cults_of_tibia/orc_cultist.lua index be94187c8..0dc9ff3f8 100644 --- a/data/monster/quests/cults_of_tibia/orc_cultist.lua +++ b/data/monster/quests/cults_of_tibia/orc_cultist.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5979 monster.speed = 95 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/dangerous_depth/aggressive_lava.lua b/data/monster/quests/dangerous_depth/aggressive_lava.lua index 8d45fcabf..dd6f82090 100644 --- a/data/monster/quests/dangerous_depth/aggressive_lava.lua +++ b/data/monster/quests/dangerous_depth/aggressive_lava.lua @@ -4,7 +4,7 @@ local monster = {} monster.description = "an aggressive lava" monster.experience = 0 monster.outfit = { - lookType = 614, + lookType = 1041, lookHead = 0, lookBody = 0, lookLegs = 0, @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 31996 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -69,7 +67,7 @@ monster.loot = { monster.attacks = { {name ="melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -450}, - {name ="aggresivelavawave", interval = 2000, chance = 30, minDamage = 0, maxDamage = -650, target = false} + {name ="aggressivelavawave", interval = 2000, chance = 30, minDamage = 0, maxDamage = -650, target = false} } monster.defenses = { @@ -97,4 +95,8 @@ monster.immunities = { {type = "bleed", condition = false} } +monster.heals = { + {type = COMBAT_FIREDAMAGE, percent = 100} +} + mType:register(monster) diff --git a/data/monster/quests/dangerous_depth/aggressive_matter.lua b/data/monster/quests/dangerous_depth/aggressive_matter.lua index 376a4facf..7691e1bd9 100644 --- a/data/monster/quests/dangerous_depth/aggressive_matter.lua +++ b/data/monster/quests/dangerous_depth/aggressive_matter.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/dangerous_depth/bosses/ancient_spawn_of_morgathla.lua b/data/monster/quests/dangerous_depth/bosses/ancient_spawn_of_morgathla.lua index ea7a56355..9c92ea700 100644 --- a/data/monster/quests/dangerous_depth/bosses/ancient_spawn_of_morgathla.lua +++ b/data/monster/quests/dangerous_depth/bosses/ancient_spawn_of_morgathla.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 23375 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/dangerous_depth/bosses/the_baron_from_below.lua b/data/monster/quests/dangerous_depth/bosses/the_baron_from_below.lua index c3a408d8c..2eaf4ec8b 100644 --- a/data/monster/quests/dangerous_depth/bosses/the_baron_from_below.lua +++ b/data/monster/quests/dangerous_depth/bosses/the_baron_from_below.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 30868 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -126,7 +124,7 @@ monster.elements = { {type = COMBAT_PHYSICALDAMAGE, percent = 60}, {type = COMBAT_ENERGYDAMAGE, percent = 60}, {type = COMBAT_EARTHDAMAGE, percent = 60}, - {type = COMBAT_FIREDAMAGE, percent = 60}, + {type = COMBAT_FIREDAMAGE, percent = 100}, {type = COMBAT_LIFEDRAIN, percent = 0}, {type = COMBAT_MANADRAIN, percent = 0}, {type = COMBAT_DROWNDAMAGE, percent = 0}, @@ -135,6 +133,10 @@ monster.elements = { {type = COMBAT_DEATHDAMAGE , percent = 60} } +monster.heals = { + {type = COMBAT_FIREDAMAGE, percent = 100}, +} + monster.immunities = { {type = "paralyze", condition = true}, {type = "outfit", condition = false}, diff --git a/data/monster/quests/dangerous_depth/bosses/the_count_of_the_core.lua b/data/monster/quests/dangerous_depth/bosses/the_count_of_the_core.lua index adec97714..3486ddefb 100644 --- a/data/monster/quests/dangerous_depth/bosses/the_count_of_the_core.lua +++ b/data/monster/quests/dangerous_depth/bosses/the_count_of_the_core.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 30872 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/dangerous_depth/bosses/the_duke_of_the_depths.lua b/data/monster/quests/dangerous_depth/bosses/the_duke_of_the_depths.lua index dbbec64cc..e086acb38 100644 --- a/data/monster/quests/dangerous_depth/bosses/the_duke_of_the_depths.lua +++ b/data/monster/quests/dangerous_depth/bosses/the_duke_of_the_depths.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 32008 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -117,7 +115,7 @@ monster.elements = { {type = COMBAT_PHYSICALDAMAGE, percent = 60}, {type = COMBAT_ENERGYDAMAGE, percent = 60}, {type = COMBAT_EARTHDAMAGE, percent = 60}, - {type = COMBAT_FIREDAMAGE, percent = -100}, + {type = COMBAT_FIREDAMAGE, percent = 100}, {type = COMBAT_LIFEDRAIN, percent = 0}, {type = COMBAT_MANADRAIN, percent = 0}, {type = COMBAT_DROWNDAMAGE, percent = 0}, @@ -133,6 +131,10 @@ monster.immunities = { {type = "bleed", condition = false} } +monster.heals = { + {type = COMBAT_FIREDAMAGE, percent = 100}, +} + mType.onThink = function(monster, interval) end diff --git a/data/monster/quests/dangerous_depth/bosses/the_duke_of_the_depths_immortal.lua b/data/monster/quests/dangerous_depth/bosses/the_duke_of_the_depths_immortal.lua index c55370fda..27756b334 100644 --- a/data/monster/quests/dangerous_depth/bosses/the_duke_of_the_depths_immortal.lua +++ b/data/monster/quests/dangerous_depth/bosses/the_duke_of_the_depths_immortal.lua @@ -1,7 +1,7 @@ -local mType = Game.createMonsterType("The Duke Of The Depths") +local mType = Game.createMonsterType("The Fire Empowered Duke") local monster = {} -monster.description = "The Duke Of The Depths" +monster.description = "The Fire Empowered Duke" monster.experience = 40000 monster.outfit = { lookType = 1047, @@ -13,13 +13,12 @@ monster.outfit = { lookMount = 0 } -monster.health = 100000 -monster.maxHealth = 100000 +monster.health = 50000 +monster.maxHealth = 50000 monster.race = "blood" monster.corpse = 32008 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -104,13 +102,13 @@ monster.elements = { {type = COMBAT_PHYSICALDAMAGE, percent = 100}, {type = COMBAT_ENERGYDAMAGE, percent = 100}, {type = COMBAT_EARTHDAMAGE, percent = 100}, - {type = COMBAT_FIREDAMAGE, percent = 0}, - {type = COMBAT_LIFEDRAIN, percent = 0}, - {type = COMBAT_MANADRAIN, percent = 0}, - {type = COMBAT_DROWNDAMAGE, percent = 0}, + {type = COMBAT_FIREDAMAGE, percent = 100}, + {type = COMBAT_LIFEDRAIN, percent = 100}, + {type = COMBAT_MANADRAIN, percent = 100}, + {type = COMBAT_DROWNDAMAGE, percent = 100}, {type = COMBAT_ICEDAMAGE, percent = 100}, {type = COMBAT_HOLYDAMAGE , percent = 100}, - {type = COMBAT_DEATHDAMAGE , percent = 0} + {type = COMBAT_DEATHDAMAGE , percent = 100} } monster.immunities = { @@ -120,4 +118,8 @@ monster.immunities = { {type = "bleed", condition = false} } +monster.heals = { + {type = COMBAT_FIREDAMAGE, percent = 100} +} + mType:register(monster) diff --git a/data/monster/quests/dangerous_depth/bosses/the_hungry_baron_from_below.lua b/data/monster/quests/dangerous_depth/bosses/the_hungry_baron_from_below.lua index 96876c743..4120d1b40 100644 --- a/data/monster/quests/dangerous_depth/bosses/the_hungry_baron_from_below.lua +++ b/data/monster/quests/dangerous_depth/bosses/the_hungry_baron_from_below.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 30868 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -95,6 +93,10 @@ monster.elements = { {type = COMBAT_DEATHDAMAGE , percent = 100} } +monster.heals = { + {type = COMBAT_FIREDAMAGE, percent = 100}, +} + monster.immunities = { {type = "paralyze", condition = true}, {type = "outfit", condition = false}, diff --git a/data/monster/quests/dangerous_depth/captured_dwarf.lua b/data/monster/quests/dangerous_depth/captured_dwarf.lua index 535e54adf..fd6f3c027 100644 --- a/data/monster/quests/dangerous_depth/captured_dwarf.lua +++ b/data/monster/quests/dangerous_depth/captured_dwarf.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/dangerous_depth/ember_beast.lua b/data/monster/quests/dangerous_depth/ember_beast.lua index f7fe27033..9207e83bc 100644 --- a/data/monster/quests/dangerous_depth/ember_beast.lua +++ b/data/monster/quests/dangerous_depth/ember_beast.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/dangerous_depth/fiery_blood.lua b/data/monster/quests/dangerous_depth/fiery_blood.lua index fc61b2699..c2e0ec91f 100644 --- a/data/monster/quests/dangerous_depth/fiery_blood.lua +++ b/data/monster/quests/dangerous_depth/fiery_blood.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8964 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -69,7 +67,7 @@ monster.loot = { monster.attacks = { {name ="melee", interval = 2000, chance = 100, minDamage = 0, maxDamage = -250}, - {name ="aggresivelavawave", interval = 2000, chance = 30, minDamage = 0, maxDamage = -500, target = false}, + {name ="aggressivelavawave", interval = 2000, chance = 30, minDamage = 0, maxDamage = -500, target = false}, {name ="firefield", interval = 2000, chance = 25, range = 7, radius = 3, shootEffect = CONST_ANI_FIRE, target = true} } diff --git a/data/monster/quests/dangerous_depth/fiery_heart.lua b/data/monster/quests/dangerous_depth/fiery_heart.lua index dce319134..abfd4e6a7 100644 --- a/data/monster/quests/dangerous_depth/fiery_heart.lua +++ b/data/monster/quests/dangerous_depth/fiery_heart.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -62,7 +60,7 @@ monster.loot = { } monster.attacks = { - {name ="aggresivelavawave", interval = 2000, chance = 30, minDamage = 0, maxDamage = -550, target = false} + {name ="aggressivelavawave", interval = 2000, chance = 30, minDamage = 0, maxDamage = -550, target = false} } monster.defenses = { @@ -74,7 +72,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_FIREDAMAGE, percent = 100}, {type = COMBAT_LIFEDRAIN, percent = 0}, {type = COMBAT_MANADRAIN, percent = 0}, {type = COMBAT_DROWNDAMAGE, percent = 0}, @@ -90,4 +88,8 @@ monster.immunities = { {type = "bleed", condition = false} } +monster.heals = { + {type = COMBAT_FIREDAMAGE, percent = 100} +} + mType:register(monster) diff --git a/data/monster/quests/dangerous_depth/gnome_pack_crawler.lua b/data/monster/quests/dangerous_depth/gnome_pack_crawler.lua index 803a7941e..5a9364a2e 100644 --- a/data/monster/quests/dangerous_depth/gnome_pack_crawler.lua +++ b/data/monster/quests/dangerous_depth/gnome_pack_crawler.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 17336 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/dangerous_depth/lava_lurker_attendant.lua b/data/monster/quests/dangerous_depth/lava_lurker_attendant.lua index feee97033..a609d1e9d 100644 --- a/data/monster/quests/dangerous_depth/lava_lurker_attendant.lua +++ b/data/monster/quests/dangerous_depth/lava_lurker_attendant.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 31997 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/dangerous_depth/lost_gnome.lua b/data/monster/quests/dangerous_depth/lost_gnome.lua index da83f14ab..c17a3c9ce 100644 --- a/data/monster/quests/dangerous_depth/lost_gnome.lua +++ b/data/monster/quests/dangerous_depth/lost_gnome.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/dangerous_depth/makeshift_home.lua b/data/monster/quests/dangerous_depth/makeshift_home.lua index 450152153..460381b7f 100644 --- a/data/monster/quests/dangerous_depth/makeshift_home.lua +++ b/data/monster/quests/dangerous_depth/makeshift_home.lua @@ -13,7 +13,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/dangerous_depth/organic_matter.lua b/data/monster/quests/dangerous_depth/organic_matter.lua index a04360ea5..f1b5367b6 100644 --- a/data/monster/quests/dangerous_depth/organic_matter.lua +++ b/data/monster/quests/dangerous_depth/organic_matter.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/dangerous_depth/snail_slime.lua b/data/monster/quests/dangerous_depth/snail_slime.lua index b0bd50c8d..c8ab51a8a 100644 --- a/data/monster/quests/dangerous_depth/snail_slime.lua +++ b/data/monster/quests/dangerous_depth/snail_slime.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/dark_trails/canopic_jar.lua b/data/monster/quests/dark_trails/canopic_jar.lua index 0dcc9c552..d63a3b0ea 100644 --- a/data/monster/quests/dark_trails/canopic_jar.lua +++ b/data/monster/quests/dark_trails/canopic_jar.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/dark_trails/death_priest_shargon.lua b/data/monster/quests/dark_trails/death_priest_shargon.lua index 1cc959f33..1a77eaf56 100644 --- a/data/monster/quests/dark_trails/death_priest_shargon.lua +++ b/data/monster/quests/dark_trails/death_priest_shargon.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 23494 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 6 monster.changeTarget = { interval = 5000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "DeathPriestShargonDeath" } monster.light = { @@ -59,10 +61,13 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Lesser Death Minion", chance = 30, interval = 2000, max = 2}, - {name = "Superior Death Minion", chance = 30, interval = 2000, max = 2}, - {name = "Greater Death Minion", chance = 30, interval = 2000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Lesser Death Minion", chance = 30, interval = 2000, count = 2}, + {name = "Superior Death Minion", chance = 30, interval = 2000, count = 2}, + {name = "Greater Death Minion", chance = 30, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/dark_trails/depowered_minotaur.lua b/data/monster/quests/dark_trails/depowered_minotaur.lua index c3be38eca..29e55662d 100644 --- a/data/monster/quests/dark_trails/depowered_minotaur.lua +++ b/data/monster/quests/dark_trails/depowered_minotaur.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5969 monster.speed = 212 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/dark_trails/greater_canopic_jar.lua b/data/monster/quests/dark_trails/greater_canopic_jar.lua index e0ce4dcd6..ec77d12ec 100644 --- a/data/monster/quests/dark_trails/greater_canopic_jar.lua +++ b/data/monster/quests/dark_trails/greater_canopic_jar.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/dark_trails/greater_death_minion.lua b/data/monster/quests/dark_trails/greater_death_minion.lua index 0d5f7dec7..2fc38ebc3 100644 --- a/data/monster/quests/dark_trails/greater_death_minion.lua +++ b/data/monster/quests/dark_trails/greater_death_minion.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6004 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/dark_trails/lesser_death_minion.lua b/data/monster/quests/dark_trails/lesser_death_minion.lua index a96991415..9ece6b536 100644 --- a/data/monster/quests/dark_trails/lesser_death_minion.lua +++ b/data/monster/quests/dark_trails/lesser_death_minion.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 5972 monster.speed = 154 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/dark_trails/minotaur_invader.lua b/data/monster/quests/dark_trails/minotaur_invader.lua index 5123a872e..71b2dbbb4 100644 --- a/data/monster/quests/dark_trails/minotaur_invader.lua +++ b/data/monster/quests/dark_trails/minotaur_invader.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5983 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/dark_trails/minotaur_totem.lua b/data/monster/quests/dark_trails/minotaur_totem.lua index 6c2be7766..adf694ec1 100644 --- a/data/monster/quests/dark_trails/minotaur_totem.lua +++ b/data/monster/quests/dark_trails/minotaur_totem.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 78 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/dark_trails/superior_death_minion.lua b/data/monster/quests/dark_trails/superior_death_minion.lua index 61898bdf9..184b59383 100644 --- a/data/monster/quests/dark_trails/superior_death_minion.lua +++ b/data/monster/quests/dark_trails/superior_death_minion.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 200 monster.manaCost = 490 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/dark_trails/the_ravager.lua b/data/monster/quests/dark_trails/the_ravager.lua index d3a4f571a..abc164421 100644 --- a/data/monster/quests/dark_trails/the_ravager.lua +++ b/data/monster/quests/dark_trails/the_ravager.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6031 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 16 monster.changeTarget = { interval = 5000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "TheRavagerDeath" } monster.light = { @@ -59,10 +61,13 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Elder Mummy", chance = 9, interval = 2000, max = 4}, - {name = "Canopic Jar", chance = 9, interval = 2000, max = 4}, - {name = "Greater Canopic Jar", chance = 9, interval = 2000, max = 8} +monster.summon = { + maxSummons = 16, + summons = { + {name = "Elder Mummy", chance = 9, interval = 2000, count = 4}, + {name = "Canopic Jar", chance = 9, interval = 2000, count = 4}, + {name = "Greater Canopic Jar", chance = 9, interval = 2000, count = 8} + } } monster.voices = { diff --git a/data/monster/quests/dark_trails/tremor_worm.lua b/data/monster/quests/dark_trails/tremor_worm.lua index 0f36535c2..8b3b313ca 100644 --- a/data/monster/quests/dark_trails/tremor_worm.lua +++ b/data/monster/quests/dark_trails/tremor_worm.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 170 monster.manaCost = 330 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/feaster_of_souls/irgix_the_flimsy.lua b/data/monster/quests/feaster_of_souls/irgix_the_flimsy.lua index f9e2405ec..de8f15387 100644 --- a/data/monster/quests/feaster_of_souls/irgix_the_flimsy.lua +++ b/data/monster/quests/feaster_of_souls/irgix_the_flimsy.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 37445 monster.speed = 285 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/feaster_of_souls/the_fear_feaster.lua b/data/monster/quests/feaster_of_souls/the_fear_feaster.lua index 6c3f8c42b..3dd89fadd 100644 --- a/data/monster/quests/feaster_of_souls/the_fear_feaster.lua +++ b/data/monster/quests/feaster_of_souls/the_fear_feaster.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 37572 monster.speed = 500 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/feaster_of_souls/unaz_the_mean.lua b/data/monster/quests/feaster_of_souls/unaz_the_mean.lua index 8b83cade9..1db168372 100644 --- a/data/monster/quests/feaster_of_souls/unaz_the_mean.lua +++ b/data/monster/quests/feaster_of_souls/unaz_the_mean.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 37445 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/feaster_of_souls/vok_the_freakish.lua b/data/monster/quests/feaster_of_souls/vok_the_freakish.lua index 0d4635ecb..0a3fb6bb3 100644 --- a/data/monster/quests/feaster_of_souls/vok_the_freakish.lua +++ b/data/monster/quests/feaster_of_souls/vok_the_freakish.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 37445 monster.speed = 285 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/bosses/ascending_ferumbras.lua b/data/monster/quests/ferumbras_ascendant/bosses/ascending_ferumbras.lua index b787e9332..55cc472a1 100644 --- a/data/monster/quests/ferumbras_ascendant/bosses/ascending_ferumbras.lua +++ b/data/monster/quests/ferumbras_ascendant/bosses/ascending_ferumbras.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 6078 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/bosses/death_dragon.lua b/data/monster/quests/ferumbras_ascendant/bosses/death_dragon.lua index d38ea3b7d..a9ddf10cd 100644 --- a/data/monster/quests/ferumbras_ascendant/bosses/death_dragon.lua +++ b/data/monster/quests/ferumbras_ascendant/bosses/death_dragon.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 330 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "DeathDragon" } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/bosses/destabilized_ferumbras.lua b/data/monster/quests/ferumbras_ascendant/bosses/destabilized_ferumbras.lua index 4212c57ab..26b8de370 100644 --- a/data/monster/quests/ferumbras_ascendant/bosses/destabilized_ferumbras.lua +++ b/data/monster/quests/ferumbras_ascendant/bosses/destabilized_ferumbras.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 6 monster.changeTarget = { interval = 5000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "FerumbrasMortalShell" } monster.light = { @@ -59,8 +61,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Demon2", chance = 11, interval = 2000, max = 6} +monster.summon = { + maxSummons = 6, + summons = { + {name = "Demon", chance = 11, interval = 2000, count = 6} + } } monster.voices = { diff --git a/data/monster/quests/ferumbras_ascendant/bosses/enraged_soul.lua b/data/monster/quests/ferumbras_ascendant/bosses/enraged_soul.lua index 91787511d..868cf2956 100644 --- a/data/monster/quests/ferumbras_ascendant/bosses/enraged_soul.lua +++ b/data/monster/quests/ferumbras_ascendant/bosses/enraged_soul.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 21368 monster.speed = 160 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/bosses/ferumbras_mortal_shell.lua b/data/monster/quests/ferumbras_ascendant/bosses/ferumbras_mortal_shell.lua index 0633cbed6..9129b7329 100644 --- a/data/monster/quests/ferumbras_ascendant/bosses/ferumbras_mortal_shell.lua +++ b/data/monster/quests/ferumbras_ascendant/bosses/ferumbras_mortal_shell.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 6078 monster.speed = 390 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Demon2", chance = 11, interval = 2000, max = 3} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Demon", chance = 100, interval = 1000, count = 3} + } } monster.voices = { diff --git a/data/monster/quests/ferumbras_ascendant/bosses/ferumbras_soul_splinter.lua b/data/monster/quests/ferumbras_ascendant/bosses/ferumbras_soul_splinter.lua index 95181fec0..943966126 100644 --- a/data/monster/quests/ferumbras_ascendant/bosses/ferumbras_soul_splinter.lua +++ b/data/monster/quests/ferumbras_ascendant/bosses/ferumbras_soul_splinter.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 390 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "FerumbrasSoulSplinter" } monster.light = { @@ -59,8 +61,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Demon2", chance = 11, interval = 2000, max = 3} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Demon", chance = 11, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/quests/ferumbras_ascendant/bosses/mazoran.lua b/data/monster/quests/ferumbras_ascendant/bosses/mazoran.lua index 67715403e..824925a15 100644 --- a/data/monster/quests/ferumbras_ascendant/bosses/mazoran.lua +++ b/data/monster/quests/ferumbras_ascendant/bosses/mazoran.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 25151 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/bosses/plagirath.lua b/data/monster/quests/ferumbras_ascendant/bosses/plagirath.lua index 707fb0f7d..e8691a314 100644 --- a/data/monster/quests/ferumbras_ascendant/bosses/plagirath.lua +++ b/data/monster/quests/ferumbras_ascendant/bosses/plagirath.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 25151 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/bosses/ragiaz.lua b/data/monster/quests/ferumbras_ascendant/bosses/ragiaz.lua index d228b3219..4b38c309e 100644 --- a/data/monster/quests/ferumbras_ascendant/bosses/ragiaz.lua +++ b/data/monster/quests/ferumbras_ascendant/bosses/ragiaz.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 25151 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/bosses/razzagorn.lua b/data/monster/quests/ferumbras_ascendant/bosses/razzagorn.lua index 9545f4fca..e8f274fa4 100644 --- a/data/monster/quests/ferumbras_ascendant/bosses/razzagorn.lua +++ b/data/monster/quests/ferumbras_ascendant/bosses/razzagorn.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 25151 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Eruption of Destruction", chance = 15, interval = 2000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Eruption of Destruction", chance = 15, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/ferumbras_ascendant/bosses/redeemed_soul.lua b/data/monster/quests/ferumbras_ascendant/bosses/redeemed_soul.lua index c4d609614..c8c6d327b 100644 --- a/data/monster/quests/ferumbras_ascendant/bosses/redeemed_soul.lua +++ b/data/monster/quests/ferumbras_ascendant/bosses/redeemed_soul.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 24634 monster.speed = 162 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/bosses/shulgrax.lua b/data/monster/quests/ferumbras_ascendant/bosses/shulgrax.lua index af7caac9e..edea9e4b9 100644 --- a/data/monster/quests/ferumbras_ascendant/bosses/shulgrax.lua +++ b/data/monster/quests/ferumbras_ascendant/bosses/shulgrax.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 25151 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/bosses/sin_devourer.lua b/data/monster/quests/ferumbras_ascendant/bosses/sin_devourer.lua index dededcd5f..8be6ed5f4 100644 --- a/data/monster/quests/ferumbras_ascendant/bosses/sin_devourer.lua +++ b/data/monster/quests/ferumbras_ascendant/bosses/sin_devourer.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 360 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 10, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/bosses/tarbaz.lua b/data/monster/quests/ferumbras_ascendant/bosses/tarbaz.lua index 542fe505b..9dbdab65d 100644 --- a/data/monster/quests/ferumbras_ascendant/bosses/tarbaz.lua +++ b/data/monster/quests/ferumbras_ascendant/bosses/tarbaz.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 25151 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/bosses/the_lord_of_the_lice.lua b/data/monster/quests/ferumbras_ascendant/bosses/the_lord_of_the_lice.lua index 6dde6a875..8ac4c92c0 100644 --- a/data/monster/quests/ferumbras_ascendant/bosses/the_lord_of_the_lice.lua +++ b/data/monster/quests/ferumbras_ascendant/bosses/the_lord_of_the_lice.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 9871 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/bosses/the_shatterer.lua b/data/monster/quests/ferumbras_ascendant/bosses/the_shatterer.lua index 73b57a5cb..506ee88fe 100644 --- a/data/monster/quests/ferumbras_ascendant/bosses/the_shatterer.lua +++ b/data/monster/quests/ferumbras_ascendant/bosses/the_shatterer.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 6068 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/bosses/zamulosh.lua b/data/monster/quests/ferumbras_ascendant/bosses/zamulosh.lua index c66c9e1ae..f08e8bf9b 100644 --- a/data/monster/quests/ferumbras_ascendant/bosses/zamulosh.lua +++ b/data/monster/quests/ferumbras_ascendant/bosses/zamulosh.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 25151 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Zamulosh2", chance = 100, interval = 1000, max = 1} +monster.summon = { + maxSummons = 1, + summons = { + {name = "Zamulosh2", chance = 100, interval = 1000, count = 1} + } } monster.voices = { diff --git a/data/monster/quests/ferumbras_ascendant/bosses/zamulosh2.lua b/data/monster/quests/ferumbras_ascendant/bosses/zamulosh2.lua index 1e086f31e..a65b117a0 100644 --- a/data/monster/quests/ferumbras_ascendant/bosses/zamulosh2.lua +++ b/data/monster/quests/ferumbras_ascendant/bosses/zamulosh2.lua @@ -20,7 +20,6 @@ monster.race = "undead" monster.corpse = 25151 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -51,8 +50,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/bosses/zamulosh3.lua b/data/monster/quests/ferumbras_ascendant/bosses/zamulosh3.lua index cb0e768d3..838ef2425 100644 --- a/data/monster/quests/ferumbras_ascendant/bosses/zamulosh3.lua +++ b/data/monster/quests/ferumbras_ascendant/bosses/zamulosh3.lua @@ -20,7 +20,6 @@ monster.race = "undead" monster.corpse = 25151 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -51,8 +50,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "ZamuloshClone" } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/damned_soul.lua b/data/monster/quests/ferumbras_ascendant/damned_soul.lua index 3b2a9bdf8..bd544ab5a 100644 --- a/data/monster/quests/ferumbras_ascendant/damned_soul.lua +++ b/data/monster/quests/ferumbras_ascendant/damned_soul.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 25354 monster.speed = 380 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/desperate_soul.lua b/data/monster/quests/ferumbras_ascendant/desperate_soul.lua index 8eb24ecb6..ce75f9ce1 100644 --- a/data/monster/quests/ferumbras_ascendant/desperate_soul.lua +++ b/data/monster/quests/ferumbras_ascendant/desperate_soul.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7338 monster.speed = 670 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/disgusting_ooze.lua b/data/monster/quests/ferumbras_ascendant/disgusting_ooze.lua index 48a5d3bb9..31d3146e6 100644 --- a/data/monster/quests/ferumbras_ascendant/disgusting_ooze.lua +++ b/data/monster/quests/ferumbras_ascendant/disgusting_ooze.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 6532 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "DisgustingOozeDeath" } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/ferumbras_essence.lua b/data/monster/quests/ferumbras_ascendant/ferumbras_essence.lua index a563d1bf2..af9821c7a 100644 --- a/data/monster/quests/ferumbras_ascendant/ferumbras_essence.lua +++ b/data/monster/quests/ferumbras_ascendant/ferumbras_essence.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 10508 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/lovely/lovely_deer.lua b/data/monster/quests/ferumbras_ascendant/lovely/lovely_deer.lua index 777594617..e9ef26251 100644 --- a/data/monster/quests/ferumbras_ascendant/lovely/lovely_deer.lua +++ b/data/monster/quests/ferumbras_ascendant/lovely/lovely_deer.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5970 monster.speed = 196 monster.manaCost = 260 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/lovely/lovely_frazzlemaw.lua b/data/monster/quests/ferumbras_ascendant/lovely/lovely_frazzlemaw.lua index 93ad38d65..5d12ba578 100644 --- a/data/monster/quests/ferumbras_ascendant/lovely/lovely_frazzlemaw.lua +++ b/data/monster/quests/ferumbras_ascendant/lovely/lovely_frazzlemaw.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 22567 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/lovely/lovely_polar_bear.lua b/data/monster/quests/ferumbras_ascendant/lovely/lovely_polar_bear.lua index 7e8e513c2..621468054 100644 --- a/data/monster/quests/ferumbras_ascendant/lovely/lovely_polar_bear.lua +++ b/data/monster/quests/ferumbras_ascendant/lovely/lovely_polar_bear.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5987 monster.speed = 156 monster.manaCost = 315 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/lovely/lovely_rotworm.lua b/data/monster/quests/ferumbras_ascendant/lovely/lovely_rotworm.lua index 3f5dd176b..4fe7b18a8 100644 --- a/data/monster/quests/ferumbras_ascendant/lovely/lovely_rotworm.lua +++ b/data/monster/quests/ferumbras_ascendant/lovely/lovely_rotworm.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5967 monster.speed = 116 monster.manaCost = 305 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/lovely/lovely_scorpion.lua b/data/monster/quests/ferumbras_ascendant/lovely/lovely_scorpion.lua index 50731ec84..1218d63be 100644 --- a/data/monster/quests/ferumbras_ascendant/lovely/lovely_scorpion.lua +++ b/data/monster/quests/ferumbras_ascendant/lovely/lovely_scorpion.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 5988 monster.speed = 150 monster.manaCost = 310 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/lovely/lovely_snake.lua b/data/monster/quests/ferumbras_ascendant/lovely/lovely_snake.lua index 129b2589b..03002fff4 100644 --- a/data/monster/quests/ferumbras_ascendant/lovely/lovely_snake.lua +++ b/data/monster/quests/ferumbras_ascendant/lovely/lovely_snake.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 2817 monster.speed = 120 monster.manaCost = 205 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/lovely/lovely_souleater.lua b/data/monster/quests/ferumbras_ascendant/lovely/lovely_souleater.lua index 8f6b47c6e..c0578c195 100644 --- a/data/monster/quests/ferumbras_ascendant/lovely/lovely_souleater.lua +++ b/data/monster/quests/ferumbras_ascendant/lovely/lovely_souleater.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 12631 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/lovely/lovely_yielothax.lua b/data/monster/quests/ferumbras_ascendant/lovely/lovely_yielothax.lua index c7877dc07..62f7fa250 100644 --- a/data/monster/quests/ferumbras_ascendant/lovely/lovely_yielothax.lua +++ b/data/monster/quests/ferumbras_ascendant/lovely/lovely_yielothax.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 13752 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/rage_of_mazoran.lua b/data/monster/quests/ferumbras_ascendant/rage_of_mazoran.lua index c47488140..a65049218 100644 --- a/data/monster/quests/ferumbras_ascendant/rage_of_mazoran.lua +++ b/data/monster/quests/ferumbras_ascendant/rage_of_mazoran.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 6324 monster.speed = 330 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/summons/enthralled_demon.lua b/data/monster/quests/ferumbras_ascendant/summons/enthralled_demon.lua index 064a3a43d..9c76a4a94 100644 --- a/data/monster/quests/ferumbras_ascendant/summons/enthralled_demon.lua +++ b/data/monster/quests/ferumbras_ascendant/summons/enthralled_demon.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 0 monster.speed = 256 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/summons/rift_fragment.lua b/data/monster/quests/ferumbras_ascendant/summons/rift_fragment.lua index f14348df3..f3a5d42cc 100644 --- a/data/monster/quests/ferumbras_ascendant/summons/rift_fragment.lua +++ b/data/monster/quests/ferumbras_ascendant/summons/rift_fragment.lua @@ -13,7 +13,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/summons/rift_invader.lua b/data/monster/quests/ferumbras_ascendant/summons/rift_invader.lua index a40a08434..912026e26 100644 --- a/data/monster/quests/ferumbras_ascendant/summons/rift_invader.lua +++ b/data/monster/quests/ferumbras_ascendant/summons/rift_invader.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 256 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "RiftInvaderDeath" } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/traps/bone_capsule.lua b/data/monster/quests/ferumbras_ascendant/traps/bone_capsule.lua index 7b115212e..26b02066b 100644 --- a/data/monster/quests/ferumbras_ascendant/traps/bone_capsule.lua +++ b/data/monster/quests/ferumbras_ascendant/traps/bone_capsule.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "BoneCapsule" } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/traps/despair.lua b/data/monster/quests/ferumbras_ascendant/traps/despair.lua index a3b817443..34e1d6acd 100644 --- a/data/monster/quests/ferumbras_ascendant/traps/despair.lua +++ b/data/monster/quests/ferumbras_ascendant/traps/despair.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/traps/electric_sparks.lua b/data/monster/quests/ferumbras_ascendant/traps/electric_sparks.lua index 5c93ae080..903e6cd62 100644 --- a/data/monster/quests/ferumbras_ascendant/traps/electric_sparks.lua +++ b/data/monster/quests/ferumbras_ascendant/traps/electric_sparks.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/traps/eruption_of_destruction.lua b/data/monster/quests/ferumbras_ascendant/traps/eruption_of_destruction.lua index 7de072ff4..23ebb8030 100644 --- a/data/monster/quests/ferumbras_ascendant/traps/eruption_of_destruction.lua +++ b/data/monster/quests/ferumbras_ascendant/traps/eruption_of_destruction.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 120 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/traps/guilt.lua b/data/monster/quests/ferumbras_ascendant/traps/guilt.lua index 2d95a9d1a..c0e1a0220 100644 --- a/data/monster/quests/ferumbras_ascendant/traps/guilt.lua +++ b/data/monster/quests/ferumbras_ascendant/traps/guilt.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/ferumbras_ascendant/traps/void.lua b/data/monster/quests/ferumbras_ascendant/traps/void.lua index c331be250..c3d2a8bdb 100644 --- a/data/monster/quests/ferumbras_ascendant/traps/void.lua +++ b/data/monster/quests/ferumbras_ascendant/traps/void.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 10 monster.changeTarget = { interval = 5000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -53,8 +51,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Enthralled Demon", chance = 25, interval = 2000, max = 10} +monster.summon = { + maxSummons = 10, + summons = { + {name = "Enthralled Demon", chance = 25, interval = 2000, count = 10} + } } monster.voices = { diff --git a/data/monster/quests/forgotten_knowledge/animated_sword.lua b/data/monster/quests/forgotten_knowledge/animated_sword.lua index 4bb0b72c4..a049d66b5 100644 --- a/data/monster/quests/forgotten_knowledge/animated_sword.lua +++ b/data/monster/quests/forgotten_knowledge/animated_sword.lua @@ -13,7 +13,6 @@ monster.race = "fire" monster.corpse = 0 monster.speed = 360 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/baby_dragon.lua b/data/monster/quests/forgotten_knowledge/baby_dragon.lua index f7067e547..bed581ff0 100644 --- a/data/monster/quests/forgotten_knowledge/baby_dragon.lua +++ b/data/monster/quests/forgotten_knowledge/baby_dragon.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7621 monster.speed = 176 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/bosses/dragonking_zyrtarch.lua b/data/monster/quests/forgotten_knowledge/bosses/dragonking_zyrtarch.lua index abf8249cc..fe0d18cc4 100644 --- a/data/monster/quests/forgotten_knowledge/bosses/dragonking_zyrtarch.lua +++ b/data/monster/quests/forgotten_knowledge/bosses/dragonking_zyrtarch.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 27733 monster.speed = 280 monster.manaCost = 290 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/bosses/lady_tenebris.lua b/data/monster/quests/forgotten_knowledge/bosses/lady_tenebris.lua index 703ef96f3..cb07ded11 100644 --- a/data/monster/quests/forgotten_knowledge/bosses/lady_tenebris.lua +++ b/data/monster/quests/forgotten_knowledge/bosses/lady_tenebris.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6560 monster.speed = 370 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "HealthForgotten" } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/bosses/lloyd.lua b/data/monster/quests/forgotten_knowledge/bosses/lloyd.lua index 5bd0c8b25..f05a7570d 100644 --- a/data/monster/quests/forgotten_knowledge/bosses/lloyd.lua +++ b/data/monster/quests/forgotten_knowledge/bosses/lloyd.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 27595 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "LloydPrepareDeath" } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/bosses/melting_frozen_horror.lua b/data/monster/quests/forgotten_knowledge/bosses/melting_frozen_horror.lua index f8ec7958a..7f35b72cc 100644 --- a/data/monster/quests/forgotten_knowledge/bosses/melting_frozen_horror.lua +++ b/data/monster/quests/forgotten_knowledge/bosses/melting_frozen_horror.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 7282 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/bosses/mounted_thorn_knight.lua b/data/monster/quests/forgotten_knowledge/bosses/mounted_thorn_knight.lua index 152ffcf11..41edd4dec 100644 --- a/data/monster/quests/forgotten_knowledge/bosses/mounted_thorn_knight.lua +++ b/data/monster/quests/forgotten_knowledge/bosses/mounted_thorn_knight.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 430 monster.manaCost = 290 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,12 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "ThornKnightDeath", + "HealthForgotten" } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/bosses/solid_frozen_horror.lua b/data/monster/quests/forgotten_knowledge/bosses/solid_frozen_horror.lua index e9edf99ab..80156bd7e 100644 --- a/data/monster/quests/forgotten_knowledge/bosses/solid_frozen_horror.lua +++ b/data/monster/quests/forgotten_knowledge/bosses/solid_frozen_horror.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 7282 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/bosses/soul_of_dragonking_zyrtarch.lua b/data/monster/quests/forgotten_knowledge/bosses/soul_of_dragonking_zyrtarch.lua index 33dbc8755..69f16538c 100644 --- a/data/monster/quests/forgotten_knowledge/bosses/soul_of_dragonking_zyrtarch.lua +++ b/data/monster/quests/forgotten_knowledge/bosses/soul_of_dragonking_zyrtarch.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 27733 monster.speed = 500 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/bosses/the_blazing_time_guardian.lua b/data/monster/quests/forgotten_knowledge/bosses/the_blazing_time_guardian.lua index b6296ce51..2895ea552 100644 --- a/data/monster/quests/forgotten_knowledge/bosses/the_blazing_time_guardian.lua +++ b/data/monster/quests/forgotten_knowledge/bosses/the_blazing_time_guardian.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 27753 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 8 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "time waster", chance = 3, interval = 2000, max = 8} +monster.summon = { + maxSummons = 8, + summons = { + {name = "time waster", chance = 3, interval = 2000, count = 8} + } } monster.voices = { diff --git a/data/monster/quests/forgotten_knowledge/bosses/the_enraged_thorn_knight.lua b/data/monster/quests/forgotten_knowledge/bosses/the_enraged_thorn_knight.lua index f112550bb..e9ae1d14e 100644 --- a/data/monster/quests/forgotten_knowledge/bosses/the_enraged_thorn_knight.lua +++ b/data/monster/quests/forgotten_knowledge/bosses/the_enraged_thorn_knight.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6080 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "HealthForgotten" } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/bosses/the_freezing_time_guardian.lua b/data/monster/quests/forgotten_knowledge/bosses/the_freezing_time_guardian.lua index 03bdafc36..ab9d84877 100644 --- a/data/monster/quests/forgotten_knowledge/bosses/the_freezing_time_guardian.lua +++ b/data/monster/quests/forgotten_knowledge/bosses/the_freezing_time_guardian.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 27753 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/bosses/the_last_lore_keeper.lua b/data/monster/quests/forgotten_knowledge/bosses/the_last_lore_keeper.lua index c3c0caa3f..5894ef7bb 100644 --- a/data/monster/quests/forgotten_knowledge/bosses/the_last_lore_keeper.lua +++ b/data/monster/quests/forgotten_knowledge/bosses/the_last_lore_keeper.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 450 monster.manaCost = 0 -monster.maxSummons = 6 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "sword of vengeance", chance = 50, interval = 2000} +monster.summon = { + maxSummons = 6, + summons = { + {name = "sword of vengeance", chance = 50, interval = 2000, count = 6} + } } monster.voices = { diff --git a/data/monster/quests/forgotten_knowledge/bosses/the_shielded_thorn_knight.lua b/data/monster/quests/forgotten_knowledge/bosses/the_shielded_thorn_knight.lua index aebd7eb22..8d3839f27 100644 --- a/data/monster/quests/forgotten_knowledge/bosses/the_shielded_thorn_knight.lua +++ b/data/monster/quests/forgotten_knowledge/bosses/the_shielded_thorn_knight.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 390 monster.manaCost = 290 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,12 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "ThornKnightDeath", + "HealthForgotten" } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/bosses/the_time_guardian.lua b/data/monster/quests/forgotten_knowledge/bosses/the_time_guardian.lua index c362fc95f..19caa2213 100644 --- a/data/monster/quests/forgotten_knowledge/bosses/the_time_guardian.lua +++ b/data/monster/quests/forgotten_knowledge/bosses/the_time_guardian.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 27753 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/bosses/thorn_steed.lua b/data/monster/quests/forgotten_knowledge/bosses/thorn_steed.lua index 7eae90eb7..0b766be40 100644 --- a/data/monster/quests/forgotten_knowledge/bosses/thorn_steed.lua +++ b/data/monster/quests/forgotten_knowledge/bosses/thorn_steed.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 350 monster.manaCost = 290 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/bound_astral_power.lua b/data/monster/quests/forgotten_knowledge/bound_astral_power.lua index e1a3050e7..f44c35674 100644 --- a/data/monster/quests/forgotten_knowledge/bound_astral_power.lua +++ b/data/monster/quests/forgotten_knowledge/bound_astral_power.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/corrupted_soul.lua b/data/monster/quests/forgotten_knowledge/corrupted_soul.lua index 8a6833731..b45649ad8 100644 --- a/data/monster/quests/forgotten_knowledge/corrupted_soul.lua +++ b/data/monster/quests/forgotten_knowledge/corrupted_soul.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "CorruptedSoul" } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/cosmic_energy_prism_a.lua b/data/monster/quests/forgotten_knowledge/cosmic_energy_prism_a.lua index ddda1eb6f..4cb51d55f 100644 --- a/data/monster/quests/forgotten_knowledge/cosmic_energy_prism_a.lua +++ b/data/monster/quests/forgotten_knowledge/cosmic_energy_prism_a.lua @@ -13,7 +13,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -41,8 +40,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "EnergyPrism" } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/cosmic_energy_prism_b.lua b/data/monster/quests/forgotten_knowledge/cosmic_energy_prism_b.lua index 8397b580e..60834d98d 100644 --- a/data/monster/quests/forgotten_knowledge/cosmic_energy_prism_b.lua +++ b/data/monster/quests/forgotten_knowledge/cosmic_energy_prism_b.lua @@ -13,7 +13,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -41,8 +40,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "EnergyPrism" } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/cosmic_energy_prism_c.lua b/data/monster/quests/forgotten_knowledge/cosmic_energy_prism_c.lua index ebb049e60..d126206c5 100644 --- a/data/monster/quests/forgotten_knowledge/cosmic_energy_prism_c.lua +++ b/data/monster/quests/forgotten_knowledge/cosmic_energy_prism_c.lua @@ -13,7 +13,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -41,8 +40,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "EnergyPrism" } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/cosmic_energy_prism_d.lua b/data/monster/quests/forgotten_knowledge/cosmic_energy_prism_d.lua index 46c5a5624..f73d4a8a9 100644 --- a/data/monster/quests/forgotten_knowledge/cosmic_energy_prism_d.lua +++ b/data/monster/quests/forgotten_knowledge/cosmic_energy_prism_d.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -41,8 +40,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "EnergyPrism" } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/dragon_egg.lua b/data/monster/quests/forgotten_knowledge/dragon_egg.lua index e9a131d21..057051a53 100644 --- a/data/monster/quests/forgotten_knowledge/dragon_egg.lua +++ b/data/monster/quests/forgotten_knowledge/dragon_egg.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -41,8 +40,12 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "DragonEggPrepareDeath", + "DragonEggHealthChange" } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/dragon_servant.lua b/data/monster/quests/forgotten_knowledge/dragon_servant.lua index 198e79dfa..9d58183e6 100644 --- a/data/monster/quests/forgotten_knowledge/dragon_servant.lua +++ b/data/monster/quests/forgotten_knowledge/dragon_servant.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5984 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/frozen_man.lua b/data/monster/quests/forgotten_knowledge/frozen_man.lua index 657d59063..a6c9a0039 100644 --- a/data/monster/quests/forgotten_knowledge/frozen_man.lua +++ b/data/monster/quests/forgotten_knowledge/frozen_man.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/frozen_minion.lua b/data/monster/quests/forgotten_knowledge/frozen_minion.lua index 17cb90737..91a073372 100644 --- a/data/monster/quests/forgotten_knowledge/frozen_minion.lua +++ b/data/monster/quests/forgotten_knowledge/frozen_minion.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5998 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/icicle.lua b/data/monster/quests/forgotten_knowledge/icicle.lua index 4e7b49e3c..3b6fbeaaa 100644 --- a/data/monster/quests/forgotten_knowledge/icicle.lua +++ b/data/monster/quests/forgotten_knowledge/icicle.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 2253 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/lost_time.lua b/data/monster/quests/forgotten_knowledge/lost_time.lua index ea2a801cb..f95a031f3 100644 --- a/data/monster/quests/forgotten_knowledge/lost_time.lua +++ b/data/monster/quests/forgotten_knowledge/lost_time.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 160 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/possessed_tree.lua b/data/monster/quests/forgotten_knowledge/possessed_tree.lua index d7ed8abd5..cc6cc0cdd 100644 --- a/data/monster/quests/forgotten_knowledge/possessed_tree.lua +++ b/data/monster/quests/forgotten_knowledge/possessed_tree.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "PossessedTree" } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/shadow_fiend.lua b/data/monster/quests/forgotten_knowledge/shadow_fiend.lua index 3cf0083dd..6d02bc5c0 100644 --- a/data/monster/quests/forgotten_knowledge/shadow_fiend.lua +++ b/data/monster/quests/forgotten_knowledge/shadow_fiend.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 26924 monster.speed = 360 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 10, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/shadow_tentacle.lua b/data/monster/quests/forgotten_knowledge/shadow_tentacle.lua index 07d0c29b7..fad5361d3 100644 --- a/data/monster/quests/forgotten_knowledge/shadow_tentacle.lua +++ b/data/monster/quests/forgotten_knowledge/shadow_tentacle.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 26924 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/soulcatcher.lua b/data/monster/quests/forgotten_knowledge/soulcatcher.lua index 4cffa5b43..44a3c0749 100644 --- a/data/monster/quests/forgotten_knowledge/soulcatcher.lua +++ b/data/monster/quests/forgotten_knowledge/soulcatcher.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/sword_of_vegeance.lua b/data/monster/quests/forgotten_knowledge/sword_of_vegeance.lua index ca394b74a..61af9f297 100644 --- a/data/monster/quests/forgotten_knowledge/sword_of_vegeance.lua +++ b/data/monster/quests/forgotten_knowledge/sword_of_vegeance.lua @@ -13,7 +13,6 @@ monster.race = "fire" monster.corpse = 0 monster.speed = 360 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/sword_of_vengeance.lua b/data/monster/quests/forgotten_knowledge/sword_of_vengeance.lua index 20b96adb4..af652957e 100644 --- a/data/monster/quests/forgotten_knowledge/sword_of_vengeance.lua +++ b/data/monster/quests/forgotten_knowledge/sword_of_vengeance.lua @@ -13,7 +13,6 @@ monster.race = "fire" monster.corpse = 0 monster.speed = 360 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/the_distorted_astral_source.lua b/data/monster/quests/forgotten_knowledge/the_distorted_astral_source.lua index 97e207520..8cbffad94 100644 --- a/data/monster/quests/forgotten_knowledge/the_distorted_astral_source.lua +++ b/data/monster/quests/forgotten_knowledge/the_distorted_astral_source.lua @@ -13,7 +13,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 0 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -44,8 +43,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "DistortedSource" } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/thorn_minion.lua b/data/monster/quests/forgotten_knowledge/thorn_minion.lua index 4fa56df6f..35a808e53 100644 --- a/data/monster/quests/forgotten_knowledge/thorn_minion.lua +++ b/data/monster/quests/forgotten_knowledge/thorn_minion.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 150 monster.manaCost = 290 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/time_keeper.lua b/data/monster/quests/forgotten_knowledge/time_keeper.lua index 226d4077f..551157e39 100644 --- a/data/monster/quests/forgotten_knowledge/time_keeper.lua +++ b/data/monster/quests/forgotten_knowledge/time_keeper.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 160 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/time_waster.lua b/data/monster/quests/forgotten_knowledge/time_waster.lua index 91645a6e8..b85b17ba3 100644 --- a/data/monster/quests/forgotten_knowledge/time_waster.lua +++ b/data/monster/quests/forgotten_knowledge/time_waster.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 100 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/unbound_blightwalker.lua b/data/monster/quests/forgotten_knowledge/unbound_blightwalker.lua index 2eeaf7365..0a4037b70 100644 --- a/data/monster/quests/forgotten_knowledge/unbound_blightwalker.lua +++ b/data/monster/quests/forgotten_knowledge/unbound_blightwalker.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6354 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/unbound_defiler.lua b/data/monster/quests/forgotten_knowledge/unbound_defiler.lua index 569a808c9..4f8ac1529 100644 --- a/data/monster/quests/forgotten_knowledge/unbound_defiler.lua +++ b/data/monster/quests/forgotten_knowledge/unbound_defiler.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 6532 monster.speed = 160 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/unbound_demon.lua b/data/monster/quests/forgotten_knowledge/unbound_demon.lua index 45dfa1e80..973de4c36 100644 --- a/data/monster/quests/forgotten_knowledge/unbound_demon.lua +++ b/data/monster/quests/forgotten_knowledge/unbound_demon.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 5995 monster.speed = 256 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/forgotten_knowledge/unbound_demon_outcast.lua b/data/monster/quests/forgotten_knowledge/unbound_demon_outcast.lua index 084133417..0702e4bbb 100644 --- a/data/monster/quests/forgotten_knowledge/unbound_demon_outcast.lua +++ b/data/monster/quests/forgotten_knowledge/unbound_demon_outcast.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 22549 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -56,8 +54,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "energy elemental", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "energy elemental", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/grave_danger/black_cobra.lua b/data/monster/quests/grave_danger/black_cobra.lua index 1017159d7..0ed5a9dbb 100644 --- a/data/monster/quests/grave_danger/black_cobra.lua +++ b/data/monster/quests/grave_danger/black_cobra.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/grave_danger/bosses/count_vlarkorth.lua b/data/monster/quests/grave_danger/bosses/count_vlarkorth.lua index 4d3470c5b..4865f36e9 100644 --- a/data/monster/quests/grave_danger/bosses/count_vlarkorth.lua +++ b/data/monster/quests/grave_danger/bosses/count_vlarkorth.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 36434 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 6 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -56,8 +54,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Soulless Minion", chance = 70, interval = 1800} +monster.summon = { + maxSummons = 6, + summons = { + {name = "Soulless Minion", chance = 70, interval = 1800, count = 6} + } } monster.voices = { diff --git a/data/monster/quests/grave_danger/bosses/duke_krule.lua b/data/monster/quests/grave_danger/bosses/duke_krule.lua index 1159b2b37..1a65bfb95 100644 --- a/data/monster/quests/grave_danger/bosses/duke_krule.lua +++ b/data/monster/quests/grave_danger/bosses/duke_krule.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 36434 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/grave_danger/bosses/earl_osam.lua b/data/monster/quests/grave_danger/bosses/earl_osam.lua index a142244d9..30244e216 100644 --- a/data/monster/quests/grave_danger/bosses/earl_osam.lua +++ b/data/monster/quests/grave_danger/bosses/earl_osam.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 36434 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 5 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -56,8 +54,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Frozen Soul", chance = 20, interval = 2000} +monster.summon = { + maxSummons = 5, + summons = { + {name = "Frozen Soul", chance = 20, interval = 2000, count = 5} + } } monster.voices = { diff --git a/data/monster/quests/grave_danger/bosses/king_zelos.lua b/data/monster/quests/grave_danger/bosses/king_zelos.lua index e9454317a..57f403d0e 100644 --- a/data/monster/quests/grave_danger/bosses/king_zelos.lua +++ b/data/monster/quests/grave_danger/bosses/king_zelos.lua @@ -18,7 +18,6 @@ monster.maxHealth = monster.health monster.race = "venom" monster.corpse = 36443 monster.speed = 425 -monster.maxSummons = 6 monster.changeTarget = { interval = 4000, @@ -41,8 +40,7 @@ monster.flags = { healthHidden = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.loot = { diff --git a/data/monster/quests/grave_danger/bosses/lord_azaram.lua b/data/monster/quests/grave_danger/bosses/lord_azaram.lua index bb1897b7c..b3b787751 100644 --- a/data/monster/quests/grave_danger/bosses/lord_azaram.lua +++ b/data/monster/quests/grave_danger/bosses/lord_azaram.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 36434 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -56,8 +54,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Condensed Sins", chance = 50, interval = 2000} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Condensed Sins", chance = 50, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/quests/grave_danger/bosses/scarlett_etzel.lua b/data/monster/quests/grave_danger/bosses/scarlett_etzel.lua index ded453581..92618eca7 100644 --- a/data/monster/quests/grave_danger/bosses/scarlett_etzel.lua +++ b/data/monster/quests/grave_danger/bosses/scarlett_etzel.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 36288 monster.speed = 175 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/grave_danger/bosses/sir_baeloc.lua b/data/monster/quests/grave_danger/bosses/sir_baeloc.lua index 91262f127..d0961670c 100644 --- a/data/monster/quests/grave_danger/bosses/sir_baeloc.lua +++ b/data/monster/quests/grave_danger/bosses/sir_baeloc.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 36434 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 6 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -56,8 +54,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Retainer of Baeloc", chance = 20, interval = 2000} +monster.summon = { + maxSummons = 6, + summons = { + {name = "Retainer of Baeloc", chance = 20, interval = 2000, count = 6} + } } monster.voices = { diff --git a/data/monster/quests/grave_danger/bosses/sir_nictros.lua b/data/monster/quests/grave_danger/bosses/sir_nictros.lua index 0bdc0865d..5cc6b836f 100644 --- a/data/monster/quests/grave_danger/bosses/sir_nictros.lua +++ b/data/monster/quests/grave_danger/bosses/sir_nictros.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 36434 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "Sir_Baeloc_Sir_NictrosCharge" } monster.light = { diff --git a/data/monster/quests/grave_danger/cart_packed_with_gold.lua b/data/monster/quests/grave_danger/cart_packed_with_gold.lua index 323e4a463..42fdce4a0 100644 --- a/data/monster/quests/grave_danger/cart_packed_with_gold.lua +++ b/data/monster/quests/grave_danger/cart_packed_with_gold.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 36093 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/grave_danger/condensed_sins.lua b/data/monster/quests/grave_danger/condensed_sins.lua index 1b8bb2a13..e2499182d 100644 --- a/data/monster/quests/grave_danger/condensed_sins.lua +++ b/data/monster/quests/grave_danger/condensed_sins.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 9960 monster.speed = 160 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/grave_danger/dark_druid.lua b/data/monster/quests/grave_danger/dark_druid.lua index cf0aa7b77..af578dd00 100644 --- a/data/monster/quests/grave_danger/dark_druid.lua +++ b/data/monster/quests/grave_danger/dark_druid.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/grave_danger/dark_knight.lua b/data/monster/quests/grave_danger/dark_knight.lua index c76bae9e0..31293aab3 100644 --- a/data/monster/quests/grave_danger/dark_knight.lua +++ b/data/monster/quests/grave_danger/dark_knight.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/grave_danger/dark_paladin.lua b/data/monster/quests/grave_danger/dark_paladin.lua index 33693336a..a8632b188 100644 --- a/data/monster/quests/grave_danger/dark_paladin.lua +++ b/data/monster/quests/grave_danger/dark_paladin.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/grave_danger/dark_sorcerer.lua b/data/monster/quests/grave_danger/dark_sorcerer.lua index 9ee766d56..b2b63805d 100644 --- a/data/monster/quests/grave_danger/dark_sorcerer.lua +++ b/data/monster/quests/grave_danger/dark_sorcerer.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/grave_danger/fetter.lua b/data/monster/quests/grave_danger/fetter.lua index a2ba49831..7593b1b2c 100644 --- a/data/monster/quests/grave_danger/fetter.lua +++ b/data/monster/quests/grave_danger/fetter.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/grave_danger/retainer_of_baeloc.lua b/data/monster/quests/grave_danger/retainer_of_baeloc.lua index bd7b30556..cf83c4fb6 100644 --- a/data/monster/quests/grave_danger/retainer_of_baeloc.lua +++ b/data/monster/quests/grave_danger/retainer_of_baeloc.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 170 monster.manaCost = 580 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/grave_danger/risen_soldier.lua b/data/monster/quests/grave_danger/risen_soldier.lua index 548689ed5..ebfb1b37d 100644 --- a/data/monster/quests/grave_danger/risen_soldier.lua +++ b/data/monster/quests/grave_danger/risen_soldier.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/grave_danger/shard_of_magnor.lua b/data/monster/quests/grave_danger/shard_of_magnor.lua index ff7cd1e19..cbd00f974 100644 --- a/data/monster/quests/grave_danger/shard_of_magnor.lua +++ b/data/monster/quests/grave_danger/shard_of_magnor.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/grave_danger/soulless_minion.lua b/data/monster/quests/grave_danger/soulless_minion.lua index c7c013121..5421f78d5 100644 --- a/data/monster/quests/grave_danger/soulless_minion.lua +++ b/data/monster/quests/grave_danger/soulless_minion.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6006 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/grave_danger/squire_of_nictros.lua b/data/monster/quests/grave_danger/squire_of_nictros.lua index 8c8b5ca31..e214dd743 100644 --- a/data/monster/quests/grave_danger/squire_of_nictros.lua +++ b/data/monster/quests/grave_danger/squire_of_nictros.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/grave_danger/vampiric_blood.lua b/data/monster/quests/grave_danger/vampiric_blood.lua index bc90e8bf8..c41473487 100644 --- a/data/monster/quests/grave_danger/vampiric_blood.lua +++ b/data/monster/quests/grave_danger/vampiric_blood.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 0 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/aftershock.lua b/data/monster/quests/heart_of_destruction/aftershock.lua index 0a875e44b..f160f446a 100644 --- a/data/monster/quests/heart_of_destruction/aftershock.lua +++ b/data/monster/quests/heart_of_destruction/aftershock.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 380 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 3000, @@ -50,8 +49,12 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "ShocksDeath", + "AftershockTransform" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/anomaly.lua b/data/monster/quests/heart_of_destruction/anomaly.lua index cf035d4ac..b9d89843d 100644 --- a/data/monster/quests/heart_of_destruction/anomaly.lua +++ b/data/monster/quests/heart_of_destruction/anomaly.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 26220 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,12 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "AnomalyTransform", + "HeartBossDeath" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/charged_anomaly.lua b/data/monster/quests/heart_of_destruction/charged_anomaly.lua index bdf91975c..6a1ab6d57 100644 --- a/data/monster/quests/heart_of_destruction/charged_anomaly.lua +++ b/data/monster/quests/heart_of_destruction/charged_anomaly.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 100 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "ChargedAnomalyDeath" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/charged_disruption.lua b/data/monster/quests/heart_of_destruction/charged_disruption.lua index 802d83a5a..199e02fff 100644 --- a/data/monster/quests/heart_of_destruction/charged_disruption.lua +++ b/data/monster/quests/heart_of_destruction/charged_disruption.lua @@ -13,7 +13,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 360 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -44,8 +43,12 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "ChargedDisruptionTransform", + "HeartMinionDeath" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/charger.lua b/data/monster/quests/heart_of_destruction/charger.lua index 3b06d3296..6ecb58894 100644 --- a/data/monster/quests/heart_of_destruction/charger.lua +++ b/data/monster/quests/heart_of_destruction/charger.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "ChargerSpawn" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/charging_outburst.lua b/data/monster/quests/heart_of_destruction/charging_outburst.lua index 5fdf156c8..7dec9c526 100644 --- a/data/monster/quests/heart_of_destruction/charging_outburst.lua +++ b/data/monster/quests/heart_of_destruction/charging_outburst.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "ChargingOutDeath" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/crackler.lua b/data/monster/quests/heart_of_destruction/crackler.lua index cad3085ab..e50f39ab9 100644 --- a/data/monster/quests/heart_of_destruction/crackler.lua +++ b/data/monster/quests/heart_of_destruction/crackler.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "CracklerTransform" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/damage_resonance.lua b/data/monster/quests/heart_of_destruction/damage_resonance.lua index 358723e9a..3be412cd3 100644 --- a/data/monster/quests/heart_of_destruction/damage_resonance.lua +++ b/data/monster/quests/heart_of_destruction/damage_resonance.lua @@ -13,7 +13,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 500 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -44,8 +43,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "HeartMinionDeath" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/depolarized_crackler.lua b/data/monster/quests/heart_of_destruction/depolarized_crackler.lua index 963f1f232..fba82e676 100644 --- a/data/monster/quests/heart_of_destruction/depolarized_crackler.lua +++ b/data/monster/quests/heart_of_destruction/depolarized_crackler.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 360 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,12 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "DepolarizedTransform", + "DepolarizedDeath" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/disruption.lua b/data/monster/quests/heart_of_destruction/disruption.lua index c205ff623..102d5e6d5 100644 --- a/data/monster/quests/heart_of_destruction/disruption.lua +++ b/data/monster/quests/heart_of_destruction/disruption.lua @@ -13,7 +13,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -44,8 +43,12 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "DisruptionTransform", + "HeartMinionDeath" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/eradicator.lua b/data/monster/quests/heart_of_destruction/eradicator.lua index 069ce16aa..04f1b111b 100644 --- a/data/monster/quests/heart_of_destruction/eradicator.lua +++ b/data/monster/quests/heart_of_destruction/eradicator.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 26220 monster.speed = 450 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,12 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "HeartBossDeath", + "EradicatorTransform" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/eradicator2.lua b/data/monster/quests/heart_of_destruction/eradicator2.lua index f8c8e2be7..9bb41c55f 100644 --- a/data/monster/quests/heart_of_destruction/eradicator2.lua +++ b/data/monster/quests/heart_of_destruction/eradicator2.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 26220 monster.speed = 450 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,12 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "HeartBossDeath", + "EradicatorTransform" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/foreshock.lua b/data/monster/quests/heart_of_destruction/foreshock.lua index 393492d0f..06e6338a0 100644 --- a/data/monster/quests/heart_of_destruction/foreshock.lua +++ b/data/monster/quests/heart_of_destruction/foreshock.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 380 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 3000, @@ -50,8 +49,12 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "ShocksDeath", + "ForeshockTransform" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/frenzy.lua b/data/monster/quests/heart_of_destruction/frenzy.lua index c0246ee73..4a429a1f7 100644 --- a/data/monster/quests/heart_of_destruction/frenzy.lua +++ b/data/monster/quests/heart_of_destruction/frenzy.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 380 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "HeartMinionDeath" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/greed.lua b/data/monster/quests/heart_of_destruction/greed.lua index ff6a74214..952345d63 100644 --- a/data/monster/quests/heart_of_destruction/greed.lua +++ b/data/monster/quests/heart_of_destruction/greed.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 380 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/outburst.lua b/data/monster/quests/heart_of_destruction/outburst.lua index 3883b99c0..95826fd56 100644 --- a/data/monster/quests/heart_of_destruction/outburst.lua +++ b/data/monster/quests/heart_of_destruction/outburst.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 26220 monster.speed = 500 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,12 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "HeartBossDeath", + "OutburstCharge" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/overcharge.lua b/data/monster/quests/heart_of_destruction/overcharge.lua index b0cb76bfd..8be56130d 100644 --- a/data/monster/quests/heart_of_destruction/overcharge.lua +++ b/data/monster/quests/heart_of_destruction/overcharge.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 360 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "OverchargeDeath" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/overcharged_disruption.lua b/data/monster/quests/heart_of_destruction/overcharged_disruption.lua index 72fc6ec5a..c0fe2c6d7 100644 --- a/data/monster/quests/heart_of_destruction/overcharged_disruption.lua +++ b/data/monster/quests/heart_of_destruction/overcharged_disruption.lua @@ -13,7 +13,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 380 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -44,8 +43,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "HeartMinionDeath" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/realityquake.lua b/data/monster/quests/heart_of_destruction/realityquake.lua index a49be30c4..6da0fd334 100644 --- a/data/monster/quests/heart_of_destruction/realityquake.lua +++ b/data/monster/quests/heart_of_destruction/realityquake.lua @@ -13,7 +13,6 @@ monster.race = "venom" monster.corpse = 26223 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 3000, @@ -44,8 +43,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "HeartBossDeath" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/rupture.lua b/data/monster/quests/heart_of_destruction/rupture.lua index bd7b3cfeb..8c509b754 100644 --- a/data/monster/quests/heart_of_destruction/rupture.lua +++ b/data/monster/quests/heart_of_destruction/rupture.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 26220 monster.speed = 450 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,13 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "RuptureResonance", + "RuptureHeal", + "HeartBossDeath" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/spark_of_destruction.lua b/data/monster/quests/heart_of_destruction/spark_of_destruction.lua index d8d309f56..700e7af84 100644 --- a/data/monster/quests/heart_of_destruction/spark_of_destruction.lua +++ b/data/monster/quests/heart_of_destruction/spark_of_destruction.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 3000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/the_destruction.lua b/data/monster/quests/heart_of_destruction/the_destruction.lua index a5f1a8277..f346339ad 100644 --- a/data/monster/quests/heart_of_destruction/the_destruction.lua +++ b/data/monster/quests/heart_of_destruction/the_destruction.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "HeartMinionDeath" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/the_hunger.lua b/data/monster/quests/heart_of_destruction/the_hunger.lua index 4adac7002..080a033ec 100644 --- a/data/monster/quests/heart_of_destruction/the_hunger.lua +++ b/data/monster/quests/heart_of_destruction/the_hunger.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "HeartMinionDeath" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/the_rage.lua b/data/monster/quests/heart_of_destruction/the_rage.lua index 5d8fb0c84..22449cd62 100644 --- a/data/monster/quests/heart_of_destruction/the_rage.lua +++ b/data/monster/quests/heart_of_destruction/the_rage.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "HeartMinionDeath" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/unstable_spark.lua b/data/monster/quests/heart_of_destruction/unstable_spark.lua index cb68ee0bf..a895e96e5 100644 --- a/data/monster/quests/heart_of_destruction/unstable_spark.lua +++ b/data/monster/quests/heart_of_destruction/unstable_spark.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 278 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "SparkDeath" } monster.light = { diff --git a/data/monster/quests/heart_of_destruction/world_devourer.lua b/data/monster/quests/heart_of_destruction/world_devourer.lua index 3006f65c2..d20db0fc5 100644 --- a/data/monster/quests/heart_of_destruction/world_devourer.lua +++ b/data/monster/quests/heart_of_destruction/world_devourer.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 450 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "HeartBossDeath" } monster.light = { diff --git a/data/monster/quests/hero_of_rathleton/deep_terror.lua b/data/monster/quests/hero_of_rathleton/deep_terror.lua index 27120325c..5f2bf607a 100644 --- a/data/monster/quests/hero_of_rathleton/deep_terror.lua +++ b/data/monster/quests/hero_of_rathleton/deep_terror.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 24269 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/hero_of_rathleton/empowered_glooth_horror.lua b/data/monster/quests/hero_of_rathleton/empowered_glooth_horror.lua index 33865e5cc..a56925eb6 100644 --- a/data/monster/quests/hero_of_rathleton/empowered_glooth_horror.lua +++ b/data/monster/quests/hero_of_rathleton/empowered_glooth_horror.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 24276 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "GloothHorror" } monster.light = { diff --git a/data/monster/quests/hero_of_rathleton/energy_pulse.lua b/data/monster/quests/hero_of_rathleton/energy_pulse.lua index 9a8d939f7..b9d2b03fc 100644 --- a/data/monster/quests/hero_of_rathleton/energy_pulse.lua +++ b/data/monster/quests/hero_of_rathleton/energy_pulse.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 10508 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/hero_of_rathleton/feeble_glooth_horror.lua b/data/monster/quests/hero_of_rathleton/feeble_glooth_horror.lua index 13f8b0012..d2a106e78 100644 --- a/data/monster/quests/hero_of_rathleton/feeble_glooth_horror.lua +++ b/data/monster/quests/hero_of_rathleton/feeble_glooth_horror.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "GloothHorror" } monster.light = { diff --git a/data/monster/quests/hero_of_rathleton/glooth-generator.lua b/data/monster/quests/hero_of_rathleton/glooth-generator.lua index 50c09a0ad..707c558e0 100644 --- a/data/monster/quests/hero_of_rathleton/glooth-generator.lua +++ b/data/monster/quests/hero_of_rathleton/glooth-generator.lua @@ -13,7 +13,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/hero_of_rathleton/glooth_horror.lua b/data/monster/quests/hero_of_rathleton/glooth_horror.lua index be75e3a54..4f3f33046 100644 --- a/data/monster/quests/hero_of_rathleton/glooth_horror.lua +++ b/data/monster/quests/hero_of_rathleton/glooth_horror.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "GloothHorror" } monster.light = { diff --git a/data/monster/quests/hero_of_rathleton/glooth_masher.lua b/data/monster/quests/hero_of_rathleton/glooth_masher.lua index 0cabc360d..cb5c38ef9 100644 --- a/data/monster/quests/hero_of_rathleton/glooth_masher.lua +++ b/data/monster/quests/hero_of_rathleton/glooth_masher.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 23343 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/hero_of_rathleton/glooth_slasher.lua b/data/monster/quests/hero_of_rathleton/glooth_slasher.lua index 1c3191c16..8c5f10da6 100644 --- a/data/monster/quests/hero_of_rathleton/glooth_slasher.lua +++ b/data/monster/quests/hero_of_rathleton/glooth_slasher.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 23343 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/hero_of_rathleton/glooth_trasher.lua b/data/monster/quests/hero_of_rathleton/glooth_trasher.lua index c83c44127..d4a63792f 100644 --- a/data/monster/quests/hero_of_rathleton/glooth_trasher.lua +++ b/data/monster/quests/hero_of_rathleton/glooth_trasher.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 23343 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/hero_of_rathleton/professor_maxxen.lua b/data/monster/quests/hero_of_rathleton/professor_maxxen.lua index 64d1b58c1..f5b45e63f 100644 --- a/data/monster/quests/hero_of_rathleton/professor_maxxen.lua +++ b/data/monster/quests/hero_of_rathleton/professor_maxxen.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 24279 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 8 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -59,11 +57,14 @@ monster.light = { color = 0 } -monster.summons = { - {name = "walker", chance = 10, interval = 2000}, - {name = "glooth trasher", chance = 10, interval = 2000}, - {name = "glooth smasher", chance = 10, interval = 2000}, - {name = "glooth slasher", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 8, + summons = { + {name = "walker", chance = 10, interval = 2000, count = 2}, + {name = "glooth trasher", chance = 10, interval = 2000, count = 2}, + {name = "glooth smasher", chance = 10, interval = 2000, count = 2}, + {name = "glooth slasher", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/hero_of_rathleton/strong_glooth_horror.lua b/data/monster/quests/hero_of_rathleton/strong_glooth_horror.lua index 615a48917..4a2ff998a 100644 --- a/data/monster/quests/hero_of_rathleton/strong_glooth_horror.lua +++ b/data/monster/quests/hero_of_rathleton/strong_glooth_horror.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "GloothHorror" } monster.light = { diff --git a/data/monster/quests/hero_of_rathleton/tentacle_of_the_deep_terror.lua b/data/monster/quests/hero_of_rathleton/tentacle_of_the_deep_terror.lua index 1fb40bc9a..8c1f0e873 100644 --- a/data/monster/quests/hero_of_rathleton/tentacle_of_the_deep_terror.lua +++ b/data/monster/quests/hero_of_rathleton/tentacle_of_the_deep_terror.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "TentacleDeep" } monster.light = { diff --git a/data/monster/quests/hero_of_rathleton/weakened_glooth_horror.lua b/data/monster/quests/hero_of_rathleton/weakened_glooth_horror.lua index d0e838a58..20b7dc72c 100644 --- a/data/monster/quests/hero_of_rathleton/weakened_glooth_horror.lua +++ b/data/monster/quests/hero_of_rathleton/weakened_glooth_horror.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "GloothHorror" } monster.light = { diff --git a/data/monster/quests/hidden_threats/cave_spider.lua b/data/monster/quests/hidden_threats/cave_spider.lua index 684bfb5d4..c59dbb8bd 100644 --- a/data/monster/quests/hidden_threats/cave_spider.lua +++ b/data/monster/quests/hidden_threats/cave_spider.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 32053 monster.speed = 120 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -56,8 +54,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Poison Spider", chance = 10, interval = 2000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Poison Spider", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/in_service_of_yalahar/azerus.lua b/data/monster/quests/in_service_of_yalahar/azerus.lua index 09413aaff..054ad1919 100644 --- a/data/monster/quests/in_service_of_yalahar/azerus.lua +++ b/data/monster/quests/in_service_of_yalahar/azerus.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 286 monster.manaCost = 0 -monster.maxSummons = 10 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,11 +57,14 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Rift Worm", interval = 30, chance = 3000, max = 8}, - {name = "Rift Brood", interval = 30, chance = 3000, max = 8}, - {name = "Rift Scythe", interval = 30, chance = 3000, max = 8}, - {name = "War Golem", interval = 30, chance = 3000, max = 5} +monster.summon = { + maxSummons = 10, + summons = { + {name = "Rift Worm", interval = 30, chance = 3000, count = 8}, + {name = "Rift Brood", interval = 30, chance = 3000, count = 8}, + {name = "Rift Scythe", interval = 30, chance = 3000, count = 8}, + {name = "War Golem", interval = 30, chance = 3000, count = 5} + } } monster.voices = { diff --git a/data/monster/quests/in_service_of_yalahar/azerus2.lua b/data/monster/quests/in_service_of_yalahar/azerus2.lua index 3f4053633..2346d8b5f 100644 --- a/data/monster/quests/in_service_of_yalahar/azerus2.lua +++ b/data/monster/quests/in_service_of_yalahar/azerus2.lua @@ -20,7 +20,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 286 monster.manaCost = 0 -monster.maxSummons = 10 monster.changeTarget = { interval = 5000, @@ -51,8 +50,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -60,11 +58,14 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Rift Worm", chance = 30, interval = 3000, max = 8}, - {name = "Rift Brood", chance = 30, interval = 3000, max = 8}, - {name = "Rift Scythe", chance = 30, interval = 3000, max = 8}, - {name = "War Golem", chance = 30, interval = 3000, max = 5} +monster.summon = { + maxSummons = 10, + summons = { + {name = "Rift Worm", chance = 30, interval = 3000, count = 8}, + {name = "Rift Brood", chance = 30, interval = 3000, count = 8}, + {name = "Rift Scythe", chance = 30, interval = 3000, count = 8}, + {name = "War Golem", chance = 30, interval = 3000, count = 5} + } } monster.voices = { diff --git a/data/monster/quests/in_service_of_yalahar/inky.lua b/data/monster/quests/in_service_of_yalahar/inky.lua index 630b1185b..7bf7d7a00 100644 --- a/data/monster/quests/in_service_of_yalahar/inky.lua +++ b/data/monster/quests/in_service_of_yalahar/inky.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6065 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/in_service_of_yalahar/rift_brood.lua b/data/monster/quests/in_service_of_yalahar/rift_brood.lua index d1b726219..4811d521c 100644 --- a/data/monster/quests/in_service_of_yalahar/rift_brood.lua +++ b/data/monster/quests/in_service_of_yalahar/rift_brood.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 1495 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 20000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/in_service_of_yalahar/rift_lord.lua b/data/monster/quests/in_service_of_yalahar/rift_lord.lua index 4161f9eee..bd27ab75d 100644 --- a/data/monster/quests/in_service_of_yalahar/rift_lord.lua +++ b/data/monster/quests/in_service_of_yalahar/rift_lord.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 0 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/in_service_of_yalahar/rift_phantom.lua b/data/monster/quests/in_service_of_yalahar/rift_phantom.lua index ecaa45e97..344f38502 100644 --- a/data/monster/quests/in_service_of_yalahar/rift_phantom.lua +++ b/data/monster/quests/in_service_of_yalahar/rift_phantom.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 5993 monster.speed = 160 monster.manaCost = 100 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/in_service_of_yalahar/rift_scythe.lua b/data/monster/quests/in_service_of_yalahar/rift_scythe.lua index 92329ad02..19a387561 100644 --- a/data/monster/quests/in_service_of_yalahar/rift_scythe.lua +++ b/data/monster/quests/in_service_of_yalahar/rift_scythe.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 370 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/in_service_of_yalahar/rift_worm.lua b/data/monster/quests/in_service_of_yalahar/rift_worm.lua index cc20d561b..e123106ce 100644 --- a/data/monster/quests/in_service_of_yalahar/rift_worm.lua +++ b/data/monster/quests/in_service_of_yalahar/rift_worm.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/in_service_of_yalahar/sharptooth.lua b/data/monster/quests/in_service_of_yalahar/sharptooth.lua index f768f3082..b1ee9e895 100644 --- a/data/monster/quests/in_service_of_yalahar/sharptooth.lua +++ b/data/monster/quests/in_service_of_yalahar/sharptooth.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6067 monster.speed = 290 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/in_service_of_yalahar/tormented_ghost.lua b/data/monster/quests/in_service_of_yalahar/tormented_ghost.lua index bbf5e17ee..71062d9d2 100644 --- a/data/monster/quests/in_service_of_yalahar/tormented_ghost.lua +++ b/data/monster/quests/in_service_of_yalahar/tormented_ghost.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 9741 monster.speed = 160 monster.manaCost = 100 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/in_service_of_yalahar/yalahari.lua b/data/monster/quests/in_service_of_yalahar/yalahari.lua index 119044fad..d50f463be 100644 --- a/data/monster/quests/in_service_of_yalahar/yalahari.lua +++ b/data/monster/quests/in_service_of_yalahar/yalahari.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20550 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/isle_of_evil/boogey.lua b/data/monster/quests/isle_of_evil/boogey.lua index 838788e32..6267ff017 100644 --- a/data/monster/quests/isle_of_evil/boogey.lua +++ b/data/monster/quests/isle_of_evil/boogey.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8955 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Demon Skeleton", chance = 40, interval = 4000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Demon Skeleton", chance = 40, interval = 4000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/isle_of_evil/dirtbeard.lua b/data/monster/quests/isle_of_evil/dirtbeard.lua index d5bdb3de1..b9b7264e0 100644 --- a/data/monster/quests/isle_of_evil/dirtbeard.lua +++ b/data/monster/quests/isle_of_evil/dirtbeard.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20478 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Pirate Marauder", chance = 30, interval = 4000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Pirate Marauder", chance = 30, interval = 4000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/isle_of_evil/doctor_perhaps.lua b/data/monster/quests/isle_of_evil/doctor_perhaps.lua index 7525f6d0b..67cdd3441 100644 --- a/data/monster/quests/isle_of_evil/doctor_perhaps.lua +++ b/data/monster/quests/isle_of_evil/doctor_perhaps.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20439 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Zombie", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Zombie", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/isle_of_evil/evil_mastermind.lua b/data/monster/quests/isle_of_evil/evil_mastermind.lua index 746431065..0695c6fef 100644 --- a/data/monster/quests/isle_of_evil/evil_mastermind.lua +++ b/data/monster/quests/isle_of_evil/evil_mastermind.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 7256 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "vampire", chance = 40, interval = 2000, max = 3} +monster.summon = { + maxSummons = 3, + summons = { + {name = "vampire", chance = 40, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/quests/isle_of_evil/mephiles.lua b/data/monster/quests/isle_of_evil/mephiles.lua index 8757b4f23..c1b05aab6 100644 --- a/data/monster/quests/isle_of_evil/mephiles.lua +++ b/data/monster/quests/isle_of_evil/mephiles.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6364 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/isle_of_evil/monstor.lua b/data/monster/quests/isle_of_evil/monstor.lua index d38e42b9e..72378e0b5 100644 --- a/data/monster/quests/isle_of_evil/monstor.lua +++ b/data/monster/quests/isle_of_evil/monstor.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6336 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Acid Blob", chance = 40, interval = 4000, max = 3} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Acid Blob", chance = 40, interval = 4000, count = 3} + } } monster.voices = { diff --git a/data/monster/quests/killing_in_the_name_of/bretzecutioner.lua b/data/monster/quests/killing_in_the_name_of/bretzecutioner.lua index a4f1e8c47..e362e5cd0 100644 --- a/data/monster/quests/killing_in_the_name_of/bretzecutioner.lua +++ b/data/monster/quests/killing_in_the_name_of/bretzecutioner.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6320 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/bruise_payne.lua b/data/monster/quests/killing_in_the_name_of/bruise_payne.lua index 07c58b1cf..4966fafd0 100644 --- a/data/monster/quests/killing_in_the_name_of/bruise_payne.lua +++ b/data/monster/quests/killing_in_the_name_of/bruise_payne.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 9829 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/deathbine.lua b/data/monster/quests/killing_in_the_name_of/deathbine.lua index 18ed8d7a8..f8980e3db 100644 --- a/data/monster/quests/killing_in_the_name_of/deathbine.lua +++ b/data/monster/quests/killing_in_the_name_of/deathbine.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 6047 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/demodras.lua b/data/monster/quests/killing_in_the_name_of/demodras.lua index 577914975..afca69e5c 100644 --- a/data/monster/quests/killing_in_the_name_of/demodras.lua +++ b/data/monster/quests/killing_in_the_name_of/demodras.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5984 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Dragon", chance = 17, interval = 1000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Dragon", chance = 17, interval = 1000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/killing_in_the_name_of/esmeralda.lua b/data/monster/quests/killing_in_the_name_of/esmeralda.lua index 2cdb385ea..64f4d3ceb 100644 --- a/data/monster/quests/killing_in_the_name_of/esmeralda.lua +++ b/data/monster/quests/killing_in_the_name_of/esmeralda.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 9871 monster.speed = 245 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/ethershreck.lua b/data/monster/quests/killing_in_the_name_of/ethershreck.lua index 5c1ce9645..0b339ac83 100644 --- a/data/monster/quests/killing_in_the_name_of/ethershreck.lua +++ b/data/monster/quests/killing_in_the_name_of/ethershreck.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 11362 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/fazzrah.lua b/data/monster/quests/killing_in_the_name_of/fazzrah.lua index f236c36f4..85c5acdaf 100644 --- a/data/monster/quests/killing_in_the_name_of/fazzrah.lua +++ b/data/monster/quests/killing_in_the_name_of/fazzrah.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 11284 monster.speed = 290 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/flameborn.lua b/data/monster/quests/killing_in_the_name_of/flameborn.lua index 419308521..c1a102d05 100644 --- a/data/monster/quests/killing_in_the_name_of/flameborn.lua +++ b/data/monster/quests/killing_in_the_name_of/flameborn.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 9923 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/fleshcrawler.lua b/data/monster/quests/killing_in_the_name_of/fleshcrawler.lua index f55dec24f..df4fd39cb 100644 --- a/data/monster/quests/killing_in_the_name_of/fleshcrawler.lua +++ b/data/monster/quests/killing_in_the_name_of/fleshcrawler.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 6021 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Larva", chance = 10, interval = 2000, max = 3} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Larva", chance = 10, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/quests/killing_in_the_name_of/gorgo.lua b/data/monster/quests/killing_in_the_name_of/gorgo.lua index 5f322d198..e05009d2c 100644 --- a/data/monster/quests/killing_in_the_name_of/gorgo.lua +++ b/data/monster/quests/killing_in_the_name_of/gorgo.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 10524 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/hemming.lua b/data/monster/quests/killing_in_the_name_of/hemming.lua index 2eda5601b..80ffc3c71 100644 --- a/data/monster/quests/killing_in_the_name_of/hemming.lua +++ b/data/monster/quests/killing_in_the_name_of/hemming.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20570 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "War Wolf", chance = 100, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "War Wolf", chance = 100, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/killing_in_the_name_of/hide.lua b/data/monster/quests/killing_in_the_name_of/hide.lua index 81e3621b1..f7325310c 100644 --- a/data/monster/quests/killing_in_the_name_of/hide.lua +++ b/data/monster/quests/killing_in_the_name_of/hide.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 6060 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/kerberos.lua b/data/monster/quests/killing_in_the_name_of/kerberos.lua index 695bf0b3f..d16657349 100644 --- a/data/monster/quests/killing_in_the_name_of/kerberos.lua +++ b/data/monster/quests/killing_in_the_name_of/kerberos.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6332 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/leviathan.lua b/data/monster/quests/killing_in_the_name_of/leviathan.lua index 5ee9ba17f..f8c23f9df 100644 --- a/data/monster/quests/killing_in_the_name_of/leviathan.lua +++ b/data/monster/quests/killing_in_the_name_of/leviathan.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 8307 monster.speed = 758 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/paiz_the_pauperizer.lua b/data/monster/quests/killing_in_the_name_of/paiz_the_pauperizer.lua index 169041530..0d71c2fc9 100644 --- a/data/monster/quests/killing_in_the_name_of/paiz_the_pauperizer.lua +++ b/data/monster/quests/killing_in_the_name_of/paiz_the_pauperizer.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 12609 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/ribstride.lua b/data/monster/quests/killing_in_the_name_of/ribstride.lua index d3413c13a..648f83232 100644 --- a/data/monster/quests/killing_in_the_name_of/ribstride.lua +++ b/data/monster/quests/killing_in_the_name_of/ribstride.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6030 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/shardhead.lua b/data/monster/quests/killing_in_the_name_of/shardhead.lua index e5c77f2eb..8836a1bd9 100644 --- a/data/monster/quests/killing_in_the_name_of/shardhead.lua +++ b/data/monster/quests/killing_in_the_name_of/shardhead.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 7282 monster.speed = 195 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/stonecracker.lua b/data/monster/quests/killing_in_the_name_of/stonecracker.lua index 42b628a5e..c38116add 100644 --- a/data/monster/quests/killing_in_the_name_of/stonecracker.lua +++ b/data/monster/quests/killing_in_the_name_of/stonecracker.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5999 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/sulphur_scuttler.lua b/data/monster/quests/killing_in_the_name_of/sulphur_scuttler.lua index 1c2aa0497..1f6c2e62a 100644 --- a/data/monster/quests/killing_in_the_name_of/sulphur_scuttler.lua +++ b/data/monster/quests/killing_in_the_name_of/sulphur_scuttler.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 12527 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/the_bloodtusk.lua b/data/monster/quests/killing_in_the_name_of/the_bloodtusk.lua index 9d3e604e3..18a7d2f97 100644 --- a/data/monster/quests/killing_in_the_name_of/the_bloodtusk.lua +++ b/data/monster/quests/killing_in_the_name_of/the_bloodtusk.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6074 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/the_bloodweb.lua b/data/monster/quests/killing_in_the_name_of/the_bloodweb.lua index 29bbe3973..7b06cdd72 100644 --- a/data/monster/quests/killing_in_the_name_of/the_bloodweb.lua +++ b/data/monster/quests/killing_in_the_name_of/the_bloodweb.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 7344 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 20000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/the_many.lua b/data/monster/quests/killing_in_the_name_of/the_many.lua index f9d99d1ae..6be508a03 100644 --- a/data/monster/quests/killing_in_the_name_of/the_many.lua +++ b/data/monster/quests/killing_in_the_name_of/the_many.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6048 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/the_noxious_spawn.lua b/data/monster/quests/killing_in_the_name_of/the_noxious_spawn.lua index 3f637990d..5af74aec2 100644 --- a/data/monster/quests/killing_in_the_name_of/the_noxious_spawn.lua +++ b/data/monster/quests/killing_in_the_name_of/the_noxious_spawn.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 4323 monster.speed = 360 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/the_old_widow.lua b/data/monster/quests/killing_in_the_name_of/the_old_widow.lua index 2ff3381bd..3a705fcf7 100644 --- a/data/monster/quests/killing_in_the_name_of/the_old_widow.lua +++ b/data/monster/quests/killing_in_the_name_of/the_old_widow.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5977 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -49,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -58,8 +56,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "giant spider", chance = 13, interval = 1000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "giant spider", chance = 13, interval = 1000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/killing_in_the_name_of/the_snapper.lua b/data/monster/quests/killing_in_the_name_of/the_snapper.lua index d5064a660..c68b32034 100644 --- a/data/monster/quests/killing_in_the_name_of/the_snapper.lua +++ b/data/monster/quests/killing_in_the_name_of/the_snapper.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6046 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/thul.lua b/data/monster/quests/killing_in_the_name_of/thul.lua index 84c926c6e..86baa0676 100644 --- a/data/monster/quests/killing_in_the_name_of/thul.lua +++ b/data/monster/quests/killing_in_the_name_of/thul.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6065 monster.speed = 520 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Massive Water Elemental", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Massive Water Elemental", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/killing_in_the_name_of/tiquandas_revenge.lua b/data/monster/quests/killing_in_the_name_of/tiquandas_revenge.lua index 824ee47af..58093a124 100644 --- a/data/monster/quests/killing_in_the_name_of/tiquandas_revenge.lua +++ b/data/monster/quests/killing_in_the_name_of/tiquandas_revenge.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 6047 monster.speed = 440 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -48,8 +47,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/tormentor.lua b/data/monster/quests/killing_in_the_name_of/tormentor.lua index 4c087978f..6fd54dcdd 100644 --- a/data/monster/quests/killing_in_the_name_of/tormentor.lua +++ b/data/monster/quests/killing_in_the_name_of/tormentor.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6340 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/tromphonyte.lua b/data/monster/quests/killing_in_the_name_of/tromphonyte.lua index 2cd171b0b..bdb37938f 100644 --- a/data/monster/quests/killing_in_the_name_of/tromphonyte.lua +++ b/data/monster/quests/killing_in_the_name_of/tromphonyte.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 13312 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/killing_in_the_name_of/zanakeph.lua b/data/monster/quests/killing_in_the_name_of/zanakeph.lua index 335415984..d7cfad91c 100644 --- a/data/monster/quests/killing_in_the_name_of/zanakeph.lua +++ b/data/monster/quests/killing_in_the_name_of/zanakeph.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6306 monster.speed = 330 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/kilmaresh/a_shielded_astral_glyph.lua b/data/monster/quests/kilmaresh/a_shielded_astral_glyph.lua index 507074be2..ed0f75665 100644 --- a/data/monster/quests/kilmaresh/a_shielded_astral_glyph.lua +++ b/data/monster/quests/kilmaresh/a_shielded_astral_glyph.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 470 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/kilmaresh/an_astral_glyph.lua b/data/monster/quests/kilmaresh/an_astral_glyph.lua index a124e3d45..685a01e8a 100644 --- a/data/monster/quests/kilmaresh/an_astral_glyph.lua +++ b/data/monster/quests/kilmaresh/an_astral_glyph.lua @@ -13,7 +13,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 470 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -44,8 +43,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "AstralGlyphDeath" } monster.light = { diff --git a/data/monster/quests/kilmaresh/bragrumol.lua b/data/monster/quests/kilmaresh/bragrumol.lua index 03a29c24f..3613e57c6 100644 --- a/data/monster/quests/kilmaresh/bragrumol.lua +++ b/data/monster/quests/kilmaresh/bragrumol.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 13973 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/kilmaresh/earworm.lua b/data/monster/quests/kilmaresh/earworm.lua index 74fe56e12..aae1cecea 100644 --- a/data/monster/quests/kilmaresh/earworm.lua +++ b/data/monster/quests/kilmaresh/earworm.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 36497 monster.speed = 155 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/kilmaresh/mozradek.lua b/data/monster/quests/kilmaresh/mozradek.lua index 0dea0d2fb..e6c39aa26 100644 --- a/data/monster/quests/kilmaresh/mozradek.lua +++ b/data/monster/quests/kilmaresh/mozradek.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 13973 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/kilmaresh/sun-marked_goanna.lua b/data/monster/quests/kilmaresh/sun-marked_goanna.lua index d5571faee..b071c27c8 100644 --- a/data/monster/quests/kilmaresh/sun-marked_goanna.lua +++ b/data/monster/quests/kilmaresh/sun-marked_goanna.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 36240 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/kilmaresh/urmahlullu_the_immaculate.lua b/data/monster/quests/kilmaresh/urmahlullu_the_immaculate.lua index 6284cfd8e..83e63b940 100644 --- a/data/monster/quests/kilmaresh/urmahlullu_the_immaculate.lua +++ b/data/monster/quests/kilmaresh/urmahlullu_the_immaculate.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "UrmahlulluChanges" } monster.light = { diff --git a/data/monster/quests/kilmaresh/urmahlullu_the_tamed.lua b/data/monster/quests/kilmaresh/urmahlullu_the_tamed.lua index bdbcba65e..d0533f918 100644 --- a/data/monster/quests/kilmaresh/urmahlullu_the_tamed.lua +++ b/data/monster/quests/kilmaresh/urmahlullu_the_tamed.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "UrmahlulluChanges" } monster.light = { diff --git a/data/monster/quests/kilmaresh/urmahlullu_the_weakened.lua b/data/monster/quests/kilmaresh/urmahlullu_the_weakened.lua index 06a5127ec..e4c41f717 100644 --- a/data/monster/quests/kilmaresh/urmahlullu_the_weakened.lua +++ b/data/monster/quests/kilmaresh/urmahlullu_the_weakened.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 36248 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "WeakenedDeath" } monster.light = { @@ -98,7 +100,6 @@ monster.loot = { {name = "gold ingot", chance = 9000}, {name = "giant emerald", chance = 6000}, {id = 36098, chance = 100000}, - {name = "rainbow necklace", chance = 6000}, {name = "giant sapphire", chance = 6000}, {name = "winged backpack", chance = 250}, {name = "rainbow necklace", chance = 160}, diff --git a/data/monster/quests/kilmaresh/wildness_of_urmahlullu.lua b/data/monster/quests/kilmaresh/wildness_of_urmahlullu.lua index c8b504e00..d40137cd4 100644 --- a/data/monster/quests/kilmaresh/wildness_of_urmahlullu.lua +++ b/data/monster/quests/kilmaresh/wildness_of_urmahlullu.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "UrmahlulluChanges" } monster.light = { diff --git a/data/monster/quests/kilmaresh/wisdom_of_urmahlullu.lua b/data/monster/quests/kilmaresh/wisdom_of_urmahlullu.lua index 6ebc495ce..a10457b23 100644 --- a/data/monster/quests/kilmaresh/wisdom_of_urmahlullu.lua +++ b/data/monster/quests/kilmaresh/wisdom_of_urmahlullu.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "UrmahlulluChanges" } monster.light = { diff --git a/data/monster/quests/kilmaresh/xogixath.lua b/data/monster/quests/kilmaresh/xogixath.lua index f359b00b9..07f7afb92 100644 --- a/data/monster/quests/kilmaresh/xogixath.lua +++ b/data/monster/quests/kilmaresh/xogixath.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 13973 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/liquid_black/jaul.lua b/data/monster/quests/liquid_black/jaul.lua index f9175b9fd..cd6fa74a2 100644 --- a/data/monster/quests/liquid_black/jaul.lua +++ b/data/monster/quests/liquid_black/jaul.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 15220 monster.speed = 440 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/liquid_black/obujos.lua b/data/monster/quests/liquid_black/obujos.lua index e069502d6..8ea5988ce 100644 --- a/data/monster/quests/liquid_black/obujos.lua +++ b/data/monster/quests/liquid_black/obujos.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 15224 monster.speed = 560 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/liquid_black/tanjis.lua b/data/monster/quests/liquid_black/tanjis.lua index 5748cdd87..f66b2f430 100644 --- a/data/monster/quests/liquid_black/tanjis.lua +++ b/data/monster/quests/liquid_black/tanjis.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 15228 monster.speed = 560 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/mysterious_ornate_chest/an_observer_eye.lua b/data/monster/quests/mysterious_ornate_chest/an_observer_eye.lua index abb70f8ae..f7484c07a 100644 --- a/data/monster/quests/mysterious_ornate_chest/an_observer_eye.lua +++ b/data/monster/quests/mysterious_ornate_chest/an_observer_eye.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5995 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/mysterious_ornate_chest/an_observer_eye_(imune).lua b/data/monster/quests/mysterious_ornate_chest/an_observer_eye_(imune).lua index 0b18ead74..9c16a9337 100644 --- a/data/monster/quests/mysterious_ornate_chest/an_observer_eye_(imune).lua +++ b/data/monster/quests/mysterious_ornate_chest/an_observer_eye_(imune).lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 27596 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/mysterious_ornate_chest/reflection_of_mawhawk.lua b/data/monster/quests/mysterious_ornate_chest/reflection_of_mawhawk.lua index 083772abd..138a659ea 100644 --- a/data/monster/quests/mysterious_ornate_chest/reflection_of_mawhawk.lua +++ b/data/monster/quests/mysterious_ornate_chest/reflection_of_mawhawk.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 23375 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/mysterious_ornate_chest/reflection_of_obujos.lua b/data/monster/quests/mysterious_ornate_chest/reflection_of_obujos.lua index 265bf7f61..ba1d5fdd3 100644 --- a/data/monster/quests/mysterious_ornate_chest/reflection_of_obujos.lua +++ b/data/monster/quests/mysterious_ornate_chest/reflection_of_obujos.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 15224 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/mysterious_ornate_chest/ugly_monster.lua b/data/monster/quests/mysterious_ornate_chest/ugly_monster.lua index 0825837fc..16e15def7 100644 --- a/data/monster/quests/mysterious_ornate_chest/ugly_monster.lua +++ b/data/monster/quests/mysterious_ornate_chest/ugly_monster.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 36386 monster.speed = 140 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/pits_of_inferno/countess_sorrow.lua b/data/monster/quests/pits_of_inferno/countess_sorrow.lua index 76dcd999f..fd6bbbe2d 100644 --- a/data/monster/quests/pits_of_inferno/countess_sorrow.lua +++ b/data/monster/quests/pits_of_inferno/countess_sorrow.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6344 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 60000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,9 +57,12 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Phantasm", chance = 7, interval = 2000, max = 3}, - {name = "Phantasm summon", chance = 7, interval = 2000, max = 3} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Phantasm", chance = 7, interval = 2000, count = 3}, + {name = "Phantasm summon", chance = 7, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/quests/pits_of_inferno/demon_goblin.lua b/data/monster/quests/pits_of_inferno/demon_goblin.lua index bb699e08b..86cd406cb 100644 --- a/data/monster/quests/pits_of_inferno/demon_goblin.lua +++ b/data/monster/quests/pits_of_inferno/demon_goblin.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5995 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/pits_of_inferno/dracola.lua b/data/monster/quests/pits_of_inferno/dracola.lua index cbd0e09cc..a108c3f8e 100644 --- a/data/monster/quests/pits_of_inferno/dracola.lua +++ b/data/monster/quests/pits_of_inferno/dracola.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6307 monster.speed = 370 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/pits_of_inferno/flamethrower.lua b/data/monster/quests/pits_of_inferno/flamethrower.lua index e20694d68..b6cc80fcb 100644 --- a/data/monster/quests/pits_of_inferno/flamethrower.lua +++ b/data/monster/quests/pits_of_inferno/flamethrower.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/pits_of_inferno/massacre.lua b/data/monster/quests/pits_of_inferno/massacre.lua index a635c98a4..746a7c30a 100644 --- a/data/monster/quests/pits_of_inferno/massacre.lua +++ b/data/monster/quests/pits_of_inferno/massacre.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6336 monster.speed = 430 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/pits_of_inferno/mr._punish.lua b/data/monster/quests/pits_of_inferno/mr._punish.lua index bb2223c1b..87df878c7 100644 --- a/data/monster/quests/pits_of_inferno/mr._punish.lua +++ b/data/monster/quests/pits_of_inferno/mr._punish.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6331 monster.speed = 470 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/pits_of_inferno/the_handmaiden.lua b/data/monster/quests/pits_of_inferno/the_handmaiden.lua index 6d3c04ef9..cbcf4b06b 100644 --- a/data/monster/quests/pits_of_inferno/the_handmaiden.lua +++ b/data/monster/quests/pits_of_inferno/the_handmaiden.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6312 monster.speed = 450 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/pits_of_inferno/the_imperor.lua b/data/monster/quests/pits_of_inferno/the_imperor.lua index f32095c4a..af2ed6d56 100644 --- a/data/monster/quests/pits_of_inferno/the_imperor.lua +++ b/data/monster/quests/pits_of_inferno/the_imperor.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6364 monster.speed = 310 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/pits_of_inferno/the_plasmother.lua b/data/monster/quests/pits_of_inferno/the_plasmother.lua index 9071792f9..58aa12f95 100644 --- a/data/monster/quests/pits_of_inferno/the_plasmother.lua +++ b/data/monster/quests/pits_of_inferno/the_plasmother.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 6532 monster.speed = 310 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5500, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Defiler", chance = 20, interval = 4000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Defiler", chance = 20, interval = 4000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/roshamuul/bad_dream.lua b/data/monster/quests/roshamuul/bad_dream.lua index 624e272d9..ab215879e 100644 --- a/data/monster/quests/roshamuul/bad_dream.lua +++ b/data/monster/quests/roshamuul/bad_dream.lua @@ -13,7 +13,6 @@ monster.race = "blood" monster.corpse = 22497 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/roshamuul/flame_of_omrafir.lua b/data/monster/quests/roshamuul/flame_of_omrafir.lua index 15ce8ace0..ba8ef0280 100644 --- a/data/monster/quests/roshamuul/flame_of_omrafir.lua +++ b/data/monster/quests/roshamuul/flame_of_omrafir.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 8964 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/roshamuul/gaz'haragoth.lua b/data/monster/quests/roshamuul/gaz'haragoth.lua index 47ded4d1b..08b7247a9 100644 --- a/data/monster/quests/roshamuul/gaz'haragoth.lua +++ b/data/monster/quests/roshamuul/gaz'haragoth.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 22562 monster.speed = 500 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 10000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "GazHaragothHeal" } monster.light = { @@ -59,8 +61,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Minion of Gaz'haragoth", chance = 33, interval = 4000} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Minion of Gaz'haragoth", chance = 33, interval = 4000, count = 3} + } } monster.voices = { diff --git a/data/monster/quests/roshamuul/horadron.lua b/data/monster/quests/roshamuul/horadron.lua index 3f2fc9c85..33b5a4fe3 100644 --- a/data/monster/quests/roshamuul/horadron.lua +++ b/data/monster/quests/roshamuul/horadron.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6068 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Defiler", chance = 12, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Defiler", chance = 12, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/roshamuul/minion_of_gaz'haragoth.lua b/data/monster/quests/roshamuul/minion_of_gaz'haragoth.lua index d36fd66b9..f3ae31686 100644 --- a/data/monster/quests/roshamuul/minion_of_gaz'haragoth.lua +++ b/data/monster/quests/roshamuul/minion_of_gaz'haragoth.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 22549 monster.speed = 330 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/roshamuul/nightmare_of_gaz'haragoth.lua b/data/monster/quests/roshamuul/nightmare_of_gaz'haragoth.lua index 16467d222..b45ad0d47 100644 --- a/data/monster/quests/roshamuul/nightmare_of_gaz'haragoth.lua +++ b/data/monster/quests/roshamuul/nightmare_of_gaz'haragoth.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 22497 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/roshamuul/omrafir.lua b/data/monster/quests/roshamuul/omrafir.lua index cad0215b1..cf1b9588c 100644 --- a/data/monster/quests/roshamuul/omrafir.lua +++ b/data/monster/quests/roshamuul/omrafir.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 6068 monster.speed = 480 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/roshamuul/prince_drazzak.lua b/data/monster/quests/roshamuul/prince_drazzak.lua index 1583f4d73..bad806d03 100644 --- a/data/monster/quests/roshamuul/prince_drazzak.lua +++ b/data/monster/quests/roshamuul/prince_drazzak.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 6068 monster.speed = 480 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/roshamuul/terofar.lua b/data/monster/quests/roshamuul/terofar.lua index 419f3f9e6..bcc34b394 100644 --- a/data/monster/quests/roshamuul/terofar.lua +++ b/data/monster/quests/roshamuul/terofar.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6068 monster.speed = 440 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/soul_war/mirror_image.lua b/data/monster/quests/soul_war/mirror_image.lua index 0d961a5a2..c6fe6f084 100644 --- a/data/monster/quests/soul_war/mirror_image.lua +++ b/data/monster/quests/soul_war/mirror_image.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 235 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -105,27 +103,8 @@ monster.immunities = { {type = "bleed", condition = false} } -mType:register(monster) - -local mirrorImageTransform = CreatureEvent("MirrorImageTransform") - -function mirrorImageTransform.onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType) - if attacker:isPlayer() then - local newForm = nil - if attacker:isSorcerer() then - newForm = "Sorcerer's Apparition" - elseif attacker:isDruid() then - newForm = "Druid's Apparition" - elseif attacker:isPaladin() then - newForm = "Paladin's Apparition" - elseif attacker:isKnight() then - newForm = "Knight's Apparition" - end - if newForm then - creature:setType(newForm) - end - end - return primaryDamage, primaryType, secondaryDamage, secondaryType -end +monster.events = { + "MirrorImageTransform" +} -mirrorImageTransform:register() +mType:register(monster) diff --git a/data/monster/quests/svargrond_arena/greenhorn/achad.lua b/data/monster/quests/svargrond_arena/greenhorn/achad.lua index 1e712ea52..462022aa2 100644 --- a/data/monster/quests/svargrond_arena/greenhorn/achad.lua +++ b/data/monster/quests/svargrond_arena/greenhorn/achad.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 185 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/greenhorn/axeitus_headbanger.lua b/data/monster/quests/svargrond_arena/greenhorn/axeitus_headbanger.lua index 09741904a..f749485fc 100644 --- a/data/monster/quests/svargrond_arena/greenhorn/axeitus_headbanger.lua +++ b/data/monster/quests/svargrond_arena/greenhorn/axeitus_headbanger.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 80 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/greenhorn/bloodpaw.lua b/data/monster/quests/svargrond_arena/greenhorn/bloodpaw.lua index 724e4dfb0..66855a8a5 100644 --- a/data/monster/quests/svargrond_arena/greenhorn/bloodpaw.lua +++ b/data/monster/quests/svargrond_arena/greenhorn/bloodpaw.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 156 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/greenhorn/bovinus.lua b/data/monster/quests/svargrond_arena/greenhorn/bovinus.lua index 05893eaae..39c8e4d04 100644 --- a/data/monster/quests/svargrond_arena/greenhorn/bovinus.lua +++ b/data/monster/quests/svargrond_arena/greenhorn/bovinus.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/greenhorn/colerian_the_barbarian.lua b/data/monster/quests/svargrond_arena/greenhorn/colerian_the_barbarian.lua index 19a53a82a..377436c90 100644 --- a/data/monster/quests/svargrond_arena/greenhorn/colerian_the_barbarian.lua +++ b/data/monster/quests/svargrond_arena/greenhorn/colerian_the_barbarian.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/greenhorn/cursed_gladiator.lua b/data/monster/quests/svargrond_arena/greenhorn/cursed_gladiator.lua index 392b4b4f8..680a1e9ea 100644 --- a/data/monster/quests/svargrond_arena/greenhorn/cursed_gladiator.lua +++ b/data/monster/quests/svargrond_arena/greenhorn/cursed_gladiator.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 7349 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/greenhorn/frostfur.lua b/data/monster/quests/svargrond_arena/greenhorn/frostfur.lua index 3a8b60181..005642257 100644 --- a/data/monster/quests/svargrond_arena/greenhorn/frostfur.lua +++ b/data/monster/quests/svargrond_arena/greenhorn/frostfur.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/greenhorn/orcus_the_cruel.lua b/data/monster/quests/svargrond_arena/greenhorn/orcus_the_cruel.lua index 377e39266..0c84f0c32 100644 --- a/data/monster/quests/svargrond_arena/greenhorn/orcus_the_cruel.lua +++ b/data/monster/quests/svargrond_arena/greenhorn/orcus_the_cruel.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/greenhorn/rocky.lua b/data/monster/quests/svargrond_arena/greenhorn/rocky.lua index 50edda777..5aa21760f 100644 --- a/data/monster/quests/svargrond_arena/greenhorn/rocky.lua +++ b/data/monster/quests/svargrond_arena/greenhorn/rocky.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 7349 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/greenhorn/the_hairy_one.lua b/data/monster/quests/svargrond_arena/greenhorn/the_hairy_one.lua index 2c0244c93..0271ab745 100644 --- a/data/monster/quests/svargrond_arena/greenhorn/the_hairy_one.lua +++ b/data/monster/quests/svargrond_arena/greenhorn/the_hairy_one.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/scrapper/avalanche.lua b/data/monster/quests/svargrond_arena/scrapper/avalanche.lua index 6d4a6e06a..a99d6ba3d 100644 --- a/data/monster/quests/svargrond_arena/scrapper/avalanche.lua +++ b/data/monster/quests/svargrond_arena/scrapper/avalanche.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 7349 monster.speed = 195 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/scrapper/drasilla.lua b/data/monster/quests/svargrond_arena/scrapper/drasilla.lua index f6bb83e16..fa981b6e3 100644 --- a/data/monster/quests/svargrond_arena/scrapper/drasilla.lua +++ b/data/monster/quests/svargrond_arena/scrapper/drasilla.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/scrapper/grimgor_guteater.lua b/data/monster/quests/svargrond_arena/scrapper/grimgor_guteater.lua index ad02ea60d..aec469a9a 100644 --- a/data/monster/quests/svargrond_arena/scrapper/grimgor_guteater.lua +++ b/data/monster/quests/svargrond_arena/scrapper/grimgor_guteater.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/scrapper/kreebosh_the_exile.lua b/data/monster/quests/svargrond_arena/scrapper/kreebosh_the_exile.lua index 3c02a7c37..26063c297 100644 --- a/data/monster/quests/svargrond_arena/scrapper/kreebosh_the_exile.lua +++ b/data/monster/quests/svargrond_arena/scrapper/kreebosh_the_exile.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Green Djinn", chance = 20, interval = 5000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Green Djinn", chance = 20, interval = 5000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/svargrond_arena/scrapper/slim.lua b/data/monster/quests/svargrond_arena/scrapper/slim.lua index 60452688e..831d108db 100644 --- a/data/monster/quests/svargrond_arena/scrapper/slim.lua +++ b/data/monster/quests/svargrond_arena/scrapper/slim.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 7349 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/scrapper/spirit_of_earth.lua b/data/monster/quests/svargrond_arena/scrapper/spirit_of_earth.lua index e65dd126a..9c7223c44 100644 --- a/data/monster/quests/svargrond_arena/scrapper/spirit_of_earth.lua +++ b/data/monster/quests/svargrond_arena/scrapper/spirit_of_earth.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 7349 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/svargrond_arena/scrapper/spirit_of_fire.lua b/data/monster/quests/svargrond_arena/scrapper/spirit_of_fire.lua index 4ba48c451..09683e21b 100644 --- a/data/monster/quests/svargrond_arena/scrapper/spirit_of_fire.lua +++ b/data/monster/quests/svargrond_arena/scrapper/spirit_of_fire.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/scrapper/spirit_of_water.lua b/data/monster/quests/svargrond_arena/scrapper/spirit_of_water.lua index 5de1d3de3..173ad3096 100644 --- a/data/monster/quests/svargrond_arena/scrapper/spirit_of_water.lua +++ b/data/monster/quests/svargrond_arena/scrapper/spirit_of_water.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 7349 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/scrapper/the_dark_dancer.lua b/data/monster/quests/svargrond_arena/scrapper/the_dark_dancer.lua index 747759c5e..718ac77e1 100644 --- a/data/monster/quests/svargrond_arena/scrapper/the_dark_dancer.lua +++ b/data/monster/quests/svargrond_arena/scrapper/the_dark_dancer.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Ghoul", chance = 20, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Ghoul", chance = 20, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/svargrond_arena/scrapper/the_hag.lua b/data/monster/quests/svargrond_arena/scrapper/the_hag.lua index bcc2df6fd..17ccc0824 100644 --- a/data/monster/quests/svargrond_arena/scrapper/the_hag.lua +++ b/data/monster/quests/svargrond_arena/scrapper/the_hag.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 205 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,9 +57,12 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Ghost", chance = 26, interval = 2000}, - {name = "Crypt Shambler", chance = 26, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Ghost", chance = 26, interval = 2000, count = 1}, + {name = "Crypt Shambler", chance = 26, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/quests/svargrond_arena/warlord/darakan_the_executioner.lua b/data/monster/quests/svargrond_arena/warlord/darakan_the_executioner.lua index 8bbb5ef1a..f7d192928 100644 --- a/data/monster/quests/svargrond_arena/warlord/darakan_the_executioner.lua +++ b/data/monster/quests/svargrond_arena/warlord/darakan_the_executioner.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 205 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/warlord/deathbringer.lua b/data/monster/quests/svargrond_arena/warlord/deathbringer.lua index adb2dac9d..00f8f222f 100644 --- a/data/monster/quests/svargrond_arena/warlord/deathbringer.lua +++ b/data/monster/quests/svargrond_arena/warlord/deathbringer.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 7349 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/warlord/fallen_mooh'tah_master_ghar.lua b/data/monster/quests/svargrond_arena/warlord/fallen_mooh'tah_master_ghar.lua index 01ff4478f..f6a1e0384 100644 --- a/data/monster/quests/svargrond_arena/warlord/fallen_mooh'tah_master_ghar.lua +++ b/data/monster/quests/svargrond_arena/warlord/fallen_mooh'tah_master_ghar.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/warlord/gnorre_chyllson.lua b/data/monster/quests/svargrond_arena/warlord/gnorre_chyllson.lua index 552daf73e..a38683830 100644 --- a/data/monster/quests/svargrond_arena/warlord/gnorre_chyllson.lua +++ b/data/monster/quests/svargrond_arena/warlord/gnorre_chyllson.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 370 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/warlord/norgle_glacierbeard.lua b/data/monster/quests/svargrond_arena/warlord/norgle_glacierbeard.lua index 14498e2bd..1e2e3031b 100644 --- a/data/monster/quests/svargrond_arena/warlord/norgle_glacierbeard.lua +++ b/data/monster/quests/svargrond_arena/warlord/norgle_glacierbeard.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 195 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/warlord/svoren_the_mad.lua b/data/monster/quests/svargrond_arena/warlord/svoren_the_mad.lua index d8c403420..8b9ff02f7 100644 --- a/data/monster/quests/svargrond_arena/warlord/svoren_the_mad.lua +++ b/data/monster/quests/svargrond_arena/warlord/svoren_the_mad.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/warlord/the_masked_marauder.lua b/data/monster/quests/svargrond_arena/warlord/the_masked_marauder.lua index 220b48933..2b1c3acbd 100644 --- a/data/monster/quests/svargrond_arena/warlord/the_masked_marauder.lua +++ b/data/monster/quests/svargrond_arena/warlord/the_masked_marauder.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/warlord/the_obliverator.lua b/data/monster/quests/svargrond_arena/warlord/the_obliverator.lua index a51cde69a..746d2749d 100644 --- a/data/monster/quests/svargrond_arena/warlord/the_obliverator.lua +++ b/data/monster/quests/svargrond_arena/warlord/the_obliverator.lua @@ -18,8 +18,6 @@ monster.maxHealth = 9020 monster.race = "fire" monster.corpse = 7349 monster.speed = 280 -monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 0, @@ -50,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +56,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "fire elemental", chance = 50, interval = 2000} +monster.summon = { + maxSummons = 3, + summons = { + {name = "fire elemental", chance = 50, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/quests/svargrond_arena/warlord/the_pit_lord.lua b/data/monster/quests/svargrond_arena/warlord/the_pit_lord.lua index d4af3447a..ea6400440 100644 --- a/data/monster/quests/svargrond_arena/warlord/the_pit_lord.lua +++ b/data/monster/quests/svargrond_arena/warlord/the_pit_lord.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7349 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/svargrond_arena/warlord/webster.lua b/data/monster/quests/svargrond_arena/warlord/webster.lua index 7ae083f19..f82485e62 100644 --- a/data/monster/quests/svargrond_arena/warlord/webster.lua +++ b/data/monster/quests/svargrond_arena/warlord/webster.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 7349 monster.speed = 290 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_curse_spreads/black_vixen.lua b/data/monster/quests/the_curse_spreads/black_vixen.lua index a58d56beb..23d13a9ac 100644 --- a/data/monster/quests/the_curse_spreads/black_vixen.lua +++ b/data/monster/quests/the_curse_spreads/black_vixen.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 32057 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "werefox", chance = 20, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "werefox", chance = 20, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/the_curse_spreads/bloodback.lua b/data/monster/quests/the_curse_spreads/bloodback.lua index f0ccf4910..41842ab21 100644 --- a/data/monster/quests/the_curse_spreads/bloodback.lua +++ b/data/monster/quests/the_curse_spreads/bloodback.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 32061 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Wereboar", chance = 20, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Wereboar", chance = 20, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/the_curse_spreads/darkfang.lua b/data/monster/quests/the_curse_spreads/darkfang.lua index 75f1d26f8..5f110d36b 100644 --- a/data/monster/quests/the_curse_spreads/darkfang.lua +++ b/data/monster/quests/the_curse_spreads/darkfang.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20380 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Gloom Wolf", chance = 20, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Gloom Wolf", chance = 20, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/the_curse_spreads/feroxa.lua b/data/monster/quests/the_curse_spreads/feroxa.lua index 700a19dfa..418b320ee 100644 --- a/data/monster/quests/the_curse_spreads/feroxa.lua +++ b/data/monster/quests/the_curse_spreads/feroxa.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "FeroxaTransform" } monster.light = { diff --git a/data/monster/quests/the_curse_spreads/feroxa2.lua b/data/monster/quests/the_curse_spreads/feroxa2.lua index 29bc6a890..efe723bc5 100644 --- a/data/monster/quests/the_curse_spreads/feroxa2.lua +++ b/data/monster/quests/the_curse_spreads/feroxa2.lua @@ -20,7 +20,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -51,8 +50,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "FeroxaTransform" } monster.light = { diff --git a/data/monster/quests/the_curse_spreads/feroxa3.lua b/data/monster/quests/the_curse_spreads/feroxa3.lua index 2c497a525..83f9fd9b5 100644 --- a/data/monster/quests/the_curse_spreads/feroxa3.lua +++ b/data/monster/quests/the_curse_spreads/feroxa3.lua @@ -20,7 +20,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -51,8 +50,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "feroxaDeath" } monster.light = { diff --git a/data/monster/quests/the_curse_spreads/feroxa4.lua b/data/monster/quests/the_curse_spreads/feroxa4.lua index 8744badeb..11f249213 100644 --- a/data/monster/quests/the_curse_spreads/feroxa4.lua +++ b/data/monster/quests/the_curse_spreads/feroxa4.lua @@ -20,7 +20,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -51,8 +50,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "feroxaDeath" } monster.light = { diff --git a/data/monster/quests/the_curse_spreads/feroxa5.lua b/data/monster/quests/the_curse_spreads/feroxa5.lua index f599023e8..345673656 100644 --- a/data/monster/quests/the_curse_spreads/feroxa5.lua +++ b/data/monster/quests/the_curse_spreads/feroxa5.lua @@ -20,7 +20,6 @@ monster.race = "blood" monster.corpse = 24745 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -51,8 +50,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_curse_spreads/shadowpelt.lua b/data/monster/quests/the_curse_spreads/shadowpelt.lua index 7652926c2..a587989fc 100644 --- a/data/monster/quests/the_curse_spreads/shadowpelt.lua +++ b/data/monster/quests/the_curse_spreads/shadowpelt.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 32065 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Werebear", chance = 20, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Werebear", chance = 20, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/the_curse_spreads/sharpclaw.lua b/data/monster/quests/the_curse_spreads/sharpclaw.lua index 72afb49f7..7df62cc42 100644 --- a/data/monster/quests/the_curse_spreads/sharpclaw.lua +++ b/data/monster/quests/the_curse_spreads/sharpclaw.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 24723 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Werebadger", chance = 20, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Werebadger", chance = 20, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/the_dream_courts/bosses/alptramun.lua b/data/monster/quests/the_dream_courts/bosses/alptramun.lua index d571ad18f..3832b370f 100644 --- a/data/monster/quests/the_dream_courts/bosses/alptramun.lua +++ b/data/monster/quests/the_dream_courts/bosses/alptramun.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 34793 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_dream_courts/bosses/faceless_bane.lua b/data/monster/quests/the_dream_courts/bosses/faceless_bane.lua index a4e2e2af2..650c0f398 100644 --- a/data/monster/quests/the_dream_courts/bosses/faceless_bane.lua +++ b/data/monster/quests/the_dream_courts/bosses/faceless_bane.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 34651 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -64,7 +62,6 @@ monster.voices = { chance = 10, } - monster.loot = { {name = "platinum coin", minCount = 1, maxCount = 10, chance = 100000}, {name = "Combat Knife", chance = 50000}, diff --git a/data/monster/quests/the_dream_courts/bosses/izcandar_the_banished.lua b/data/monster/quests/the_dream_courts/bosses/izcandar_the_banished.lua index 26d00dc6f..30529c517 100644 --- a/data/monster/quests/the_dream_courts/bosses/izcandar_the_banished.lua +++ b/data/monster/quests/the_dream_courts/bosses/izcandar_the_banished.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6068 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_dream_courts/bosses/malofur_mangrinder.lua b/data/monster/quests/the_dream_courts/bosses/malofur_mangrinder.lua index 7e2de2f4d..12711c1b5 100644 --- a/data/monster/quests/the_dream_courts/bosses/malofur_mangrinder.lua +++ b/data/monster/quests/the_dream_courts/bosses/malofur_mangrinder.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 34655 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_dream_courts/bosses/maxxenius.lua b/data/monster/quests/the_dream_courts/bosses/maxxenius.lua index 0922c7f49..3f21cd89e 100644 --- a/data/monster/quests/the_dream_courts/bosses/maxxenius.lua +++ b/data/monster/quests/the_dream_courts/bosses/maxxenius.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 34789 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_dream_courts/bosses/plagueroot.lua b/data/monster/quests/the_dream_courts/bosses/plagueroot.lua index 1799831cd..b350aafdc 100644 --- a/data/monster/quests/the_dream_courts/bosses/plagueroot.lua +++ b/data/monster/quests/the_dream_courts/bosses/plagueroot.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 34660 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_dream_courts/bosses/the_nightmare_beast.lua b/data/monster/quests/the_dream_courts/bosses/the_nightmare_beast.lua index b70b8a693..4330b984d 100644 --- a/data/monster/quests/the_dream_courts/bosses/the_nightmare_beast.lua +++ b/data/monster/quests/the_dream_courts/bosses/the_nightmare_beast.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 34797 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_dream_courts/generator.lua b/data/monster/quests/the_dream_courts/generator.lua index aef6f8a5a..053b79341 100644 --- a/data/monster/quests/the_dream_courts/generator.lua +++ b/data/monster/quests/the_dream_courts/generator.lua @@ -13,7 +13,6 @@ monster.race = "blood" monster.corpse = 24309 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_dream_courts/horrible_dream.lua b/data/monster/quests/the_dream_courts/horrible_dream.lua index 0168c53bb..703cd6c22 100644 --- a/data/monster/quests/the_dream_courts/horrible_dream.lua +++ b/data/monster/quests/the_dream_courts/horrible_dream.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 9960 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Death Blob", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Death Blob", chance = 10, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/quests/the_dream_courts/lucifuga_aranea.lua b/data/monster/quests/the_dream_courts/lucifuga_aranea.lua index be017633f..742ebd4a7 100644 --- a/data/monster/quests/the_dream_courts/lucifuga_aranea.lua +++ b/data/monster/quests/the_dream_courts/lucifuga_aranea.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 7344 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_dream_courts/mind-wrecking_dream.lua b/data/monster/quests/the_dream_courts/mind-wrecking_dream.lua index b50c4371c..af2e7adbe 100644 --- a/data/monster/quests/the_dream_courts/mind-wrecking_dream.lua +++ b/data/monster/quests/the_dream_courts/mind-wrecking_dream.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8955 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_dream_courts/nightmare_tendril.lua b/data/monster/quests/the_dream_courts/nightmare_tendril.lua index 4f2859ffa..7b31f6815 100644 --- a/data/monster/quests/the_dream_courts/nightmare_tendril.lua +++ b/data/monster/quests/the_dream_courts/nightmare_tendril.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 150 monster.manaCost = 290 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_dream_courts/nightmarish_dream.lua b/data/monster/quests/the_dream_courts/nightmarish_dream.lua index a45272ff0..55d4880c6 100644 --- a/data/monster/quests/the_dream_courts/nightmarish_dream.lua +++ b/data/monster/quests/the_dream_courts/nightmarish_dream.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_dream_courts/plant_abomination.lua b/data/monster/quests/the_dream_courts/plant_abomination.lua index 4d6688106..f9590dad3 100644 --- a/data/monster/quests/the_dream_courts/plant_abomination.lua +++ b/data/monster/quests/the_dream_courts/plant_abomination.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_dream_courts/plant_attendant.lua b/data/monster/quests/the_dream_courts/plant_attendant.lua index 78ac0a230..a10ec72c9 100644 --- a/data/monster/quests/the_dream_courts/plant_attendant.lua +++ b/data/monster/quests/the_dream_courts/plant_attendant.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 21358 monster.speed = 140 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_dream_courts/the_cold_of_winter.lua b/data/monster/quests/the_dream_courts/the_cold_of_winter.lua index 40469391e..bd798d71f 100644 --- a/data/monster/quests/the_dream_courts/the_cold_of_winter.lua +++ b/data/monster/quests/the_dream_courts/the_cold_of_winter.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5998 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_dream_courts/the_heat_of_summer.lua b/data/monster/quests/the_dream_courts/the_heat_of_summer.lua index 26a599c88..e91924679 100644 --- a/data/monster/quests/the_dream_courts/the_heat_of_summer.lua +++ b/data/monster/quests/the_dream_courts/the_heat_of_summer.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 8964 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_dream_courts/unpleasant_dream.lua b/data/monster/quests/the_dream_courts/unpleasant_dream.lua index 7dc314072..09fd4afa6 100644 --- a/data/monster/quests/the_dream_courts/unpleasant_dream.lua +++ b/data/monster/quests/the_dream_courts/unpleasant_dream.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_dream_courts/whirling_blades.lua b/data/monster/quests/the_dream_courts/whirling_blades.lua index 79fc9c11d..0676581e2 100644 --- a/data/monster/quests/the_dream_courts/whirling_blades.lua +++ b/data/monster/quests/the_dream_courts/whirling_blades.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 2253 monster.speed = 78 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_elemental_spheres/blazing_fire_elemental.lua b/data/monster/quests/the_elemental_spheres/blazing_fire_elemental.lua index 4bb57575e..2292a5525 100644 --- a/data/monster/quests/the_elemental_spheres/blazing_fire_elemental.lua +++ b/data/monster/quests/the_elemental_spheres/blazing_fire_elemental.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 8964 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -48,8 +47,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_elemental_spheres/blistering_fire_elemental.lua b/data/monster/quests/the_elemental_spheres/blistering_fire_elemental.lua index d1ebc8172..60f7f1295 100644 --- a/data/monster/quests/the_elemental_spheres/blistering_fire_elemental.lua +++ b/data/monster/quests/the_elemental_spheres/blistering_fire_elemental.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 8964 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -48,8 +47,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_elemental_spheres/charged_energy_elemental.lua b/data/monster/quests/the_elemental_spheres/charged_energy_elemental.lua index db1ae0151..633ae1fbd 100644 --- a/data/monster/quests/the_elemental_spheres/charged_energy_elemental.lua +++ b/data/monster/quests/the_elemental_spheres/charged_energy_elemental.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8966 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 20000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_elemental_spheres/earth_overlord.lua b/data/monster/quests/the_elemental_spheres/earth_overlord.lua index fd78c2d92..9250aea84 100644 --- a/data/monster/quests/the_elemental_spheres/earth_overlord.lua +++ b/data/monster/quests/the_elemental_spheres/earth_overlord.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8933 monster.speed = 330 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 20000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_elemental_spheres/energy_overlord.lua b/data/monster/quests/the_elemental_spheres/energy_overlord.lua index 22a5d405e..af7973413 100644 --- a/data/monster/quests/the_elemental_spheres/energy_overlord.lua +++ b/data/monster/quests/the_elemental_spheres/energy_overlord.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8966 monster.speed = 290 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 20000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_elemental_spheres/fire_overlord.lua b/data/monster/quests/the_elemental_spheres/fire_overlord.lua index 66f4b5155..c29bf52f6 100644 --- a/data/monster/quests/the_elemental_spheres/fire_overlord.lua +++ b/data/monster/quests/the_elemental_spheres/fire_overlord.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 8964 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_elemental_spheres/ice_overlord.lua b/data/monster/quests/the_elemental_spheres/ice_overlord.lua index c8cc50068..50ee636f2 100644 --- a/data/monster/quests/the_elemental_spheres/ice_overlord.lua +++ b/data/monster/quests/the_elemental_spheres/ice_overlord.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8965 monster.speed = 390 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 20000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_elemental_spheres/jagged_earth_elemental.lua b/data/monster/quests/the_elemental_spheres/jagged_earth_elemental.lua index 7c093c7ff..05bd5e859 100644 --- a/data/monster/quests/the_elemental_spheres/jagged_earth_elemental.lua +++ b/data/monster/quests/the_elemental_spheres/jagged_earth_elemental.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8933 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 20000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_elemental_spheres/lord_of_the_elements.lua b/data/monster/quests/the_elemental_spheres/lord_of_the_elements.lua index 0c8cbf8d3..a3438600c 100644 --- a/data/monster/quests/the_elemental_spheres/lord_of_the_elements.lua +++ b/data/monster/quests/the_elemental_spheres/lord_of_the_elements.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 9009 monster.speed = 370 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,11 +57,14 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Blistering Fire Elemental", chance = 50, interval = 4000}, - {name = "Jagged Earth Elemental", chance = 50, interval = 4000}, - {name = "Roaring Water Elemental", chance = 50, interval = 4000}, - {name = "Overcharged Energy Elemental", chance = 50, interval = 4000} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Blistering Fire Elemental", chance = 50, interval = 4000, count = 1}, + {name = "Jagged Earth Elemental", chance = 50, interval = 4000, count = 1}, + {name = "Roaring Water Elemental", chance = 50, interval = 4000, count = 1}, + {name = "Overcharged Energy Elemental", chance = 50, interval = 4000, count = 1} + } } monster.voices = { diff --git a/data/monster/quests/the_elemental_spheres/muddy_earth_elemental.lua b/data/monster/quests/the_elemental_spheres/muddy_earth_elemental.lua index baa88464e..352e53863 100644 --- a/data/monster/quests/the_elemental_spheres/muddy_earth_elemental.lua +++ b/data/monster/quests/the_elemental_spheres/muddy_earth_elemental.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8933 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 20000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_elemental_spheres/overcharged_energy_elemental.lua b/data/monster/quests/the_elemental_spheres/overcharged_energy_elemental.lua index f549e68a2..49d2fd2bf 100644 --- a/data/monster/quests/the_elemental_spheres/overcharged_energy_elemental.lua +++ b/data/monster/quests/the_elemental_spheres/overcharged_energy_elemental.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8966 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 20000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_elemental_spheres/roaring_water_elemental.lua b/data/monster/quests/the_elemental_spheres/roaring_water_elemental.lua index 61722400b..fa98209a4 100644 --- a/data/monster/quests/the_elemental_spheres/roaring_water_elemental.lua +++ b/data/monster/quests/the_elemental_spheres/roaring_water_elemental.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8965 monster.speed = 390 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 20000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_elemental_spheres/slick_water_elemental.lua b/data/monster/quests/the_elemental_spheres/slick_water_elemental.lua index f93784660..8405c89c4 100644 --- a/data/monster/quests/the_elemental_spheres/slick_water_elemental.lua +++ b/data/monster/quests/the_elemental_spheres/slick_water_elemental.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8965 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 20000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_explorer_society/blue_butterfly.lua b/data/monster/quests/the_explorer_society/blue_butterfly.lua index 4ada9d7d2..88f72d8f1 100644 --- a/data/monster/quests/the_explorer_society/blue_butterfly.lua +++ b/data/monster/quests/the_explorer_society/blue_butterfly.lua @@ -20,7 +20,6 @@ monster.race = "venom" monster.corpse = 4994 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -49,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_explorer_society/pink_butterfly.lua b/data/monster/quests/the_explorer_society/pink_butterfly.lua index 4ff3c3613..b292a4acf 100644 --- a/data/monster/quests/the_explorer_society/pink_butterfly.lua +++ b/data/monster/quests/the_explorer_society/pink_butterfly.lua @@ -20,7 +20,6 @@ monster.race = "venom" monster.corpse = 4313 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -48,8 +47,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_explorer_society/purple_butterfly.lua b/data/monster/quests/the_explorer_society/purple_butterfly.lua index b915f768c..e35e44fde 100644 --- a/data/monster/quests/the_explorer_society/purple_butterfly.lua +++ b/data/monster/quests/the_explorer_society/purple_butterfly.lua @@ -20,7 +20,6 @@ monster.race = "venom" monster.corpse = 4993 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -49,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_explorer_society/red_butterfly.lua b/data/monster/quests/the_explorer_society/red_butterfly.lua index 7a95c196f..e7cf2d46b 100644 --- a/data/monster/quests/the_explorer_society/red_butterfly.lua +++ b/data/monster/quests/the_explorer_society/red_butterfly.lua @@ -35,7 +35,6 @@ monster.race = "venom" monster.corpse = 4992 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_explorer_society/yellow_butterfly.lua b/data/monster/quests/the_explorer_society/yellow_butterfly.lua index a1e0a5608..2adfd5588 100644 --- a/data/monster/quests/the_explorer_society/yellow_butterfly.lua +++ b/data/monster/quests/the_explorer_society/yellow_butterfly.lua @@ -35,7 +35,6 @@ monster.race = "venom" monster.corpse = 5014 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_first_dragon/angry_plant.lua b/data/monster/quests/the_first_dragon/angry_plant.lua index a0fac1d00..12d14e021 100644 --- a/data/monster/quests/the_first_dragon/angry_plant.lua +++ b/data/monster/quests/the_first_dragon/angry_plant.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 9679 monster.speed = 110 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "Angry Plant Death" } monster.light = { diff --git a/data/monster/quests/the_first_dragon/bosses/fallen_challenger.lua b/data/monster/quests/the_first_dragon/bosses/fallen_challenger.lua index 8b0d88334..9428a5a7b 100644 --- a/data/monster/quests/the_first_dragon/bosses/fallen_challenger.lua +++ b/data/monster/quests/the_first_dragon/bosses/fallen_challenger.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 1397 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "Fallen Death" } monster.light = { diff --git a/data/monster/quests/the_first_dragon/bosses/gelidrazah_the_frozen.lua b/data/monster/quests/the_first_dragon/bosses/gelidrazah_the_frozen.lua index 941d258fd..65af0fbc0 100644 --- a/data/monster/quests/the_first_dragon/bosses/gelidrazah_the_frozen.lua +++ b/data/monster/quests/the_first_dragon/bosses/gelidrazah_the_frozen.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 27733 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_first_dragon/bosses/kalyassa.lua b/data/monster/quests/the_first_dragon/bosses/kalyassa.lua index 48af111dc..c77ebe1b8 100644 --- a/data/monster/quests/the_first_dragon/bosses/kalyassa.lua +++ b/data/monster/quests/the_first_dragon/bosses/kalyassa.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5984 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Dragon Lord", chance = 20, interval = 2000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Dragon Lord", chance = 20, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/the_first_dragon/bosses/tazhadur.lua b/data/monster/quests/the_first_dragon/bosses/tazhadur.lua index de2fe2ff8..64946241b 100644 --- a/data/monster/quests/the_first_dragon/bosses/tazhadur.lua +++ b/data/monster/quests/the_first_dragon/bosses/tazhadur.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 27733 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_first_dragon/bosses/the_first_dragon.lua b/data/monster/quests/the_first_dragon/bosses/the_first_dragon.lua index 8796dbe97..c6ad73290 100644 --- a/data/monster/quests/the_first_dragon/bosses/the_first_dragon.lua +++ b/data/monster/quests/the_first_dragon/bosses/the_first_dragon.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 27733 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true +} + +monster.events = { + "First Dragon Death" } monster.light = { diff --git a/data/monster/quests/the_first_dragon/bosses/zorvorax.lua b/data/monster/quests/the_first_dragon/bosses/zorvorax.lua index 1a3d31da2..a8312223d 100644 --- a/data/monster/quests/the_first_dragon/bosses/zorvorax.lua +++ b/data/monster/quests/the_first_dragon/bosses/zorvorax.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6306 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_first_dragon/dragon_essence.lua b/data/monster/quests/the_first_dragon/dragon_essence.lua index e0e454ed1..1521c53f8 100644 --- a/data/monster/quests/the_first_dragon/dragon_essence.lua +++ b/data/monster/quests/the_first_dragon/dragon_essence.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "Dragon Essence Death" } monster.light = { diff --git a/data/monster/quests/the_first_dragon/dragon_warden.lua b/data/monster/quests/the_first_dragon/dragon_warden.lua index f7f62346b..d751576c9 100644 --- a/data/monster/quests/the_first_dragon/dragon_warden.lua +++ b/data/monster/quests/the_first_dragon/dragon_warden.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 27854 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -43,8 +42,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_first_dragon/dragon_wrath.lua b/data/monster/quests/the_first_dragon/dragon_wrath.lua index e8d820e19..a9f8b1285 100644 --- a/data/monster/quests/the_first_dragon/dragon_wrath.lua +++ b/data/monster/quests/the_first_dragon/dragon_wrath.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 11362 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -43,8 +42,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_first_dragon/haunted_dragon.lua b/data/monster/quests/the_first_dragon/haunted_dragon.lua index 06dc54ab6..81eaf8267 100644 --- a/data/monster/quests/the_first_dragon/haunted_dragon.lua +++ b/data/monster/quests/the_first_dragon/haunted_dragon.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6306 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_first_dragon/ice_dragon.lua b/data/monster/quests/the_first_dragon/ice_dragon.lua index ff2b21266..d4c18d7f8 100644 --- a/data/monster/quests/the_first_dragon/ice_dragon.lua +++ b/data/monster/quests/the_first_dragon/ice_dragon.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 27853 monster.speed = 212 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_first_dragon/somewhat_beatable.lua b/data/monster/quests/the_first_dragon/somewhat_beatable.lua index 92ca91390..362a025bf 100644 --- a/data/monster/quests/the_first_dragon/somewhat_beatable.lua +++ b/data/monster/quests/the_first_dragon/somewhat_beatable.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "Somewhat Beatable Death" } monster.light = { diff --git a/data/monster/quests/the_first_dragon/spirit_of_fertility.lua b/data/monster/quests/the_first_dragon/spirit_of_fertility.lua index 0eeb271d2..8e887cf4f 100644 --- a/data/monster/quests/the_first_dragon/spirit_of_fertility.lua +++ b/data/monster/quests/the_first_dragon/spirit_of_fertility.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 130 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_first_dragon/unbeatable_dragon.lua b/data/monster/quests/the_first_dragon/unbeatable_dragon.lua index da45efa18..3046016bd 100644 --- a/data/monster/quests/the_first_dragon/unbeatable_dragon.lua +++ b/data/monster/quests/the_first_dragon/unbeatable_dragon.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_inquisition/a_carved_stone_tile.lua b/data/monster/quests/the_inquisition/a_carved_stone_tile.lua index 01a9d054e..bf8bbb84f 100644 --- a/data/monster/quests/the_inquisition/a_carved_stone_tile.lua +++ b/data/monster/quests/the_inquisition/a_carved_stone_tile.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 5 monster.changeTarget = { interval = 5000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -50,8 +48,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Dreadbeast", chance = 25, interval = 2000} +monster.summon = { + maxSummons = 5, + summons = { + {name = "Dreadbeast", chance = 25, interval = 2000, count = 5} + } } monster.voices = { diff --git a/data/monster/quests/the_inquisition/annihilon.lua b/data/monster/quests/the_inquisition/annihilon.lua index 19d024d50..632b10108 100644 --- a/data/monster/quests/the_inquisition/annihilon.lua +++ b/data/monster/quests/the_inquisition/annihilon.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 6068 monster.speed = 132 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_inquisition/dreadbeast.lua b/data/monster/quests/the_inquisition/dreadbeast.lua index afd0b595e..f8d37753b 100644 --- a/data/monster/quests/the_inquisition/dreadbeast.lua +++ b/data/monster/quests/the_inquisition/dreadbeast.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 3031 monster.speed = 136 monster.manaCost = 800 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_inquisition/eye_of_the_seven.lua b/data/monster/quests/the_inquisition/eye_of_the_seven.lua index 53bf7881b..9846930d0 100644 --- a/data/monster/quests/the_inquisition/eye_of_the_seven.lua +++ b/data/monster/quests/the_inquisition/eye_of_the_seven.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 6036 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_inquisition/golgordan.lua b/data/monster/quests/the_inquisition/golgordan.lua index 414627d6b..19fb3b903 100644 --- a/data/monster/quests/the_inquisition/golgordan.lua +++ b/data/monster/quests/the_inquisition/golgordan.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 8721 monster.speed = 390 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 7000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_inquisition/hellgorak.lua b/data/monster/quests/the_inquisition/hellgorak.lua index dadf2fad3..c7c648dfd 100644 --- a/data/monster/quests/the_inquisition/hellgorak.lua +++ b/data/monster/quests/the_inquisition/hellgorak.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6068 monster.speed = 330 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_inquisition/latrivan.lua b/data/monster/quests/the_inquisition/latrivan.lua index 0c335bb05..b2cbe331b 100644 --- a/data/monster/quests/the_inquisition/latrivan.lua +++ b/data/monster/quests/the_inquisition/latrivan.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 8721 monster.speed = 390 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_inquisition/madareth.lua b/data/monster/quests/the_inquisition/madareth.lua index 0dc005c29..211f64653 100644 --- a/data/monster/quests/the_inquisition/madareth.lua +++ b/data/monster/quests/the_inquisition/madareth.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 8721 monster.speed = 165 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_inquisition/the_count.lua b/data/monster/quests/the_inquisition/the_count.lua index 118295cd2..54c59fe16 100644 --- a/data/monster/quests/the_inquisition/the_count.lua +++ b/data/monster/quests/the_inquisition/the_count.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8937 monster.speed = 370 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Banshee", chance = 50, interval = 4000} +monster.summon = { + maxSummons = 1, + summons = { + {name = "Banshee", chance = 50, interval = 4000, count = 1} + } } monster.voices = { diff --git a/data/monster/quests/the_inquisition/the_weakened_count.lua b/data/monster/quests/the_inquisition/the_weakened_count.lua index ef4a3e4cd..fcb618882 100644 --- a/data/monster/quests/the_inquisition/the_weakened_count.lua +++ b/data/monster/quests/the_inquisition/the_weakened_count.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6006 monster.speed = 370 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_inquisition/ungreez.lua b/data/monster/quests/the_inquisition/ungreez.lua index 0945d1312..f560b5e2e 100644 --- a/data/monster/quests/the_inquisition/ungreez.lua +++ b/data/monster/quests/the_inquisition/ungreez.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5995 monster.speed = 240 monster.manaCost = 10000 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_inquisition/ushuriel.lua b/data/monster/quests/the_inquisition/ushuriel.lua index b5c51d9a1..11d3d39f5 100644 --- a/data/monster/quests/the_inquisition/ushuriel.lua +++ b/data/monster/quests/the_inquisition/ushuriel.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 6068 monster.speed = 440 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_inquisition/zugurosh.lua b/data/monster/quests/the_inquisition/zugurosh.lua index 2a878b677..e06e10845 100644 --- a/data/monster/quests/the_inquisition/zugurosh.lua +++ b/data/monster/quests/the_inquisition/zugurosh.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 8721 monster.speed = 330 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_new_frontier/baron_brute.lua b/data/monster/quests/the_new_frontier/baron_brute.lua index 1b22f7d6f..69d4bd3cd 100644 --- a/data/monster/quests/the_new_frontier/baron_brute.lua +++ b/data/monster/quests/the_new_frontier/baron_brute.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6008 monster.speed = 290 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_new_frontier/coldheart.lua b/data/monster/quests/the_new_frontier/coldheart.lua index c4f88ae96..40a4e7cb4 100644 --- a/data/monster/quests/the_new_frontier/coldheart.lua +++ b/data/monster/quests/the_new_frontier/coldheart.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 7282 monster.speed = 195 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_new_frontier/doomhowl.lua b/data/monster/quests/the_new_frontier/doomhowl.lua index 939a75b2a..9c5cf452d 100644 --- a/data/monster/quests/the_new_frontier/doomhowl.lua +++ b/data/monster/quests/the_new_frontier/doomhowl.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20607 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_new_frontier/dreadwing.lua b/data/monster/quests/the_new_frontier/dreadwing.lua index 8a1548762..e1a82bcab 100644 --- a/data/monster/quests/the_new_frontier/dreadwing.lua +++ b/data/monster/quests/the_new_frontier/dreadwing.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 9829 monster.speed = 245 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_new_frontier/fatality.lua b/data/monster/quests/the_new_frontier/fatality.lua index 3fa84f112..38d490195 100644 --- a/data/monster/quests/the_new_frontier/fatality.lua +++ b/data/monster/quests/the_new_frontier/fatality.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 4251 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_new_frontier/haunter.lua b/data/monster/quests/the_new_frontier/haunter.lua index f0b978963..8dc6b34ab 100644 --- a/data/monster/quests/the_new_frontier/haunter.lua +++ b/data/monster/quests/the_new_frontier/haunter.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 9915 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_new_frontier/incineron.lua b/data/monster/quests/the_new_frontier/incineron.lua index 0fff1c8d5..bd1b27d56 100644 --- a/data/monster/quests/the_new_frontier/incineron.lua +++ b/data/monster/quests/the_new_frontier/incineron.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 6324 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_new_frontier/menace.lua b/data/monster/quests/the_new_frontier/menace.lua index 7b971064f..c54dca921 100644 --- a/data/monster/quests/the_new_frontier/menace.lua +++ b/data/monster/quests/the_new_frontier/menace.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 4251 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_new_frontier/mooh'tah_master.lua b/data/monster/quests/the_new_frontier/mooh'tah_master.lua index 85c55c36a..d3205fe6d 100644 --- a/data/monster/quests/the_new_frontier/mooh'tah_master.lua +++ b/data/monster/quests/the_new_frontier/mooh'tah_master.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 23462 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_new_frontier/rocko.lua b/data/monster/quests/the_new_frontier/rocko.lua index f40f44eba..bf25896e0 100644 --- a/data/monster/quests/the_new_frontier/rocko.lua +++ b/data/monster/quests/the_new_frontier/rocko.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6005 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_new_frontier/shard_of_corruption.lua b/data/monster/quests/the_new_frontier/shard_of_corruption.lua index 217ce22c4..3b869f0b0 100644 --- a/data/monster/quests/the_new_frontier/shard_of_corruption.lua +++ b/data/monster/quests/the_new_frontier/shard_of_corruption.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6005 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_new_frontier/the_axeorcist.lua b/data/monster/quests/the_new_frontier/the_axeorcist.lua index c3edb257c..8704a478b 100644 --- a/data/monster/quests/the_new_frontier/the_axeorcist.lua +++ b/data/monster/quests/the_new_frontier/the_axeorcist.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5980 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_new_frontier/the_dreadorian.lua b/data/monster/quests/the_new_frontier/the_dreadorian.lua index bca2000fb..0c432428a 100644 --- a/data/monster/quests/the_new_frontier/the_dreadorian.lua +++ b/data/monster/quests/the_new_frontier/the_dreadorian.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6328 monster.speed = 370 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_new_frontier/tirecz.lua b/data/monster/quests/the_new_frontier/tirecz.lua index 6a15acdeb..852c5ac2e 100644 --- a/data/monster/quests/the_new_frontier/tirecz.lua +++ b/data/monster/quests/the_new_frontier/tirecz.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_new_frontier/tremorak.lua b/data/monster/quests/the_new_frontier/tremorak.lua index 7c09bbb80..a2559a61b 100644 --- a/data/monster/quests/the_new_frontier/tremorak.lua +++ b/data/monster/quests/the_new_frontier/tremorak.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8933 monster.speed = 290 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_order_of_lion/bosses/ancient_lion_archer.lua b/data/monster/quests/the_order_of_lion/bosses/ancient_lion_archer.lua index 89f70e9f3..f8de169f1 100644 --- a/data/monster/quests/the_order_of_lion/bosses/ancient_lion_archer.lua +++ b/data/monster/quests/the_order_of_lion/bosses/ancient_lion_archer.lua @@ -18,8 +18,6 @@ monster.maxHealth = 9000 monster.race = "blood" monster.corpse = 38796 monster.speed = 250 -monster.summonCost = 0 -monster.maxSummons = 0 monster.faction = FACTION_LION monster.enemyFactions = {FACTION_LIONUSURPERS} @@ -50,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_order_of_lion/bosses/ancient_lion_knight.lua b/data/monster/quests/the_order_of_lion/bosses/ancient_lion_knight.lua index 7bd6d8e4e..e70e5cbec 100644 --- a/data/monster/quests/the_order_of_lion/bosses/ancient_lion_knight.lua +++ b/data/monster/quests/the_order_of_lion/bosses/ancient_lion_knight.lua @@ -18,8 +18,6 @@ monster.maxHealth = 9100 monster.race = "blood" monster.corpse = 33364 monster.speed = 260 -monster.summonCost = 0 -monster.maxSummons = 0 monster.faction = FACTION_LIONUSURPERS monster.enemyFactions = {FACTION_LION, FACTION_PLAYER} @@ -50,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_order_of_lion/bosses/ancient_lion_warlock.lua b/data/monster/quests/the_order_of_lion/bosses/ancient_lion_warlock.lua index 8d435d5c3..444169938 100644 --- a/data/monster/quests/the_order_of_lion/bosses/ancient_lion_warlock.lua +++ b/data/monster/quests/the_order_of_lion/bosses/ancient_lion_warlock.lua @@ -18,8 +18,6 @@ monster.maxHealth = 8500 monster.race = "blood" monster.corpse = 38800 monster.speed = 330 -monster.summonCost = 0 -monster.maxSummons = 0 monster.faction = FACTION_LION monster.enemyFactions = {FACTION_LIONUSURPERS} @@ -50,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_order_of_lion/bosses/drume.lua b/data/monster/quests/the_order_of_lion/bosses/drume.lua index 2d3cd047e..7c3832520 100644 --- a/data/monster/quests/the_order_of_lion/bosses/drume.lua +++ b/data/monster/quests/the_order_of_lion/bosses/drume.lua @@ -18,16 +18,17 @@ monster.maxHealth = 35000 monster.race = "blood" monster.corpse = 38808 monster.speed = 260 -monster.summonCost = 0 -monster.maxSummons = 3 monster.faction = FACTION_LIONUSURPERS monster.enemyFactions = {FACTION_LION, FACTION_PLAYER} -monster.summons = { - {name = "preceptor lazare", chance = 10, interval = 8000}, - {name = "grand commander soeren", chance = 10, interval = 8000}, - {name = "grand chaplain gaunder", chance = 10, interval = 8000} +monster.summon = { + maxSummons = 3, + summons = { + {name = "preceptor lazare", chance = 10, interval = 8000, count = 1}, + {name = "grand commander soeren", chance = 10, interval = 8000, count = 1}, + {name = "grand chaplain gaunder", chance = 10, interval = 8000, count = 1} + } } monster.changeTarget = { @@ -56,8 +57,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_order_of_lion/bosses/kesar.lua b/data/monster/quests/the_order_of_lion/bosses/kesar.lua index f2c9db05f..13e8dc8e6 100644 --- a/data/monster/quests/the_order_of_lion/bosses/kesar.lua +++ b/data/monster/quests/the_order_of_lion/bosses/kesar.lua @@ -18,8 +18,6 @@ monster.maxHealth = 35000 monster.race = "blood" monster.corpse = 0 monster.speed = 0 -monster.summonCost = 0 -monster.maxSummons = 0 monster.faction = FACTION_LION monster.enemyFactions = {FACTION_LIONUSURPERS} @@ -53,8 +51,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_order_of_lion/lion_commander.lua b/data/monster/quests/the_order_of_lion/lion_commander.lua index 6b8c5f839..87e5e5981 100644 --- a/data/monster/quests/the_order_of_lion/lion_commander.lua +++ b/data/monster/quests/the_order_of_lion/lion_commander.lua @@ -13,21 +13,26 @@ monster.outfit = { lookMount = 0 } +monster.events = { + "lionCommanderDeath" +} + monster.health = 15200 monster.maxHealth = 15200 monster.race = "blood" monster.corpse = 0 monster.speed = 250 -monster.summonCost = 0 -monster.maxSummons = 5 monster.faction = FACTION_LION monster.enemyFactions = {FACTION_LIONUSURPERS} -monster.summons = { - {name = "lion archer", chance = 0, interval = 600000}, - {name = "lion knight", chance = 0, interval = 600000}, - {name = "lion warlock", chance = 0, interval = 600000} +monster.summon = { + maxSummons = 6, + summons = { + {name = "lion archer", chance = 0, interval = 600000, count = 2}, + {name = "lion knight", chance = 0, interval = 600000, count = 2}, + {name = "lion warlock", chance = 0, interval = 600000, count = 2} + } } monster.changeTarget = { @@ -56,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_order_of_lion/usurper_commander.lua b/data/monster/quests/the_order_of_lion/usurper_commander.lua index a07bf4a02..770b74a63 100644 --- a/data/monster/quests/the_order_of_lion/usurper_commander.lua +++ b/data/monster/quests/the_order_of_lion/usurper_commander.lua @@ -13,22 +13,27 @@ monster.outfit = { lookMount = 0 } +monster.events = { + "usurperCommanderDeath" +} + monster.health = 15200 monster.maxHealth = 15200 monster.race = "blood" monster.corpse = 0 monster.speed = 250 -monster.summonCost = 0 -monster.maxSummons = 5 monster.faction = FACTION_LIONUSURPERS monster.enemyFactions = {FACTION_LION, FACTION_PLAYER} monster.targetPreferPlayer = true -monster.summons = { - {name = "hardened usurper archer", chance = 0, interval = 600000}, - {name = "hardened usurper warlock", chance = 0, interval = 600000}, - {name = "hardened usurper knight", chance = 0, interval = 600000} +monster.summon = { + maxSummons = 6, + summons = { + {name = "hardened usurper archer", chance = 0, interval = 600000, count = 2}, + {name = "hardened usurper warlock", chance = 0, interval = 600000, count = 2}, + {name = "hardened usurper knight", chance = 0, interval = 600000, count = 2} + } } monster.changeTarget = { @@ -57,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_percht_queens_island/baleful_bunny.lua b/data/monster/quests/the_percht_queens_island/baleful_bunny.lua index 084a9fd3f..7b66953bf 100644 --- a/data/monster/quests/the_percht_queens_island/baleful_bunny.lua +++ b/data/monster/quests/the_percht_queens_island/baleful_bunny.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 35137 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_percht_queens_island/bonny_bunny.lua b/data/monster/quests/the_percht_queens_island/bonny_bunny.lua index 079ada9bf..15c7b7ff7 100644 --- a/data/monster/quests/the_percht_queens_island/bonny_bunny.lua +++ b/data/monster/quests/the_percht_queens_island/bonny_bunny.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_percht_queens_island/bright_percht_sleigh.lua b/data/monster/quests/the_percht_queens_island/bright_percht_sleigh.lua index 68e77f173..f2e685726 100644 --- a/data/monster/quests/the_percht_queens_island/bright_percht_sleigh.lua +++ b/data/monster/quests/the_percht_queens_island/bright_percht_sleigh.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_percht_queens_island/cold_percht_sleigh.lua b/data/monster/quests/the_percht_queens_island/cold_percht_sleigh.lua index 36526aaa2..3e874c137 100644 --- a/data/monster/quests/the_percht_queens_island/cold_percht_sleigh.lua +++ b/data/monster/quests/the_percht_queens_island/cold_percht_sleigh.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_percht_queens_island/dark_percht_sleigh.lua b/data/monster/quests/the_percht_queens_island/dark_percht_sleigh.lua index a06a94546..c4323e0c1 100644 --- a/data/monster/quests/the_percht_queens_island/dark_percht_sleigh.lua +++ b/data/monster/quests/the_percht_queens_island/dark_percht_sleigh.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_percht_queens_island/percht.lua b/data/monster/quests/the_percht_queens_island/percht.lua index ef181735f..a0c1c13ae 100644 --- a/data/monster/quests/the_percht_queens_island/percht.lua +++ b/data/monster/quests/the_percht_queens_island/percht.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 35125 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_percht_queens_island/percht_minion.lua b/data/monster/quests/the_percht_queens_island/percht_minion.lua index 914bb228a..91a6e839b 100644 --- a/data/monster/quests/the_percht_queens_island/percht_minion.lua +++ b/data/monster/quests/the_percht_queens_island/percht_minion.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5998 monster.speed = 160 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_percht_queens_island/schiach.lua b/data/monster/quests/the_percht_queens_island/schiach.lua index 9c1bafd2c..a81ba30e8 100644 --- a/data/monster/quests/the_percht_queens_island/schiach.lua +++ b/data/monster/quests/the_percht_queens_island/schiach.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 35127 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_percht_queens_island/the_percht_queen.lua b/data/monster/quests/the_percht_queens_island/the_percht_queen.lua index f65032e0c..eac2e0794 100644 --- a/data/monster/quests/the_percht_queens_island/the_percht_queen.lua +++ b/data/monster/quests/the_percht_queens_island/the_percht_queen.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 35101 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_percht_queens_island/warm_fire.lua b/data/monster/quests/the_percht_queens_island/warm_fire.lua index 201f43d18..6ba79b5a5 100644 --- a/data/monster/quests/the_percht_queens_island/warm_fire.lua +++ b/data/monster/quests/the_percht_queens_island/warm_fire.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 8964 monster.speed = 95 monster.manaCost = 690 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/biting_cold.lua b/data/monster/quests/the_secret_library/biting_cold.lua index dd33420ea..7ce530849 100644 --- a/data/monster/quests/the_secret_library/biting_cold.lua +++ b/data/monster/quests/the_secret_library/biting_cold.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5998 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/bone_jaw.lua b/data/monster/quests/the_secret_library/bone_jaw.lua index 3c42d9c42..e4d791535 100644 --- a/data/monster/quests/the_secret_library/bone_jaw.lua +++ b/data/monster/quests/the_secret_library/bone_jaw.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 13323 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/bosses/brokul.lua b/data/monster/quests/the_secret_library/bosses/brokul.lua index 09cc83994..9794c7f97 100644 --- a/data/monster/quests/the_secret_library/bosses/brokul.lua +++ b/data/monster/quests/the_secret_library/bosses/brokul.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 33376 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 5 monster.changeTarget = { interval = 1000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "neutral deepling warrior", chance = 70, interval = 1000} +monster.summon = { + maxSummons = 5, + summons = { + {name = "neutral deepling warrior", chance = 70, interval = 1000, count = 5} + } } monster.voices = { diff --git a/data/monster/quests/the_secret_library/bosses/ghulosh.lua b/data/monster/quests/the_secret_library/bosses/ghulosh.lua index 99494720b..56dfc0638 100644 --- a/data/monster/quests/the_secret_library/bosses/ghulosh.lua +++ b/data/monster/quests/the_secret_library/bosses/ghulosh.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 29369 monster.speed = 100 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/bosses/gorzindel.lua b/data/monster/quests/the_secret_library/bosses/gorzindel.lua index e90a66035..26b2a4391 100644 --- a/data/monster/quests/the_secret_library/bosses/gorzindel.lua +++ b/data/monster/quests/the_secret_library/bosses/gorzindel.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 25151 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/bosses/grand_canon_dominus.lua b/data/monster/quests/the_secret_library/bosses/grand_canon_dominus.lua index ed93916b2..e49fd79d8 100644 --- a/data/monster/quests/the_secret_library/bosses/grand_canon_dominus.lua +++ b/data/monster/quests/the_secret_library/bosses/grand_canon_dominus.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 32437 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_secret_library/bosses/grand_chaplain_gaunder.lua b/data/monster/quests/the_secret_library/bosses/grand_chaplain_gaunder.lua index 97839d666..cf0ee88da 100644 --- a/data/monster/quests/the_secret_library/bosses/grand_chaplain_gaunder.lua +++ b/data/monster/quests/the_secret_library/bosses/grand_chaplain_gaunder.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 32433 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 3000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_secret_library/bosses/grand_commander_soeren.lua b/data/monster/quests/the_secret_library/bosses/grand_commander_soeren.lua index c507bc781..b8487d77d 100644 --- a/data/monster/quests/the_secret_library/bosses/grand_commander_soeren.lua +++ b/data/monster/quests/the_secret_library/bosses/grand_commander_soeren.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 32426 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_secret_library/bosses/grand_master_oberon.lua b/data/monster/quests/the_secret_library/bosses/grand_master_oberon.lua index 3524cf986..2fe3b3c18 100644 --- a/data/monster/quests/the_secret_library/bosses/grand_master_oberon.lua +++ b/data/monster/quests/the_secret_library/bosses/grand_master_oberon.lua @@ -1,66 +1,4 @@ -local asking = { - [1] = {msg = "You appear like a worm among men!"}, - [2] = {msg = "The world will suffer for its iddle laziness!"}, - [3] = {msg = "People fall at my feet when they see me coming!"}, - [4] = {msg = "This will be the end of mortal man!"}, - [5] = {msg = "I will remove you from this plane of existence!"}, - [6] = {msg = "Dragons will soon rule this world, I am their herald!"}, - [7] = {msg = "The true virtue of chivalry are my belief!"}, - [8] = {msg = "I lead the most honourable and formidable following of knights!"}, - [9] = {msg = "ULTAH SALID'AR, ESDO LO!"}, -} - -local responses = { - [1] = {msg = "How appropriate, you look like something worms already got the better of!"}, - [2] = {msg = "Are you ever going to fight or do you prefer talking!"}, - [3] = {msg = "Even before they smell your breath?"}, - [4] = {msg = "Then let me show you the concept of mortality before it!"}, - [5] = {msg = "Too bad you barely exist at all!"}, - [6] = {msg = "Excuse me but I still do not get the message!"}, - [7] = {msg = "Dare strike up a Minnesang and you will receive your last accolade!"}, - [8] = {msg = "Then why are we fighting alone right now?"}, - [9] = {msg = "SEHWO ASIMO, TOLIDO ESD!"}, -} - -local config = { - storage = { - asking = 1, - life = 2, - exhaust = 3, - }, - monster = { - "Falcon Knight", - "Falcon Paladin" - }, - amount_life = 3 -} - -local function heal(monster) - local storage = monster:getStorageValue(config.storage.life) - monster:setStorageValue(config.storage.life, storage + 1) - monster:addHealth(monster:getMaxHealth()) - -end - -local function sendAsking(monster) - monster:registerEvent('OberonImmunity') - local random = math.random(#asking) - monster:say(asking[random].msg, TALKTYPE_MONSTER_SAY) - monster:setStorageValue(config.storage.asking, random) - heal(monster) - Game.createMonster(config.monster[math.random(#config.monster)], monster:getPosition(), true, true) -end - -local immunity = CreatureEvent("OberonImmunity") - -function immunity.onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin) - if creature:isMonster() then - creature:getPosition():sendMagicEffect(CONST_ME_HOLYAREA) - end - return true -end - -immunity:register() +dofile("data/monster/quests/the_secret_library/bosses/grand_master_oberon_functions.lua") local mType = Game.createMonsterType("Grand Master Oberon") local monster = {} @@ -83,7 +21,6 @@ monster.race = "blood" monster.corpse = 33368 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -111,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -178,18 +114,18 @@ monster.immunities = { } mType.onThink = function(monster, interval) - if monster:getStorageValue(config.storage.life) <= config.amount_life then + if monster:getStorageValue(GrandMasterOberonConfig.Storage.Life) <= GrandMasterOberonConfig.AmountLife then local percentageHealth = (monster:getHealth()*100)/monster:getMaxHealth() if percentageHealth <= 20 then - sendAsking(monster) + SendOberonAsking(monster) end end end mType.onAppear = function(monster, creature) if monster:getId() == creature:getId() then - monster:setStorageValue(config.storage.asking, 1) - monster:setStorageValue(config.storage.life, 1) + monster:setStorageValue(GrandMasterOberonConfig.Storage.Asking, 1) + monster:setStorageValue(GrandMasterOberonConfig.Storage.Life, 1) end if monster:getType():isRewardBoss() then monster:setReward(true) @@ -203,14 +139,14 @@ mType.onMove = function(monster, creature, fromPosition, toPosition) end mType.onSay = function(monster, creature, type, message) - local exhaust = config.storage.exhaust + local exhaust = GrandMasterOberonConfig.Storage.Exhaust if creature:isPlayer() and monster:getStorageValue(exhaust) <= os.time() then message = message:lower() monster:setStorageValue(exhaust, os.time() + 1) - for i, v in pairs(responses) do + for i, v in pairs(GrandMasterOberonResponses) do if message == v.msg:lower() then - local asking_storage = monster:getStorageValue(config.storage.asking) - if asking[i].msg:lower() == asking[asking_storage].msg:lower() then + local asking_storage = monster:getStorageValue(GrandMasterOberonConfig.Storage.Asking) + if GrandMasterOberonAsking[i].msg:lower() == GrandMasterOberonAsking[asking_storage].msg:lower() then monster:unregisterEvent('OberonImmunity') end end diff --git a/data/monster/quests/the_secret_library/bosses/preceptor_lazare.lua b/data/monster/quests/the_secret_library/bosses/preceptor_lazare.lua index f20affd09..de4815428 100644 --- a/data/monster/quests/the_secret_library/bosses/preceptor_lazare.lua +++ b/data/monster/quests/the_secret_library/bosses/preceptor_lazare.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 33384 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/quests/the_secret_library/bosses/thawing_dragon_lord.lua b/data/monster/quests/the_secret_library/bosses/thawing_dragon_lord.lua index 28c42a583..75f9d9c31 100644 --- a/data/monster/quests/the_secret_library/bosses/thawing_dragon_lord.lua +++ b/data/monster/quests/the_secret_library/bosses/thawing_dragon_lord.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 33381 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/bosses/the_scourge_of_oblivion.lua b/data/monster/quests/the_secret_library/bosses/the_scourge_of_oblivion.lua index 341258483..641c52691 100644 --- a/data/monster/quests/the_secret_library/bosses/the_scourge_of_oblivion.lua +++ b/data/monster/quests/the_secret_library/bosses/the_scourge_of_oblivion.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 26217 monster.speed = 450 monster.manaCost = 0 -monster.maxSummons = 8 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -56,9 +54,12 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Charger", chance = 15, interval = 1000, max = 3}, - {name = "Spark of Destruction", chance = 15, interval = 1000, max = 5} +monster.summon = { + maxSummons = 8, + summons = { + {name = "Charger", chance = 15, interval = 1000, count = 3}, + {name = "Spark of Destruction", chance = 15, interval = 1000, count = 5} + } } monster.voices = { diff --git a/data/monster/quests/the_secret_library/brother_chill.lua b/data/monster/quests/the_secret_library/brother_chill.lua index 5c617dfc8..693ee54c9 100644 --- a/data/monster/quests/the_secret_library/brother_chill.lua +++ b/data/monster/quests/the_secret_library/brother_chill.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7282 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/brother_freeze.lua b/data/monster/quests/the_secret_library/brother_freeze.lua index c91bd9028..a7f7fe0af 100644 --- a/data/monster/quests/the_secret_library/brother_freeze.lua +++ b/data/monster/quests/the_secret_library/brother_freeze.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 7282 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/concentrated_death.lua b/data/monster/quests/the_secret_library/concentrated_death.lua index b6c0b8cdb..caaf785ea 100644 --- a/data/monster/quests/the_secret_library/concentrated_death.lua +++ b/data/monster/quests/the_secret_library/concentrated_death.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 33345 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/dark_knowledge.lua b/data/monster/quests/the_secret_library/dark_knowledge.lua index 510f67bf2..88d4de3c6 100644 --- a/data/monster/quests/the_secret_library/dark_knowledge.lua +++ b/data/monster/quests/the_secret_library/dark_knowledge.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 50 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/dazed_leaf_golem.lua b/data/monster/quests/the_secret_library/dazed_leaf_golem.lua index 641ee51bd..14cae9f36 100644 --- a/data/monster/quests/the_secret_library/dazed_leaf_golem.lua +++ b/data/monster/quests/the_secret_library/dazed_leaf_golem.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 21358 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/demon_blood.lua b/data/monster/quests/the_secret_library/demon_blood.lua index abbecbff0..173052973 100644 --- a/data/monster/quests/the_secret_library/demon_blood.lua +++ b/data/monster/quests/the_secret_library/demon_blood.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 31997 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/demon_slave.lua b/data/monster/quests/the_secret_library/demon_slave.lua index b011a26ca..5716cd52b 100644 --- a/data/monster/quests/the_secret_library/demon_slave.lua +++ b/data/monster/quests/the_secret_library/demon_slave.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 5995 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/force_field.lua b/data/monster/quests/the_secret_library/force_field.lua index c703efed6..1eb83843b 100644 --- a/data/monster/quests/the_secret_library/force_field.lua +++ b/data/monster/quests/the_secret_library/force_field.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/furious_scorpion.lua b/data/monster/quests/the_secret_library/furious_scorpion.lua index 4297a0e2e..33e885676 100644 --- a/data/monster/quests/the_secret_library/furious_scorpion.lua +++ b/data/monster/quests/the_secret_library/furious_scorpion.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 13501 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/ghulosh'_deathgaze.lua b/data/monster/quests/the_secret_library/ghulosh'_deathgaze.lua index a83a51668..6c44f6245 100644 --- a/data/monster/quests/the_secret_library/ghulosh'_deathgaze.lua +++ b/data/monster/quests/the_secret_library/ghulosh'_deathgaze.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 30 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/imp_intruder.lua b/data/monster/quests/the_secret_library/imp_intruder.lua index 96310b325..48001cc08 100644 --- a/data/monster/quests/the_secret_library/imp_intruder.lua +++ b/data/monster/quests/the_secret_library/imp_intruder.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 6364 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/invading_demon.lua b/data/monster/quests/the_secret_library/invading_demon.lua index 8db6492b3..015556209 100644 --- a/data/monster/quests/the_secret_library/invading_demon.lua +++ b/data/monster/quests/the_secret_library/invading_demon.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 5995 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/jailer.lua b/data/monster/quests/the_secret_library/jailer.lua index 043b01e8b..5ee828fad 100644 --- a/data/monster/quests/the_secret_library/jailer.lua +++ b/data/monster/quests/the_secret_library/jailer.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 5972 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = true, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/knowledge_raider.lua b/data/monster/quests/the_secret_library/knowledge_raider.lua index 6233d34bf..be16dd496 100644 --- a/data/monster/quests/the_secret_library/knowledge_raider.lua +++ b/data/monster/quests/the_secret_library/knowledge_raider.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/librarian.lua b/data/monster/quests/the_secret_library/librarian.lua index 5d89661c9..1155d7785 100644 --- a/data/monster/quests/the_secret_library/librarian.lua +++ b/data/monster/quests/the_secret_library/librarian.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 33357 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/lokathmor.lua b/data/monster/quests/the_secret_library/lokathmor.lua index 3fdebec78..b52ccbdab 100644 --- a/data/monster/quests/the_secret_library/lokathmor.lua +++ b/data/monster/quests/the_secret_library/lokathmor.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 8721 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 5 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -56,8 +54,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "demon blood", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 5, + summons = { + {name = "demon blood", chance = 10, interval = 2000, count = 5} + } } monster.voices = { diff --git a/data/monster/quests/the_secret_library/lokathmor_stuck.lua b/data/monster/quests/the_secret_library/lokathmor_stuck.lua index 9c7c1ccc5..a21d71eb6 100644 --- a/data/monster/quests/the_secret_library/lokathmor_stuck.lua +++ b/data/monster/quests/the_secret_library/lokathmor_stuck.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 33964 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -43,8 +42,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/malicious_minion.lua b/data/monster/quests/the_secret_library/malicious_minion.lua index e25f8c7a5..c78653584 100644 --- a/data/monster/quests/the_secret_library/malicious_minion.lua +++ b/data/monster/quests/the_secret_library/malicious_minion.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 5985 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/mazzinor.lua b/data/monster/quests/the_secret_library/mazzinor.lua index 43ee7929a..8f9d002f9 100644 --- a/data/monster/quests/the_secret_library/mazzinor.lua +++ b/data/monster/quests/the_secret_library/mazzinor.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 25151 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/mean_minion.lua b/data/monster/quests/the_secret_library/mean_minion.lua index a16d60ca5..83611f4be 100644 --- a/data/monster/quests/the_secret_library/mean_minion.lua +++ b/data/monster/quests/the_secret_library/mean_minion.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6364 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/neutral_deepling_warrior.lua b/data/monster/quests/the_secret_library/neutral_deepling_warrior.lua index a37580ff1..9f05ad027 100644 --- a/data/monster/quests/the_secret_library/neutral_deepling_warrior.lua +++ b/data/monster/quests/the_secret_library/neutral_deepling_warrior.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 15175 monster.speed = 290 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/oberons_bile.lua b/data/monster/quests/the_secret_library/oberons_bile.lua index 38f1851ad..33545fcaf 100644 --- a/data/monster/quests/the_secret_library/oberons_bile.lua +++ b/data/monster/quests/the_secret_library/oberons_bile.lua @@ -12,8 +12,6 @@ monster.maxHealth = 10000 monster.race = "blood" monster.corpse = 0 monster.speed = 0 -monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 4000, @@ -41,8 +39,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -50,9 +47,6 @@ monster.light = { color = 0 } -monster.summons = { -} - monster.voices = { interval = 5000, chance = 10, diff --git a/data/monster/quests/the_secret_library/oberons_hate.lua b/data/monster/quests/the_secret_library/oberons_hate.lua index f19968962..58b150a68 100644 --- a/data/monster/quests/the_secret_library/oberons_hate.lua +++ b/data/monster/quests/the_secret_library/oberons_hate.lua @@ -13,7 +13,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 4000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -50,9 +48,6 @@ monster.light = { color = 0 } -monster.summons = { -} - monster.voices = { interval = 5000, chance = 10, diff --git a/data/monster/quests/the_secret_library/oberons_ire.lua b/data/monster/quests/the_secret_library/oberons_ire.lua index 53a909205..9d0e53394 100644 --- a/data/monster/quests/the_secret_library/oberons_ire.lua +++ b/data/monster/quests/the_secret_library/oberons_ire.lua @@ -13,7 +13,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 4000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -50,9 +48,6 @@ monster.light = { color = 0 } -monster.summons = { -} - monster.voices = { interval = 5000, chance = 10, diff --git a/data/monster/quests/the_secret_library/oberons_spite.lua b/data/monster/quests/the_secret_library/oberons_spite.lua index a8f578140..db47a9fd9 100644 --- a/data/monster/quests/the_secret_library/oberons_spite.lua +++ b/data/monster/quests/the_secret_library/oberons_spite.lua @@ -13,7 +13,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 4000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -50,9 +48,6 @@ monster.light = { color = 0 } -monster.summons = { -} - monster.voices = { interval = 5000, chance = 10, diff --git a/data/monster/quests/the_secret_library/ravenous_beyondling.lua b/data/monster/quests/the_secret_library/ravenous_beyondling.lua index 7b489f2ca..1bd29d01e 100644 --- a/data/monster/quests/the_secret_library/ravenous_beyondling.lua +++ b/data/monster/quests/the_secret_library/ravenous_beyondling.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/rift_breacher.lua b/data/monster/quests/the_secret_library/rift_breacher.lua index 87535efea..634ca78a5 100644 --- a/data/monster/quests/the_secret_library/rift_breacher.lua +++ b/data/monster/quests/the_secret_library/rift_breacher.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 33349 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/rift_minion.lua b/data/monster/quests/the_secret_library/rift_minion.lua index 41591c156..e4e3f72ab 100644 --- a/data/monster/quests/the_secret_library/rift_minion.lua +++ b/data/monster/quests/the_secret_library/rift_minion.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 26134 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/rift_spawn.lua b/data/monster/quests/the_secret_library/rift_spawn.lua index cba5ce78c..9c31eb221 100644 --- a/data/monster/quests/the_secret_library/rift_spawn.lua +++ b/data/monster/quests/the_secret_library/rift_spawn.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6068 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/spawn_of_havoc.lua b/data/monster/quests/the_secret_library/spawn_of_havoc.lua index 75ea112f5..7f5122c2f 100644 --- a/data/monster/quests/the_secret_library/spawn_of_havoc.lua +++ b/data/monster/quests/the_secret_library/spawn_of_havoc.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 8964 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/stolen_knowledge_of_armor.lua b/data/monster/quests/the_secret_library/stolen_knowledge_of_armor.lua index 19737505f..36ee9882a 100644 --- a/data/monster/quests/the_secret_library/stolen_knowledge_of_armor.lua +++ b/data/monster/quests/the_secret_library/stolen_knowledge_of_armor.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/stolen_knowledge_of_healing.lua b/data/monster/quests/the_secret_library/stolen_knowledge_of_healing.lua index 128cfeec8..bb34af07f 100644 --- a/data/monster/quests/the_secret_library/stolen_knowledge_of_healing.lua +++ b/data/monster/quests/the_secret_library/stolen_knowledge_of_healing.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/stolen_knowledge_of_lifesteal.lua b/data/monster/quests/the_secret_library/stolen_knowledge_of_lifesteal.lua index 26319bce9..3adc1b28b 100644 --- a/data/monster/quests/the_secret_library/stolen_knowledge_of_lifesteal.lua +++ b/data/monster/quests/the_secret_library/stolen_knowledge_of_lifesteal.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/stolen_knowledge_of_spells.lua b/data/monster/quests/the_secret_library/stolen_knowledge_of_spells.lua index a6e731df5..5f1dde8e4 100644 --- a/data/monster/quests/the_secret_library/stolen_knowledge_of_spells.lua +++ b/data/monster/quests/the_secret_library/stolen_knowledge_of_spells.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/stolen_knowledge_of_summoning.lua b/data/monster/quests/the_secret_library/stolen_knowledge_of_summoning.lua index d5ddfd443..db74a7a55 100644 --- a/data/monster/quests/the_secret_library/stolen_knowledge_of_summoning.lua +++ b/data/monster/quests/the_secret_library/stolen_knowledge_of_summoning.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/stolen_tome_of_portals.lua b/data/monster/quests/the_secret_library/stolen_tome_of_portals.lua index 1754cd30e..7b63f195f 100644 --- a/data/monster/quests/the_secret_library/stolen_tome_of_portals.lua +++ b/data/monster/quests/the_secret_library/stolen_tome_of_portals.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -41,8 +40,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "gorzindelDeath" } monster.light = { diff --git a/data/monster/quests/the_secret_library/supercharged_mazzinor.lua b/data/monster/quests/the_secret_library/supercharged_mazzinor.lua index 67a794c1f..6a9ffad1b 100644 --- a/data/monster/quests/the_secret_library/supercharged_mazzinor.lua +++ b/data/monster/quests/the_secret_library/supercharged_mazzinor.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 25151 monster.speed = 120 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -43,8 +42,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/the_blazing_rose.lua b/data/monster/quests/the_secret_library/the_blazing_rose.lua index 11d3fffc3..6c46272d5 100644 --- a/data/monster/quests/the_secret_library/the_blazing_rose.lua +++ b/data/monster/quests/the_secret_library/the_blazing_rose.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 32494 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/the_book_of_secrets.lua b/data/monster/quests/the_secret_library/the_book_of_secrets.lua index 1ca67a177..5a0724fc7 100644 --- a/data/monster/quests/the_secret_library/the_book_of_secrets.lua +++ b/data/monster/quests/the_secret_library/the_book_of_secrets.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/the_devourer_of_secrets.lua b/data/monster/quests/the_secret_library/the_devourer_of_secrets.lua index 129273c73..97e1364c8 100644 --- a/data/monster/quests/the_secret_library/the_devourer_of_secrets.lua +++ b/data/monster/quests/the_secret_library/the_devourer_of_secrets.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20550 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/the_diamond_blossom.lua b/data/monster/quests/the_secret_library/the_diamond_blossom.lua index ca8629e67..093944364 100644 --- a/data/monster/quests/the_secret_library/the_diamond_blossom.lua +++ b/data/monster/quests/the_secret_library/the_diamond_blossom.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 32499 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/the_lily_of_night.lua b/data/monster/quests/the_secret_library/the_lily_of_night.lua index a1c3cf36b..b0b87d981 100644 --- a/data/monster/quests/the_secret_library/the_lily_of_night.lua +++ b/data/monster/quests/the_secret_library/the_lily_of_night.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 32499 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/the_scion_of_havoc.lua b/data/monster/quests/the_secret_library/the_scion_of_havoc.lua index d68bae5e6..9b5a098bd 100644 --- a/data/monster/quests/the_secret_library/the_scion_of_havoc.lua +++ b/data/monster/quests/the_secret_library/the_scion_of_havoc.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 26220 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/the_spellstealer.lua b/data/monster/quests/the_secret_library/the_spellstealer.lua index 2d4d80c63..d341bd26a 100644 --- a/data/monster/quests/the_secret_library/the_spellstealer.lua +++ b/data/monster/quests/the_secret_library/the_spellstealer.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6068 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/war_servant.lua b/data/monster/quests/the_secret_library/war_servant.lua index 8e0bca273..454b3384d 100644 --- a/data/monster/quests/the_secret_library/war_servant.lua +++ b/data/monster/quests/the_secret_library/war_servant.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 10005 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/wild_knowledge.lua b/data/monster/quests/the_secret_library/wild_knowledge.lua index 10b82e9dc..97cd5b928 100644 --- a/data/monster/quests/the_secret_library/wild_knowledge.lua +++ b/data/monster/quests/the_secret_library/wild_knowledge.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 50 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/the_secret_library/yalahari_despoiler.lua b/data/monster/quests/the_secret_library/yalahari_despoiler.lua index 1e25f227f..9b0cc52d4 100644 --- a/data/monster/quests/the_secret_library/yalahari_despoiler.lua +++ b/data/monster/quests/the_secret_library/yalahari_despoiler.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20550 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/wrath_of_the_emperor/fury_of_the_emperor.lua b/data/monster/quests/wrath_of_the_emperor/fury_of_the_emperor.lua index 0d80e5716..fdb4dfd54 100644 --- a/data/monster/quests/wrath_of_the_emperor/fury_of_the_emperor.lua +++ b/data/monster/quests/wrath_of_the_emperor/fury_of_the_emperor.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 12317 monster.speed = 450 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Draken Warmaster", chance = 10, interval = 2000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Draken Warmaster", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/wrath_of_the_emperor/lizard_abomination.lua b/data/monster/quests/wrath_of_the_emperor/lizard_abomination.lua index 9b12bbd1e..733c03faa 100644 --- a/data/monster/quests/wrath_of_the_emperor/lizard_abomination.lua +++ b/data/monster/quests/wrath_of_the_emperor/lizard_abomination.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/wrath_of_the_emperor/mutated_zalamon.lua b/data/monster/quests/wrath_of_the_emperor/mutated_zalamon.lua index 37ac1003c..2c3d76e77 100644 --- a/data/monster/quests/wrath_of_the_emperor/mutated_zalamon.lua +++ b/data/monster/quests/wrath_of_the_emperor/mutated_zalamon.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 12385 monster.speed = 238 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/wrath_of_the_emperor/scorn_of_the_emperor.lua b/data/monster/quests/wrath_of_the_emperor/scorn_of_the_emperor.lua index fa57215b1..31271eb7b 100644 --- a/data/monster/quests/wrath_of_the_emperor/scorn_of_the_emperor.lua +++ b/data/monster/quests/wrath_of_the_emperor/scorn_of_the_emperor.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 12317 monster.speed = 410 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Draken Warmaster", chance = 10, interval = 2000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Draken Warmaster", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/wrath_of_the_emperor/snake_god_essence.lua b/data/monster/quests/wrath_of_the_emperor/snake_god_essence.lua index b56aea0b8..a1308000f 100644 --- a/data/monster/quests/wrath_of_the_emperor/snake_god_essence.lua +++ b/data/monster/quests/wrath_of_the_emperor/snake_god_essence.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/wrath_of_the_emperor/snake_thing.lua b/data/monster/quests/wrath_of_the_emperor/snake_thing.lua index a4a0eccfe..d144b5d57 100644 --- a/data/monster/quests/wrath_of_the_emperor/snake_thing.lua +++ b/data/monster/quests/wrath_of_the_emperor/snake_thing.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/wrath_of_the_emperor/spite_of_the_emperor.lua b/data/monster/quests/wrath_of_the_emperor/spite_of_the_emperor.lua index 47532a6db..906c75c3c 100644 --- a/data/monster/quests/wrath_of_the_emperor/spite_of_the_emperor.lua +++ b/data/monster/quests/wrath_of_the_emperor/spite_of_the_emperor.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 12317 monster.speed = 410 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Draken Warmaster", chance = 10, interval = 2000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Draken Warmaster", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/quests/wrath_of_the_emperor/the_keeper.lua b/data/monster/quests/wrath_of_the_emperor/the_keeper.lua index f6215cdf2..bda584e4d 100644 --- a/data/monster/quests/wrath_of_the_emperor/the_keeper.lua +++ b/data/monster/quests/wrath_of_the_emperor/the_keeper.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 12316 monster.speed = 290 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/quests/wrath_of_the_emperor/wrath_of_the_emperor.lua b/data/monster/quests/wrath_of_the_emperor/wrath_of_the_emperor.lua index a4d0c2484..f869b8c10 100644 --- a/data/monster/quests/wrath_of_the_emperor/wrath_of_the_emperor.lua +++ b/data/monster/quests/wrath_of_the_emperor/wrath_of_the_emperor.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 12317 monster.speed = 410 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Draken Warmaster", chance = 10, interval = 2000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Draken Warmaster", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/raids/arachir_the_ancient_one.lua b/data/monster/raids/arachir_the_ancient_one.lua index e3e0516ed..a8aec1c98 100644 --- a/data/monster/raids/arachir_the_ancient_one.lua +++ b/data/monster/raids/arachir_the_ancient_one.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8937 monster.speed = 286 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,9 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Lich", chance = 100, interval = 9000}, - {name = "Lich", chance = 100, interval = 9000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Lich", chance = 100, interval = 9000, count = 2}, + } } monster.voices = { diff --git a/data/monster/raids/barbaria.lua b/data/monster/raids/barbaria.lua index 1751a88c7..cc5fb90a4 100644 --- a/data/monster/raids/barbaria.lua +++ b/data/monster/raids/barbaria.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20339 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 60000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "War Wolf", chance = 40, interval = 2000} +monster.summon = { + maxSummons = 1, + summons = { + {name = "War Wolf", chance = 40, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/raids/battlemaster_zunzu.lua b/data/monster/raids/battlemaster_zunzu.lua index f996ceba2..30721046a 100644 --- a/data/monster/raids/battlemaster_zunzu.lua +++ b/data/monster/raids/battlemaster_zunzu.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 11281 monster.speed = 420 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/brutus_bloodbeard.lua b/data/monster/raids/brutus_bloodbeard.lua index ba974d843..5f55be939 100644 --- a/data/monster/raids/brutus_bloodbeard.lua +++ b/data/monster/raids/brutus_bloodbeard.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20478 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/captain_jones.lua b/data/monster/raids/captain_jones.lua index 5a640ee9d..1ebab7af6 100644 --- a/data/monster/raids/captain_jones.lua +++ b/data/monster/raids/captain_jones.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 5566 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/chayenne.lua b/data/monster/raids/chayenne.lua index 943d1c994..b594f3837 100644 --- a/data/monster/raids/chayenne.lua +++ b/data/monster/raids/chayenne.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6081 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/chizzoron_the_distorter.lua b/data/monster/raids/chizzoron_the_distorter.lua index 0a96bfba9..8f098c9e9 100644 --- a/data/monster/raids/chizzoron_the_distorter.lua +++ b/data/monster/raids/chizzoron_the_distorter.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 11316 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Lizard Dragon Priest", chance = 10, interval = 2000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Lizard Dragon Priest", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/raids/control_tower.lua b/data/monster/raids/control_tower.lua index 60928c060..4ba28a3f1 100644 --- a/data/monster/raids/control_tower.lua +++ b/data/monster/raids/control_tower.lua @@ -13,7 +13,6 @@ monster.race = "venom" monster.corpse = 24309 monster.speed = 0 monster.manaCost = 330 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/deadeye_devious.lua b/data/monster/raids/deadeye_devious.lua index eed90e2bc..7baafa6a0 100644 --- a/data/monster/raids/deadeye_devious.lua +++ b/data/monster/raids/deadeye_devious.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20378 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/draptor.lua b/data/monster/raids/draptor.lua index d57cab182..1e80596fd 100644 --- a/data/monster/raids/draptor.lua +++ b/data/monster/raids/draptor.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 13316 monster.speed = 680 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/fernfang.lua b/data/monster/raids/fernfang.lua index d1b9694e8..6f653eb99 100644 --- a/data/monster/raids/fernfang.lua +++ b/data/monster/raids/fernfang.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20566 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 5000, @@ -49,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -58,8 +56,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "War Wolf", chance = 13, interval = 1000} +monster.summon = { + maxSummons = 3, + summons = { + {name = "War Wolf", chance = 13, interval = 1000, count = 3} + } } monster.voices = { diff --git a/data/monster/raids/ferumbras.lua b/data/monster/raids/ferumbras.lua index b97d8d20b..2215e5f13 100644 --- a/data/monster/raids/ferumbras.lua +++ b/data/monster/raids/ferumbras.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 6078 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Demon", chance = 12, interval = 3000} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Demon", chance = 12, interval = 3000, count = 4} + } } monster.voices = { diff --git a/data/monster/raids/fleabringer.lua b/data/monster/raids/fleabringer.lua index e32c284de..36b4450df 100644 --- a/data/monster/raids/fleabringer.lua +++ b/data/monster/raids/fleabringer.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 11250 monster.speed = 280 monster.manaCost = 465 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/foreman_kneebiter.lua b/data/monster/raids/foreman_kneebiter.lua index dd5b3a1a1..84c25918d 100644 --- a/data/monster/raids/foreman_kneebiter.lua +++ b/data/monster/raids/foreman_kneebiter.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6013 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/frost_servant.lua b/data/monster/raids/frost_servant.lua index 2a7a92d31..9ce1ea388 100644 --- a/data/monster/raids/frost_servant.lua +++ b/data/monster/raids/frost_servant.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 7282 monster.speed = 95 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/furyosa.lua b/data/monster/raids/furyosa.lua index 4e2007572..2649eecbc 100644 --- a/data/monster/raids/furyosa.lua +++ b/data/monster/raids/furyosa.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20399 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Fury", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Fury", chance = 10, interval = 2000, count = 4} + } } monster.voices = { diff --git a/data/monster/raids/ghazbaran.lua b/data/monster/raids/ghazbaran.lua index 1fa959f38..6c2183611 100644 --- a/data/monster/raids/ghazbaran.lua +++ b/data/monster/raids/ghazbaran.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 6068 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 10000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Deathslicer", chance = 20, interval = 4000} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Deathslicer", chance = 20, interval = 4000, count = 4} + } } monster.voices = { diff --git a/data/monster/raids/giant_spider_wyda.lua b/data/monster/raids/giant_spider_wyda.lua index a3116574c..cb3db949b 100644 --- a/data/monster/raids/giant_spider_wyda.lua +++ b/data/monster/raids/giant_spider_wyda.lua @@ -20,7 +20,6 @@ monster.race = "venom" monster.corpse = 5977 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,11 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false +} + +monster.events = { + "Wyda" } monster.light = { diff --git a/data/monster/raids/glooth_battery.lua b/data/monster/raids/glooth_battery.lua index 770805335..4c9b1b39a 100644 --- a/data/monster/raids/glooth_battery.lua +++ b/data/monster/raids/glooth_battery.lua @@ -13,7 +13,6 @@ monster.race = "blood" monster.corpse = 24309 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -44,8 +43,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/glooth_bomb.lua b/data/monster/raids/glooth_bomb.lua index 732b57302..09cbc8b17 100644 --- a/data/monster/raids/glooth_bomb.lua +++ b/data/monster/raids/glooth_bomb.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 24256 monster.speed = 80 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/glooth_fairy.lua b/data/monster/raids/glooth_fairy.lua index b41e1a8b9..9a4cc302e 100644 --- a/data/monster/raids/glooth_fairy.lua +++ b/data/monster/raids/glooth_fairy.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 23363 monster.speed = 600 monster.manaCost = 490 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/grand_mother_foulscale.lua b/data/monster/raids/grand_mother_foulscale.lua index 4909ddad0..cb9e9218b 100644 --- a/data/monster/raids/grand_mother_foulscale.lua +++ b/data/monster/raids/grand_mother_foulscale.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5973 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "dragon hatchlings", chance = 40, interval = 4000, max = 4} +monster.summon = { + maxSummons = 4, + summons = { + {name = "dragon hatchlings", chance = 40, interval = 4000, count = 4} + } } monster.voices = { diff --git a/data/monster/raids/grorlam.lua b/data/monster/raids/grorlam.lua index 5447ffcc2..182fc64e1 100644 --- a/data/monster/raids/grorlam.lua +++ b/data/monster/raids/grorlam.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6005 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/hirintror.lua b/data/monster/raids/hirintror.lua index e8626867e..c245a0bdb 100644 --- a/data/monster/raids/hirintror.lua +++ b/data/monster/raids/hirintror.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 7282 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/lethal_lissy.lua b/data/monster/raids/lethal_lissy.lua index ced417b56..304328fe4 100644 --- a/data/monster/raids/lethal_lissy.lua +++ b/data/monster/raids/lethal_lissy.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20438 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 60000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Pirate Cutthroat", chance = 50, interval = 2000} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Pirate Cutthroat", chance = 50, interval = 2000, count = 4} + } } monster.voices = { diff --git a/data/monster/raids/man_in_the_cave.lua b/data/monster/raids/man_in_the_cave.lua index 3a5f53248..f921b2e61 100644 --- a/data/monster/raids/man_in_the_cave.lua +++ b/data/monster/raids/man_in_the_cave.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20446 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Monk", chance = 20, interval = 2000} +monster.summon = { + maxSummons = 5, + summons = { + {name = "Monk", chance = 20, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/raids/mawhawk.lua b/data/monster/raids/mawhawk.lua index 585627672..f3fdc1095 100644 --- a/data/monster/raids/mawhawk.lua +++ b/data/monster/raids/mawhawk.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 22629 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/morgaroth.lua b/data/monster/raids/morgaroth.lua index b5b3fab84..6cb31d05c 100644 --- a/data/monster/raids/morgaroth.lua +++ b/data/monster/raids/morgaroth.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 6068 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 6 monster.changeTarget = { interval = 10000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Demon", chance = 33, interval = 4000} +monster.summon = { + maxSummons = 6, + summons = { + {name = "Demon", chance = 33, interval = 4000, count = 6} + } } monster.voices = { diff --git a/data/monster/raids/necropharus.lua b/data/monster/raids/necropharus.lua index a764bdab4..24b7cd96c 100644 --- a/data/monster/raids/necropharus.lua +++ b/data/monster/raids/necropharus.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20574 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -56,10 +54,13 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Ghoul", chance = 20, interval = 1000}, - {name = "Ghost", chance = 17, interval = 1000}, - {name = "Mummy", chance = 15, interval = 1000} +monster.summon = { + maxSummons = 6, + summons = { + {name = "Ghoul", chance = 20, interval = 1000, count = 2}, + {name = "Ghost", chance = 17, interval = 1000, count = 2}, + {name = "Mummy", chance = 15, interval = 1000, count = 2} + } } monster.voices = { diff --git a/data/monster/raids/ocyakao.lua b/data/monster/raids/ocyakao.lua index c2534bbbe..acf53a66a 100644 --- a/data/monster/raids/ocyakao.lua +++ b/data/monster/raids/ocyakao.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 7320 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/orc_armor.lua b/data/monster/raids/orc_armor.lua index 37fb01806..e0882dde1 100644 --- a/data/monster/raids/orc_armor.lua +++ b/data/monster/raids/orc_armor.lua @@ -20,7 +20,6 @@ monster.race = "blood" monster.corpse = 6008 monster.speed = 234 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -48,8 +47,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/orc_helmet.lua b/data/monster/raids/orc_helmet.lua index 79b4f6391..c4c0a5ade 100644 --- a/data/monster/raids/orc_helmet.lua +++ b/data/monster/raids/orc_helmet.lua @@ -20,7 +20,6 @@ monster.race = "blood" monster.corpse = 6008 monster.speed = 234 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -48,8 +47,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/orc_sambackpack.lua b/data/monster/raids/orc_sambackpack.lua index 26a8987d5..d1581f25c 100644 --- a/data/monster/raids/orc_sambackpack.lua +++ b/data/monster/raids/orc_sambackpack.lua @@ -20,7 +20,6 @@ monster.race = "blood" monster.corpse = 5966 monster.speed = 150 monster.manaCost = 300 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -48,8 +47,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/orc_shield.lua b/data/monster/raids/orc_shield.lua index e2ee6bdf0..e3407fe25 100644 --- a/data/monster/raids/orc_shield.lua +++ b/data/monster/raids/orc_shield.lua @@ -20,7 +20,6 @@ monster.race = "blood" monster.corpse = 6008 monster.speed = 234 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -48,8 +47,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/orshabaal.lua b/data/monster/raids/orshabaal.lua index f9f974aa1..5f949b6fa 100644 --- a/data/monster/raids/orshabaal.lua +++ b/data/monster/raids/orshabaal.lua @@ -19,7 +19,6 @@ monster.race = "fire" monster.corpse = 5995 monster.speed = 380 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "demon", chance = 10, interval = 1000, max = 4} +monster.summon = { + maxSummons = 4, + summons = { + {name = "demon", chance = 10, interval = 1000, count = 4} + } } monster.voices = { diff --git a/data/monster/raids/ron_the_ripper.lua b/data/monster/raids/ron_the_ripper.lua index ce958839a..782b04a86 100644 --- a/data/monster/raids/ron_the_ripper.lua +++ b/data/monster/raids/ron_the_ripper.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20502 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/rottie_the_rotworm.lua b/data/monster/raids/rottie_the_rotworm.lua index 925b8d48f..27dc22646 100644 --- a/data/monster/raids/rottie_the_rotworm.lua +++ b/data/monster/raids/rottie_the_rotworm.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5967 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/rotworm_queen.lua b/data/monster/raids/rotworm_queen.lua index 80c439470..4d260e47e 100644 --- a/data/monster/raids/rotworm_queen.lua +++ b/data/monster/raids/rotworm_queen.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 8947 monster.speed = 126 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/sir_valorcrest.lua b/data/monster/raids/sir_valorcrest.lua index bb68660f6..2b04780f3 100644 --- a/data/monster/raids/sir_valorcrest.lua +++ b/data/monster/raids/sir_valorcrest.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 8937 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Vampire", chance = 30, interval = 2000} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Vampire", chance = 30, interval = 2000, count = 4} + } } monster.voices = { diff --git a/data/monster/raids/spyrat_facing_east.lua b/data/monster/raids/spyrat_facing_east.lua index 63d18c28f..76a54026e 100644 --- a/data/monster/raids/spyrat_facing_east.lua +++ b/data/monster/raids/spyrat_facing_east.lua @@ -26,7 +26,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -58,8 +57,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/spyrat_facing_north.lua b/data/monster/raids/spyrat_facing_north.lua index 28cf78d2a..540d8dae2 100644 --- a/data/monster/raids/spyrat_facing_north.lua +++ b/data/monster/raids/spyrat_facing_north.lua @@ -26,7 +26,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -58,8 +57,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/spyrat_facing_south.lua b/data/monster/raids/spyrat_facing_south.lua index 6c6987014..eddb344b5 100644 --- a/data/monster/raids/spyrat_facing_south.lua +++ b/data/monster/raids/spyrat_facing_south.lua @@ -26,7 +26,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -58,8 +57,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/spyrat_facing_west.lua b/data/monster/raids/spyrat_facing_west.lua index 6b480e090..14f3b0f83 100644 --- a/data/monster/raids/spyrat_facing_west.lua +++ b/data/monster/raids/spyrat_facing_west.lua @@ -26,7 +26,6 @@ monster.race = "blood" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 0, @@ -58,8 +57,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/the_horned_fox.lua b/data/monster/raids/the_horned_fox.lua index ec3e5e86f..49cad9b7d 100644 --- a/data/monster/raids/the_horned_fox.lua +++ b/data/monster/raids/the_horned_fox.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5983 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 6 monster.changeTarget = { interval = 5000, @@ -49,8 +48,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -58,10 +56,13 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Minotaur Archer", chance = 13, interval = 1000, max = 2}, - {name = "Minotaur Guard", chance = 13, interval = 1000, max = 2}, - {name = "Minotaur Mage", chance = 13, interval = 1000, max = 2} +monster.summon = { + maxSummons = 6, + summons = { + {name = "Minotaur Archer", chance = 13, interval = 1000, count = 2}, + {name = "Minotaur Guard", chance = 13, interval = 1000, count = 2}, + {name = "Minotaur Mage", chance = 13, interval = 1000, count = 2} + } } monster.voices = { diff --git a/data/monster/raids/the_pale_count.lua b/data/monster/raids/the_pale_count.lua index 7b2e0ed66..e1ab638a2 100644 --- a/data/monster/raids/the_pale_count.lua +++ b/data/monster/raids/the_pale_count.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 21270 monster.speed = 500 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Nightfiend", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Nightfiend", chance = 10, interval = 2000, count = 4} + } } monster.voices = { diff --git a/data/monster/raids/the_voice_of_ruin.lua b/data/monster/raids/the_voice_of_ruin.lua index 10e105c26..58e22add1 100644 --- a/data/monster/raids/the_voice_of_ruin.lua +++ b/data/monster/raids/the_voice_of_ruin.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 11288 monster.speed = 460 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/the_welter.lua b/data/monster/raids/the_welter.lua index 9f7cad1fa..4343f11bc 100644 --- a/data/monster/raids/the_welter.lua +++ b/data/monster/raids/the_welter.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 21291 monster.speed = 256 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,9 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "egg2", chance = 16, interval = 2000}, - {name = "spawn of the welter", chance = 16, interval = 2000} +monster.summon = { + maxSummons = 1, + summons = { + {name = "spawn of the welter", chance = 16, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/raids/tyrn.lua b/data/monster/raids/tyrn.lua index 8e78a2efc..0f436b185 100644 --- a/data/monster/raids/tyrn.lua +++ b/data/monster/raids/tyrn.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 21287 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/white_pale.lua b/data/monster/raids/white_pale.lua index 9764bdf94..8884b00d6 100644 --- a/data/monster/raids/white_pale.lua +++ b/data/monster/raids/white_pale.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 21295 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/xenia.lua b/data/monster/raids/xenia.lua index 10ba55617..cd105c903 100644 --- a/data/monster/raids/xenia.lua +++ b/data/monster/raids/xenia.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20542 monster.speed = 176 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/yakchal.lua b/data/monster/raids/yakchal.lua index 128ea3e07..ce1a3be27 100644 --- a/data/monster/raids/yakchal.lua +++ b/data/monster/raids/yakchal.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 20546 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -59,8 +57,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Ice Golem", chance = 13, interval = 1000} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Ice Golem", chance = 13, interval = 1000, count = 4} + } } monster.voices = { diff --git a/data/monster/raids/zomba.lua b/data/monster/raids/zomba.lua index a024dc168..8c070ad19 100644 --- a/data/monster/raids/zomba.lua +++ b/data/monster/raids/zomba.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 5986 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/raids/zulazza_the_corruptor.lua b/data/monster/raids/zulazza_the_corruptor.lua index 14493a9a2..eb221c90e 100644 --- a/data/monster/raids/zulazza_the_corruptor.lua +++ b/data/monster/raids/zulazza_the_corruptor.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 11107 monster.speed = 290 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/reptiles/adult_goanna.lua b/data/monster/reptiles/adult_goanna.lua index 9c133b9c0..086f52815 100644 --- a/data/monster/reptiles/adult_goanna.lua +++ b/data/monster/reptiles/adult_goanna.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 36240 monster.speed = 420 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/reptiles/cobra.lua b/data/monster/reptiles/cobra.lua index 826265ec1..05ef348a2 100644 --- a/data/monster/reptiles/cobra.lua +++ b/data/monster/reptiles/cobra.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 3007 monster.speed = 120 monster.manaCost = 275 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/reptiles/crocodile.lua b/data/monster/reptiles/crocodile.lua index 5eb81dadc..573dd6713 100644 --- a/data/monster/reptiles/crocodile.lua +++ b/data/monster/reptiles/crocodile.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6046 monster.speed = 78 monster.manaCost = 350 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/reptiles/dreadmaw.lua b/data/monster/reptiles/dreadmaw.lua index 328268c0d..8d18f292e 100644 --- a/data/monster/reptiles/dreadmaw.lua +++ b/data/monster/reptiles/dreadmaw.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 6046 monster.speed = 190 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/reptiles/killer_caiman.lua b/data/monster/reptiles/killer_caiman.lua index d3357bb99..84405fbf9 100644 --- a/data/monster/reptiles/killer_caiman.lua +++ b/data/monster/reptiles/killer_caiman.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 11430 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/reptiles/lizard_chosen.lua b/data/monster/reptiles/lizard_chosen.lua index 3df3b165a..33ce3ce21 100644 --- a/data/monster/reptiles/lizard_chosen.lua +++ b/data/monster/reptiles/lizard_chosen.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 11288 monster.speed = 272 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/reptiles/lizard_dragon_priest.lua b/data/monster/reptiles/lizard_dragon_priest.lua index 9fd3faacf..3337d9817 100644 --- a/data/monster/reptiles/lizard_dragon_priest.lua +++ b/data/monster/reptiles/lizard_dragon_priest.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 11280 monster.speed = 256 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -70,8 +68,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Dragon Hatchling", chance = 20, interval = 2000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Dragon Hatchling", chance = 20, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/reptiles/lizard_high_guard.lua b/data/monster/reptiles/lizard_high_guard.lua index 79aa26492..ac144d215 100644 --- a/data/monster/reptiles/lizard_high_guard.lua +++ b/data/monster/reptiles/lizard_high_guard.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 11272 monster.speed = 238 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/reptiles/lizard_legionnaire.lua b/data/monster/reptiles/lizard_legionnaire.lua index 0e91d3526..3db8dc206 100644 --- a/data/monster/reptiles/lizard_legionnaire.lua +++ b/data/monster/reptiles/lizard_legionnaire.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 11276 monster.speed = 266 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/reptiles/lizard_magistratus.lua b/data/monster/reptiles/lizard_magistratus.lua index 8407736cc..f2df2912d 100644 --- a/data/monster/reptiles/lizard_magistratus.lua +++ b/data/monster/reptiles/lizard_magistratus.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6041 monster.speed = 256 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/reptiles/lizard_noble.lua b/data/monster/reptiles/lizard_noble.lua index 78411f985..544871bbb 100644 --- a/data/monster/reptiles/lizard_noble.lua +++ b/data/monster/reptiles/lizard_noble.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6041 monster.speed = 256 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/reptiles/lizard_sentinel.lua b/data/monster/reptiles/lizard_sentinel.lua index 9a08b17dd..b178f6985 100644 --- a/data/monster/reptiles/lizard_sentinel.lua +++ b/data/monster/reptiles/lizard_sentinel.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6040 monster.speed = 180 monster.manaCost = 560 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/reptiles/lizard_snakecharmer.lua b/data/monster/reptiles/lizard_snakecharmer.lua index a2070a556..caedaaef1 100644 --- a/data/monster/reptiles/lizard_snakecharmer.lua +++ b/data/monster/reptiles/lizard_snakecharmer.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6041 monster.speed = 184 monster.manaCost = 0 -monster.maxSummons = 6 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -69,8 +67,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "cobra", chance = 20, interval = 2000} +monster.summon = { + maxSummons = 6, + summons = { + {name = "cobra", chance = 20, interval = 2000, count = 6} + } } monster.voices = { diff --git a/data/monster/reptiles/lizard_templar.lua b/data/monster/reptiles/lizard_templar.lua index e8be1eec5..97ba04b5c 100644 --- a/data/monster/reptiles/lizard_templar.lua +++ b/data/monster/reptiles/lizard_templar.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 4251 monster.speed = 174 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/reptiles/lizard_zaogun.lua b/data/monster/reptiles/lizard_zaogun.lua index 6324b4b6d..31c26352d 100644 --- a/data/monster/reptiles/lizard_zaogun.lua +++ b/data/monster/reptiles/lizard_zaogun.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 11284 monster.speed = 276 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/reptiles/sea_serpent.lua b/data/monster/reptiles/sea_serpent.lua index 0c1d52752..f1347059f 100644 --- a/data/monster/reptiles/sea_serpent.lua +++ b/data/monster/reptiles/sea_serpent.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 8307 monster.speed = 480 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/reptiles/seacrest_serpent.lua b/data/monster/reptiles/seacrest_serpent.lua index eb429aef1..c353bb647 100644 --- a/data/monster/reptiles/seacrest_serpent.lua +++ b/data/monster/reptiles/seacrest_serpent.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 24262 monster.speed = 500 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/reptiles/serpent_spawn.lua b/data/monster/reptiles/serpent_spawn.lua index f52408971..6b6705364 100644 --- a/data/monster/reptiles/serpent_spawn.lua +++ b/data/monster/reptiles/serpent_spawn.lua @@ -33,7 +33,6 @@ monster.race = "venom" monster.corpse = 6061 monster.speed = 234 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/reptiles/snake.lua b/data/monster/reptiles/snake.lua index 20f70c46d..7d93ac92d 100644 --- a/data/monster/reptiles/snake.lua +++ b/data/monster/reptiles/snake.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 2817 monster.speed = 120 monster.manaCost = 205 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/reptiles/stampor.lua b/data/monster/reptiles/stampor.lua index 867cf64c6..2c2e18fd7 100644 --- a/data/monster/reptiles/stampor.lua +++ b/data/monster/reptiles/stampor.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 13312 monster.speed = 440 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/reptiles/stonerefiner.lua b/data/monster/reptiles/stonerefiner.lua index 8d403c4d2..4463326cc 100644 --- a/data/monster/reptiles/stonerefiner.lua +++ b/data/monster/reptiles/stonerefiner.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 30771 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/reptiles/thornback_tortoise.lua b/data/monster/reptiles/thornback_tortoise.lua index 876bd8482..edf1983a9 100644 --- a/data/monster/reptiles/thornback_tortoise.lua +++ b/data/monster/reptiles/thornback_tortoise.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6073 monster.speed = 200 monster.manaCost = 490 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/reptiles/tortoise.lua b/data/monster/reptiles/tortoise.lua index fc8c8d999..d72ecfd62 100644 --- a/data/monster/reptiles/tortoise.lua +++ b/data/monster/reptiles/tortoise.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 6072 monster.speed = 200 monster.manaCost = 445 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/reptiles/wyvern.lua b/data/monster/reptiles/wyvern.lua index 638c1466b..2b1b7873b 100644 --- a/data/monster/reptiles/wyvern.lua +++ b/data/monster/reptiles/wyvern.lua @@ -36,7 +36,6 @@ monster.race = "blood" monster.corpse = 6302 monster.speed = 186 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/reptiles/young_goanna.lua b/data/monster/reptiles/young_goanna.lua index 6f5c9c4e4..a2a1a9712 100644 --- a/data/monster/reptiles/young_goanna.lua +++ b/data/monster/reptiles/young_goanna.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 36244 monster.speed = 380 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/reptiles/young_sea_serpent.lua b/data/monster/reptiles/young_sea_serpent.lua index 52dca48b2..61ce9bc05 100644 --- a/data/monster/reptiles/young_sea_serpent.lua +++ b/data/monster/reptiles/young_sea_serpent.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 9879 monster.speed = 480 monster.manaCost = 390 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/slimes/acid_blob.lua b/data/monster/slimes/acid_blob.lua index f958ed37e..fc9fc39b3 100644 --- a/data/monster/slimes/acid_blob.lua +++ b/data/monster/slimes/acid_blob.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 9962 monster.speed = 120 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -72,8 +70,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Acid Blob", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Acid Blob", chance = 10, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/slimes/death_blob.lua b/data/monster/slimes/death_blob.lua index de80b3f1e..a075bae3c 100644 --- a/data/monster/slimes/death_blob.lua +++ b/data/monster/slimes/death_blob.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 9960 monster.speed = 160 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 5000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -73,8 +71,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Death Blob", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Death Blob", chance = 10, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/slimes/defiler.lua b/data/monster/slimes/defiler.lua index cb3f7d1f8..4cf35f2d7 100644 --- a/data/monster/slimes/defiler.lua +++ b/data/monster/slimes/defiler.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 6532 monster.speed = 160 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/slimes/devourer.lua b/data/monster/slimes/devourer.lua index a6dbccabc..fcd1df3e4 100644 --- a/data/monster/slimes/devourer.lua +++ b/data/monster/slimes/devourer.lua @@ -33,7 +33,6 @@ monster.race = "venom" monster.corpse = 23484 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/slimes/glooth_blob.lua b/data/monster/slimes/glooth_blob.lua index 3bcf6edb0..6e695ac22 100644 --- a/data/monster/slimes/glooth_blob.lua +++ b/data/monster/slimes/glooth_blob.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 23479 monster.speed = 160 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -72,8 +70,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Glooth Blob", chance = 6, interval = 2000} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Glooth Blob", chance = 6, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/slimes/ink_blob.lua b/data/monster/slimes/ink_blob.lua index 27c65f1a9..f1d2c7f7b 100644 --- a/data/monster/slimes/ink_blob.lua +++ b/data/monster/slimes/ink_blob.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 33345 monster.speed = 380 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/slimes/mercury_blob.lua b/data/monster/slimes/mercury_blob.lua index 9ceeb67af..dfdf7ff9e 100644 --- a/data/monster/slimes/mercury_blob.lua +++ b/data/monster/slimes/mercury_blob.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 9961 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -72,8 +70,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Mercury Blob", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Mercury Blob", chance = 10, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/slimes/midnight_spawn.lua b/data/monster/slimes/midnight_spawn.lua index 5ae05c6f7..b95464e93 100644 --- a/data/monster/slimes/midnight_spawn.lua +++ b/data/monster/slimes/midnight_spawn.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 9960 monster.speed = 340 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/slimes/slime.lua b/data/monster/slimes/slime.lua index 94f1c76fc..f19d7e99b 100644 --- a/data/monster/slimes/slime.lua +++ b/data/monster/slimes/slime.lua @@ -37,7 +37,6 @@ monster.race = "venom" monster.corpse = 8062 monster.speed = 120 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 4000, @@ -65,8 +64,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -74,8 +72,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Slime", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Slime", chance = 10, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/slimes/son_of_verminor.lua b/data/monster/slimes/son_of_verminor.lua index f6c0c1f10..9b40781a6 100644 --- a/data/monster/slimes/son_of_verminor.lua +++ b/data/monster/slimes/son_of_verminor.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 1490 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/slimes/squidgy_slime.lua b/data/monster/slimes/squidgy_slime.lua index 06276ad6f..e857a0b5c 100644 --- a/data/monster/slimes/squidgy_slime.lua +++ b/data/monster/slimes/squidgy_slime.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 8062 monster.speed = 120 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -72,8 +70,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Squidgy Slime", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Squidgy Slime", chance = 10, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/summons/druid_familiar.lua b/data/monster/summons/druid_familiar.lua index ceb91de2f..b0ba41344 100644 --- a/data/monster/summons/druid_familiar.lua +++ b/data/monster/summons/druid_familiar.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 309 monster.manaCost = 3000 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, diff --git a/data/monster/summons/knight_familiar.lua b/data/monster/summons/knight_familiar.lua index f67e59c34..a0c45a9a0 100644 --- a/data/monster/summons/knight_familiar.lua +++ b/data/monster/summons/knight_familiar.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 309 monster.manaCost = 1000 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, diff --git a/data/monster/summons/paladin_familiar.lua b/data/monster/summons/paladin_familiar.lua index 099a7320c..3499d2229 100644 --- a/data/monster/summons/paladin_familiar.lua +++ b/data/monster/summons/paladin_familiar.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 309 monster.manaCost = 2000 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, diff --git a/data/monster/summons/sorcerer_familiar.lua b/data/monster/summons/sorcerer_familiar.lua index 4057bde36..f3839d6ca 100644 --- a/data/monster/summons/sorcerer_familiar.lua +++ b/data/monster/summons/sorcerer_familiar.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 309 monster.manaCost = 3000 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, diff --git a/data/monster/traps/deathslicer.lua b/data/monster/traps/deathslicer.lua index 1ff32995b..32c962e2a 100644 --- a/data/monster/traps/deathslicer.lua +++ b/data/monster/traps/deathslicer.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 2253 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/traps/deaththrower.lua b/data/monster/traps/deaththrower.lua index 1978c6785..f46d61777 100644 --- a/data/monster/traps/deaththrower.lua +++ b/data/monster/traps/deaththrower.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/traps/demon_summoner.lua b/data/monster/traps/demon_summoner.lua index 5c7541274..fd98d77da 100644 --- a/data/monster/traps/demon_summoner.lua +++ b/data/monster/traps/demon_summoner.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 4000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -50,8 +48,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Demon", chance = 100, interval = 1000} +monster.summon = { + maxSummons = 1, + summons = { + {name = "Demon", chance = 100, interval = 1000, count = 1} + } } monster.voices = { diff --git a/data/monster/traps/floor_blob.lua b/data/monster/traps/floor_blob.lua index d1f8fbd61..ae9a8c6c8 100644 --- a/data/monster/traps/floor_blob.lua +++ b/data/monster/traps/floor_blob.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/traps/hell_hole.lua b/data/monster/traps/hell_hole.lua index dcff7df01..1ba0e1200 100644 --- a/data/monster/traps/hell_hole.lua +++ b/data/monster/traps/hell_hole.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 1 monster.changeTarget = { interval = 4000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -50,8 +48,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Deathspawn", chance = 25, interval = 2000} +monster.summon = { + maxSummons = 1, + summons = { + {name = "Deathspawn", chance = 25, interval = 2000, count = 1} + } } monster.voices = { diff --git a/data/monster/traps/hive_pore.lua b/data/monster/traps/hive_pore.lua index eab642727..d45fa7fa9 100644 --- a/data/monster/traps/hive_pore.lua +++ b/data/monster/traps/hive_pore.lua @@ -13,7 +13,6 @@ monster.race = "venom" monster.corpse = 0 monster.speed = 0 monster.manaCost = 355 -monster.maxSummons = 3 monster.changeTarget = { interval = 4000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -50,10 +48,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Lesser Swarmer", chance = 100, interval = 30000}, - {name = "Lesser Swarmer", chance = 100, interval = 30000}, - {name = "Lesser Swarmer", chance = 100, interval = 30000} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Lesser Swarmer", chance = 100, interval = 30000, count = 3} + } } monster.voices = { diff --git a/data/monster/traps/lavahole.lua b/data/monster/traps/lavahole.lua index b7c1ede73..38656294d 100644 --- a/data/monster/traps/lavahole.lua +++ b/data/monster/traps/lavahole.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/traps/magic_pillar.lua b/data/monster/traps/magic_pillar.lua index b32611bfb..8965a7c06 100644 --- a/data/monster/traps/magic_pillar.lua +++ b/data/monster/traps/magic_pillar.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 2000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { @@ -50,8 +48,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Demon", chance = 7, interval = 2000, max = 3} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Demon", chance = 7, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/traps/magicthrower.lua b/data/monster/traps/magicthrower.lua index 6663d9221..590e8f685 100644 --- a/data/monster/traps/magicthrower.lua +++ b/data/monster/traps/magicthrower.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/traps/mechanical_fighter.lua b/data/monster/traps/mechanical_fighter.lua index 9fe68c45d..c68ece641 100644 --- a/data/monster/traps/mechanical_fighter.lua +++ b/data/monster/traps/mechanical_fighter.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 2253 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/traps/mimic.lua b/data/monster/traps/mimic.lua index ac765602b..040233992 100644 --- a/data/monster/traps/mimic.lua +++ b/data/monster/traps/mimic.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 1740 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/traps/pillar.lua b/data/monster/traps/pillar.lua index c1ad726ed..3a3ebdf9f 100644 --- a/data/monster/traps/pillar.lua +++ b/data/monster/traps/pillar.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/traps/plaguethrower.lua b/data/monster/traps/plaguethrower.lua index 96c997bb1..da8ebbdf6 100644 --- a/data/monster/traps/plaguethrower.lua +++ b/data/monster/traps/plaguethrower.lua @@ -13,7 +13,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 0 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -41,8 +40,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/undeads/bane_of_light.lua b/data/monster/undeads/bane_of_light.lua index 503f7c598..ae2deaedb 100644 --- a/data/monster/undeads/bane_of_light.lua +++ b/data/monster/undeads/bane_of_light.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6006 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/undeads/banshee.lua b/data/monster/undeads/banshee.lua index ebc3db51e..1dde99a73 100644 --- a/data/monster/undeads/banshee.lua +++ b/data/monster/undeads/banshee.lua @@ -35,7 +35,6 @@ monster.race = "undead" monster.corpse = 6019 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -65,8 +64,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/betrayed_wraith.lua b/data/monster/undeads/betrayed_wraith.lua index 7d3e9d40d..d44d8969b 100644 --- a/data/monster/undeads/betrayed_wraith.lua +++ b/data/monster/undeads/betrayed_wraith.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 6316 monster.speed = 346 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/blightwalker.lua b/data/monster/undeads/blightwalker.lua index e5bb8e1f7..4366ad243 100644 --- a/data/monster/undeads/blightwalker.lua +++ b/data/monster/undeads/blightwalker.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 6354 monster.speed = 350 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/blood_beast.lua b/data/monster/undeads/blood_beast.lua index 9a8362401..342492fb2 100644 --- a/data/monster/undeads/blood_beast.lua +++ b/data/monster/undeads/blood_beast.lua @@ -33,7 +33,6 @@ monster.race = "venom" monster.corpse = 23351 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/bonebeast.lua b/data/monster/undeads/bonebeast.lua index 0fdc30f4b..703df0b63 100644 --- a/data/monster/undeads/bonebeast.lua +++ b/data/monster/undeads/bonebeast.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 6030 monster.speed = 218 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/bony_sea_devil.lua b/data/monster/undeads/bony_sea_devil.lua index f568b3d69..21c40fec3 100644 --- a/data/monster/undeads/bony_sea_devil.lua +++ b/data/monster/undeads/bony_sea_devil.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 38632 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/burster_spectre.lua b/data/monster/undeads/burster_spectre.lua index 3c4572ca1..a17b5578a 100644 --- a/data/monster/undeads/burster_spectre.lua +++ b/data/monster/undeads/burster_spectre.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 34801 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/capricious_phantom.lua b/data/monster/undeads/capricious_phantom.lua index 9b693954f..ccb9d2332 100644 --- a/data/monster/undeads/capricious_phantom.lua +++ b/data/monster/undeads/capricious_phantom.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 38956 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/crypt_shambler.lua b/data/monster/undeads/crypt_shambler.lua index 25ea5f942..c185ccb6d 100644 --- a/data/monster/undeads/crypt_shambler.lua +++ b/data/monster/undeads/crypt_shambler.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 6029 monster.speed = 140 monster.manaCost = 580 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/crypt_warrior.lua b/data/monster/undeads/crypt_warrior.lua index 359971749..8d8bbf6a4 100644 --- a/data/monster/undeads/crypt_warrior.lua +++ b/data/monster/undeads/crypt_warrior.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 5972 monster.speed = 155 monster.manaCost = 350 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/cursed_prospector.lua b/data/monster/undeads/cursed_prospector.lua index ec5697737..7a512b340 100644 --- a/data/monster/undeads/cursed_prospector.lua +++ b/data/monster/undeads/cursed_prospector.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 37445 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/death_priest.lua b/data/monster/undeads/death_priest.lua index 351795d1b..694396df1 100644 --- a/data/monster/undeads/death_priest.lua +++ b/data/monster/undeads/death_priest.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 13975 monster.speed = 204 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/undeads/demon_skeleton.lua b/data/monster/undeads/demon_skeleton.lua index ee28cf7b6..82d86ad26 100644 --- a/data/monster/undeads/demon_skeleton.lua +++ b/data/monster/undeads/demon_skeleton.lua @@ -35,7 +35,6 @@ monster.race = "undead" monster.corpse = 5963 monster.speed = 180 monster.manaCost = 620 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/distorted_phantom.lua b/data/monster/undeads/distorted_phantom.lua index e1547bbba..1ebe380b1 100644 --- a/data/monster/undeads/distorted_phantom.lua +++ b/data/monster/undeads/distorted_phantom.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 38968 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/druid's_apparition.lua b/data/monster/undeads/druid's_apparition.lua index 58a2e5aba..b57a97d3f 100644 --- a/data/monster/undeads/druid's_apparition.lua +++ b/data/monster/undeads/druid's_apparition.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6081 monster.speed = 235 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/elder_mummy.lua b/data/monster/undeads/elder_mummy.lua index f94215a09..847e20c03 100644 --- a/data/monster/undeads/elder_mummy.lua +++ b/data/monster/undeads/elder_mummy.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 6004 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/evil_prospector.lua b/data/monster/undeads/evil_prospector.lua index 0b645ba63..3714afb14 100644 --- a/data/monster/undeads/evil_prospector.lua +++ b/data/monster/undeads/evil_prospector.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 37445 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/falcon_knight.lua b/data/monster/undeads/falcon_knight.lua index 8f16a2c32..ee259d199 100644 --- a/data/monster/undeads/falcon_knight.lua +++ b/data/monster/undeads/falcon_knight.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 33364 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/falcon_paladin.lua b/data/monster/undeads/falcon_paladin.lua index e8be2d7b2..1ad1560c7 100644 --- a/data/monster/undeads/falcon_paladin.lua +++ b/data/monster/undeads/falcon_paladin.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 32558 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/flimsy_lost_soul.lua b/data/monster/undeads/flimsy_lost_soul.lua index 04e745616..ba7724ba2 100644 --- a/data/monster/undeads/flimsy_lost_soul.lua +++ b/data/monster/undeads/flimsy_lost_soul.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 37445 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/freakish_lost_soul.lua b/data/monster/undeads/freakish_lost_soul.lua index a76d7ba89..1216e7b80 100644 --- a/data/monster/undeads/freakish_lost_soul.lua +++ b/data/monster/undeads/freakish_lost_soul.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 37445 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/gazer_spectre.lua b/data/monster/undeads/gazer_spectre.lua index 025c9f5af..83ce3c653 100644 --- a/data/monster/undeads/gazer_spectre.lua +++ b/data/monster/undeads/gazer_spectre.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 34805 monster.speed = 390 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/ghost.lua b/data/monster/undeads/ghost.lua index 85a5c6c5f..86f89ca27 100644 --- a/data/monster/undeads/ghost.lua +++ b/data/monster/undeads/ghost.lua @@ -34,7 +34,6 @@ monster.race = "undead" monster.corpse = 5993 monster.speed = 160 monster.manaCost = 100 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/ghoul.lua b/data/monster/undeads/ghoul.lua index dc6d240ed..d366bf075 100644 --- a/data/monster/undeads/ghoul.lua +++ b/data/monster/undeads/ghoul.lua @@ -39,7 +39,6 @@ monster.race = "blood" monster.corpse = 5976 monster.speed = 144 monster.manaCost = 450 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -67,8 +66,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/undeads/grave_guard.lua b/data/monster/undeads/grave_guard.lua index b92412eee..b4fe1560a 100644 --- a/data/monster/undeads/grave_guard.lua +++ b/data/monster/undeads/grave_guard.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 13975 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/gravedigger.lua b/data/monster/undeads/gravedigger.lua index f96cdcae9..f85ac95e1 100644 --- a/data/monster/undeads/gravedigger.lua +++ b/data/monster/undeads/gravedigger.lua @@ -33,7 +33,6 @@ monster.race = "blood" monster.corpse = 21279 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/undeads/grim_reaper.lua b/data/monster/undeads/grim_reaper.lua index 386304c17..f050be657 100644 --- a/data/monster/undeads/grim_reaper.lua +++ b/data/monster/undeads/grim_reaper.lua @@ -34,7 +34,6 @@ monster.race = "undead" monster.corpse = 8955 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/hand_of_cursed_fate.lua b/data/monster/undeads/hand_of_cursed_fate.lua index ebfde3be9..44df1d42e 100644 --- a/data/monster/undeads/hand_of_cursed_fate.lua +++ b/data/monster/undeads/hand_of_cursed_fate.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6312 monster.speed = 260 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/hazardous_phantom.lua b/data/monster/undeads/hazardous_phantom.lua index 28819d33c..1618da349 100644 --- a/data/monster/undeads/hazardous_phantom.lua +++ b/data/monster/undeads/hazardous_phantom.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 38960 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/honour_guard.lua b/data/monster/undeads/honour_guard.lua index 92d6e2d74..546853ecb 100644 --- a/data/monster/undeads/honour_guard.lua +++ b/data/monster/undeads/honour_guard.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 2843 monster.speed = 154 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/undeads/infernal_phantom.lua b/data/monster/undeads/infernal_phantom.lua index 1569c0794..7bbed3023 100644 --- a/data/monster/undeads/infernal_phantom.lua +++ b/data/monster/undeads/infernal_phantom.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 38960 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/knight's_apparition.lua b/data/monster/undeads/knight's_apparition.lua index 0a01de757..20bbf6031 100644 --- a/data/monster/undeads/knight's_apparition.lua +++ b/data/monster/undeads/knight's_apparition.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6080 monster.speed = 235 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/lich.lua b/data/monster/undeads/lich.lua index 26b957d23..1210c73b1 100644 --- a/data/monster/undeads/lich.lua +++ b/data/monster/undeads/lich.lua @@ -34,7 +34,6 @@ monster.race = "undead" monster.corpse = 6028 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 4 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -73,8 +71,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Bonebeast", chance = 10, interval = 2000} +monster.summon = { + maxSummons = 4, + summons = { + {name = "Bonebeast", chance = 10, interval = 2000, count = 4} + } } monster.voices = { diff --git a/data/monster/undeads/lost_soul.lua b/data/monster/undeads/lost_soul.lua index c0c6cf7ba..fdafb20ce 100644 --- a/data/monster/undeads/lost_soul.lua +++ b/data/monster/undeads/lost_soul.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 6310 monster.speed = 380 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/mean_lost_soul.lua b/data/monster/undeads/mean_lost_soul.lua index cdad53b86..676a15afe 100644 --- a/data/monster/undeads/mean_lost_soul.lua +++ b/data/monster/undeads/mean_lost_soul.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 37445 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/mould_phantom.lua b/data/monster/undeads/mould_phantom.lua index 04eade2ed..7408a6863 100644 --- a/data/monster/undeads/mould_phantom.lua +++ b/data/monster/undeads/mould_phantom.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 38968 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/mummy.lua b/data/monster/undeads/mummy.lua index 07e6122c5..6850314ee 100644 --- a/data/monster/undeads/mummy.lua +++ b/data/monster/undeads/mummy.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 6004 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/paladin's_apparition.lua b/data/monster/undeads/paladin's_apparition.lua index 9521de0b7..8d7fde5e1 100644 --- a/data/monster/undeads/paladin's_apparition.lua +++ b/data/monster/undeads/paladin's_apparition.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6080 monster.speed = 235 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/pirate_ghost.lua b/data/monster/undeads/pirate_ghost.lua index a59a0cf17..7de3f2981 100644 --- a/data/monster/undeads/pirate_ghost.lua +++ b/data/monster/undeads/pirate_ghost.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 5566 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/undeads/pirate_skeleton.lua b/data/monster/undeads/pirate_skeleton.lua index cc7da2ab2..8a095df95 100644 --- a/data/monster/undeads/pirate_skeleton.lua +++ b/data/monster/undeads/pirate_skeleton.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 6070 monster.speed = 176 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/undeads/putrid_mummy.lua b/data/monster/undeads/putrid_mummy.lua index 68851fdec..b309ab520 100644 --- a/data/monster/undeads/putrid_mummy.lua +++ b/data/monster/undeads/putrid_mummy.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 6004 monster.speed = 150 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/ripper_spectre.lua b/data/monster/undeads/ripper_spectre.lua index 7a370bcb3..f8e3af22b 100644 --- a/data/monster/undeads/ripper_spectre.lua +++ b/data/monster/undeads/ripper_spectre.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 34664 monster.speed = 380 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/rot_elemental.lua b/data/monster/undeads/rot_elemental.lua index 0ebb04bf9..8c1f9b5ac 100644 --- a/data/monster/undeads/rot_elemental.lua +++ b/data/monster/undeads/rot_elemental.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 23481 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/skeleton.lua b/data/monster/undeads/skeleton.lua index ec026e582..df37b74e0 100644 --- a/data/monster/undeads/skeleton.lua +++ b/data/monster/undeads/skeleton.lua @@ -34,7 +34,6 @@ monster.race = "undead" monster.corpse = 5972 monster.speed = 154 monster.manaCost = 300 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/undeads/skeleton_elite_warrior.lua b/data/monster/undeads/skeleton_elite_warrior.lua index bbb00cbf8..f4da9d4d9 100644 --- a/data/monster/undeads/skeleton_elite_warrior.lua +++ b/data/monster/undeads/skeleton_elite_warrior.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 5972 monster.speed = 155 monster.manaCost = 350 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/skeleton_warrior.lua b/data/monster/undeads/skeleton_warrior.lua index 33135b0b2..1c88fb142 100644 --- a/data/monster/undeads/skeleton_warrior.lua +++ b/data/monster/undeads/skeleton_warrior.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 5972 monster.speed = 154 monster.manaCost = 350 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/undeads/sorcerer's_apparition.lua b/data/monster/undeads/sorcerer's_apparition.lua index d223b00a9..3606b4ec6 100644 --- a/data/monster/undeads/sorcerer's_apparition.lua +++ b/data/monster/undeads/sorcerer's_apparition.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 6081 monster.speed = 235 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/souleater.lua b/data/monster/undeads/souleater.lua index c004b1994..ace1d6409 100644 --- a/data/monster/undeads/souleater.lua +++ b/data/monster/undeads/souleater.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 12631 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/undeads/spectre.lua b/data/monster/undeads/spectre.lua index c36cea641..6cc717511 100644 --- a/data/monster/undeads/spectre.lua +++ b/data/monster/undeads/spectre.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 6348 monster.speed = 280 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/tarnished_spirit.lua b/data/monster/undeads/tarnished_spirit.lua index 22b996860..e5a87e74b 100644 --- a/data/monster/undeads/tarnished_spirit.lua +++ b/data/monster/undeads/tarnished_spirit.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 21366 monster.speed = 160 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/tomb_servant.lua b/data/monster/undeads/tomb_servant.lua index 925c70055..2b62c20a9 100644 --- a/data/monster/undeads/tomb_servant.lua +++ b/data/monster/undeads/tomb_servant.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 6029 monster.speed = 156 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/undeads/undead_cavebear.lua b/data/monster/undeads/undead_cavebear.lua index 894e3a6ed..aeb858739 100644 --- a/data/monster/undeads/undead_cavebear.lua +++ b/data/monster/undeads/undead_cavebear.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 13323 monster.speed = 218 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/undead_dragon.lua b/data/monster/undeads/undead_dragon.lua index 04eae6d55..fe7f157cd 100644 --- a/data/monster/undeads/undead_dragon.lua +++ b/data/monster/undeads/undead_dragon.lua @@ -34,7 +34,6 @@ monster.race = "undead" monster.corpse = 6306 monster.speed = 330 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -65,8 +64,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/undead_elite_gladiator.lua b/data/monster/undeads/undead_elite_gladiator.lua index 620c34c53..7a26624e1 100644 --- a/data/monster/undeads/undead_elite_gladiator.lua +++ b/data/monster/undeads/undead_elite_gladiator.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 9823 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/undeads/undead_gladiator.lua b/data/monster/undeads/undead_gladiator.lua index 4007dae0f..ba7d1dc84 100644 --- a/data/monster/undeads/undead_gladiator.lua +++ b/data/monster/undeads/undead_gladiator.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 9823 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/undeads/undead_mine_worker.lua b/data/monster/undeads/undead_mine_worker.lua index baa2403d4..d8646d0b4 100644 --- a/data/monster/undeads/undead_mine_worker.lua +++ b/data/monster/undeads/undead_mine_worker.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 5972 monster.speed = 154 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/undeads/undead_prospector.lua b/data/monster/undeads/undead_prospector.lua index cc0a16929..86b92c18e 100644 --- a/data/monster/undeads/undead_prospector.lua +++ b/data/monster/undeads/undead_prospector.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 5976 monster.speed = 144 monster.manaCost = 440 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/undeads/vampire.lua b/data/monster/undeads/vampire.lua index 5e6c9bf4b..923861a3d 100644 --- a/data/monster/undeads/vampire.lua +++ b/data/monster/undeads/vampire.lua @@ -35,7 +35,6 @@ monster.race = "blood" monster.corpse = 6006 monster.speed = 238 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/vampire_bride.lua b/data/monster/undeads/vampire_bride.lua index 8081a4cf3..b6c942f6a 100644 --- a/data/monster/undeads/vampire_bride.lua +++ b/data/monster/undeads/vampire_bride.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 9660 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/vampire_viscount.lua b/data/monster/undeads/vampire_viscount.lua index e9328a65b..9b104a95a 100644 --- a/data/monster/undeads/vampire_viscount.lua +++ b/data/monster/undeads/vampire_viscount.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 21278 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/vibrant_phantom.lua b/data/monster/undeads/vibrant_phantom.lua index 12086a6dc..13dc78f93 100644 --- a/data/monster/undeads/vibrant_phantom.lua +++ b/data/monster/undeads/vibrant_phantom.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 38648 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/vicious_manbat.lua b/data/monster/undeads/vicious_manbat.lua index ddc17ec26..bf32f4559 100644 --- a/data/monster/undeads/vicious_manbat.lua +++ b/data/monster/undeads/vicious_manbat.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 21266 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/undeads/white_shade.lua b/data/monster/undeads/white_shade.lua index e6fa62a44..407bc20d3 100644 --- a/data/monster/undeads/white_shade.lua +++ b/data/monster/undeads/white_shade.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 21376 monster.speed = 160 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/undeads/zombie.lua b/data/monster/undeads/zombie.lua index 1886c9aa2..d7a08ead0 100644 --- a/data/monster/undeads/zombie.lua +++ b/data/monster/undeads/zombie.lua @@ -32,7 +32,6 @@ monster.race = "undead" monster.corpse = 9875 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/ancient_scarab.lua b/data/monster/vermins/ancient_scarab.lua index 0b54ca0c0..bd66b72cc 100644 --- a/data/monster/vermins/ancient_scarab.lua +++ b/data/monster/vermins/ancient_scarab.lua @@ -34,7 +34,6 @@ monster.race = "venom" monster.corpse = 6021 monster.speed = 218 monster.manaCost = 0 -monster.maxSummons = 3 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -73,8 +71,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Larva", chance = 10, interval = 2000, max = 3} +monster.summon = { + maxSummons = 3, + summons = { + {name = "Larva", chance = 10, interval = 2000, count = 3} + } } monster.voices = { diff --git a/data/monster/vermins/brimstone_bug.lua b/data/monster/vermins/brimstone_bug.lua index 3442d1dc6..0bb43f0b2 100644 --- a/data/monster/vermins/brimstone_bug.lua +++ b/data/monster/vermins/brimstone_bug.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 12527 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/bug.lua b/data/monster/vermins/bug.lua index 9b65dc707..c344fa2fc 100644 --- a/data/monster/vermins/bug.lua +++ b/data/monster/vermins/bug.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 5990 monster.speed = 160 monster.manaCost = 250 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/vermins/burrowing_beetle.lua b/data/monster/vermins/burrowing_beetle.lua index f92d713b1..8bf56acbb 100644 --- a/data/monster/vermins/burrowing_beetle.lua +++ b/data/monster/vermins/burrowing_beetle.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 6024 monster.speed = 170 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/vermins/butterfly.lua b/data/monster/vermins/butterfly.lua index 38ae11a56..1a3a1384e 100644 --- a/data/monster/vermins/butterfly.lua +++ b/data/monster/vermins/butterfly.lua @@ -34,7 +34,6 @@ monster.race = "venom" monster.corpse = 4313 monster.speed = 320 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/vermins/carrion_worm.lua b/data/monster/vermins/carrion_worm.lua index 3d1335d8f..318be4e24 100644 --- a/data/monster/vermins/carrion_worm.lua +++ b/data/monster/vermins/carrion_worm.lua @@ -34,7 +34,6 @@ monster.race = "blood" monster.corpse = 6069 monster.speed = 130 monster.manaCost = 380 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/vermins/cave_devourer.lua b/data/monster/vermins/cave_devourer.lua index ad6d56dcc..1e4626804 100644 --- a/data/monster/vermins/cave_devourer.lua +++ b/data/monster/vermins/cave_devourer.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 30794 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/centipede.lua b/data/monster/vermins/centipede.lua index 4448d22da..3041b524c 100644 --- a/data/monster/vermins/centipede.lua +++ b/data/monster/vermins/centipede.lua @@ -33,7 +33,6 @@ monster.race = "venom" monster.corpse = 6050 monster.speed = 166 monster.manaCost = 335 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/chasm_spawn.lua b/data/monster/vermins/chasm_spawn.lua index c01150ff8..05d750743 100644 --- a/data/monster/vermins/chasm_spawn.lua +++ b/data/monster/vermins/chasm_spawn.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 30798 monster.speed = 115 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/cockroach.lua b/data/monster/vermins/cockroach.lua index 68395cc68..06919fb1a 100644 --- a/data/monster/vermins/cockroach.lua +++ b/data/monster/vermins/cockroach.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 8593 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 60000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/vermins/crawler.lua b/data/monster/vermins/crawler.lua index 876e8bf6e..5cb2b4282 100644 --- a/data/monster/vermins/crawler.lua +++ b/data/monster/vermins/crawler.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 15292 monster.speed = 250 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/crystal_spider.lua b/data/monster/vermins/crystal_spider.lua index 8591e5480..9135f9c51 100644 --- a/data/monster/vermins/crystal_spider.lua +++ b/data/monster/vermins/crystal_spider.lua @@ -33,7 +33,6 @@ monster.race = "venom" monster.corpse = 7344 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/deepworm.lua b/data/monster/vermins/deepworm.lua index 1a5585044..e00336972 100644 --- a/data/monster/vermins/deepworm.lua +++ b/data/monster/vermins/deepworm.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 30780 monster.speed = 204 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/diremaw.lua b/data/monster/vermins/diremaw.lua index b79643cbc..ea4dc7bfa 100644 --- a/data/monster/vermins/diremaw.lua +++ b/data/monster/vermins/diremaw.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 30729 monster.speed = 300 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/drillworm.lua b/data/monster/vermins/drillworm.lua index dca626769..92791171a 100644 --- a/data/monster/vermins/drillworm.lua +++ b/data/monster/vermins/drillworm.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 19705 monster.speed = 220 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/emerald_damselfly.lua b/data/monster/vermins/emerald_damselfly.lua index eeb34ce4f..f9f1b0950 100644 --- a/data/monster/vermins/emerald_damselfly.lua +++ b/data/monster/vermins/emerald_damselfly.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 19706 monster.speed = 200 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/vermins/exotic_cave_spider.lua b/data/monster/vermins/exotic_cave_spider.lua index 8cfd14e2e..18279f987 100644 --- a/data/monster/vermins/exotic_cave_spider.lua +++ b/data/monster/vermins/exotic_cave_spider.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 40193 monster.speed = 264 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/giant_spider.lua b/data/monster/vermins/giant_spider.lua index 1968de537..bf14e499e 100644 --- a/data/monster/vermins/giant_spider.lua +++ b/data/monster/vermins/giant_spider.lua @@ -41,7 +41,6 @@ monster.race = "venom" monster.corpse = 5977 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -71,8 +70,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -80,8 +78,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Poison Spider", chance = 10, interval = 2000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Poison Spider", chance = 10, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/vermins/hibernal_moth.lua b/data/monster/vermins/hibernal_moth.lua index 4efc929bc..0e288f2fa 100644 --- a/data/monster/vermins/hibernal_moth.lua +++ b/data/monster/vermins/hibernal_moth.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 34817 monster.speed = 400 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/hive_overseer.lua b/data/monster/vermins/hive_overseer.lua index 53a071c10..de9f33343 100644 --- a/data/monster/vermins/hive_overseer.lua +++ b/data/monster/vermins/hive_overseer.lua @@ -35,7 +35,6 @@ monster.race = "venom" monster.corpse = 15354 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 2 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { @@ -72,8 +70,11 @@ monster.light = { color = 0 } -monster.summons = { - {name = "Spidris Elite", chance = 40, interval = 2000, max = 2} +monster.summon = { + maxSummons = 2, + summons = { + {name = "Spidris Elite", chance = 40, interval = 2000, count = 2} + } } monster.voices = { diff --git a/data/monster/vermins/insect_swarm.lua b/data/monster/vermins/insect_swarm.lua index 58e8376c8..a6c795af7 100644 --- a/data/monster/vermins/insect_swarm.lua +++ b/data/monster/vermins/insect_swarm.lua @@ -33,7 +33,6 @@ monster.race = "undead" monster.corpse = 11320 monster.speed = 236 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/vermins/insectoid_scout.lua b/data/monster/vermins/insectoid_scout.lua index 3f85eaac3..c446522cc 100644 --- a/data/monster/vermins/insectoid_scout.lua +++ b/data/monster/vermins/insectoid_scout.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 13514 monster.speed = 202 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/vermins/insectoid_worker.lua b/data/monster/vermins/insectoid_worker.lua index a3021f801..4861403c1 100644 --- a/data/monster/vermins/insectoid_worker.lua +++ b/data/monster/vermins/insectoid_worker.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 13514 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/kollos.lua b/data/monster/vermins/kollos.lua index 36f5645c5..990b32707 100644 --- a/data/monster/vermins/kollos.lua +++ b/data/monster/vermins/kollos.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 15354 monster.speed = 230 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/lacewing_moth.lua b/data/monster/vermins/lacewing_moth.lua index 97cec774f..891eb9b21 100644 --- a/data/monster/vermins/lacewing_moth.lua +++ b/data/monster/vermins/lacewing_moth.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 34813 monster.speed = 380 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/ladybug.lua b/data/monster/vermins/ladybug.lua index c8494080a..c6645fc58 100644 --- a/data/monster/vermins/ladybug.lua +++ b/data/monster/vermins/ladybug.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 15272 monster.speed = 104 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/vermins/lancer_beetle.lua b/data/monster/vermins/lancer_beetle.lua index d1f99f73b..2db861e0f 100644 --- a/data/monster/vermins/lancer_beetle.lua +++ b/data/monster/vermins/lancer_beetle.lua @@ -33,7 +33,6 @@ monster.race = "venom" monster.corpse = 11375 monster.speed = 266 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/larva.lua b/data/monster/vermins/larva.lua index fee254ce0..71641e743 100644 --- a/data/monster/vermins/larva.lua +++ b/data/monster/vermins/larva.lua @@ -34,7 +34,6 @@ monster.race = "venom" monster.corpse = 6023 monster.speed = 124 monster.manaCost = 355 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/lesser_swarmer.lua b/data/monster/vermins/lesser_swarmer.lua index 7e3c7648c..be381fd0e 100644 --- a/data/monster/vermins/lesser_swarmer.lua +++ b/data/monster/vermins/lesser_swarmer.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 15388 monster.speed = 180 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/vermins/parasite.lua b/data/monster/vermins/parasite.lua index f4ab86d4a..16bba3b1c 100644 --- a/data/monster/vermins/parasite.lua +++ b/data/monster/vermins/parasite.lua @@ -19,7 +19,6 @@ monster.race = "venom" monster.corpse = 6023 monster.speed = 175 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/poison_spider.lua b/data/monster/vermins/poison_spider.lua index 7e2917b85..6edaf0302 100644 --- a/data/monster/vermins/poison_spider.lua +++ b/data/monster/vermins/poison_spider.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 5974 monster.speed = 160 monster.manaCost = 270 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/rotworm.lua b/data/monster/vermins/rotworm.lua index 449926b48..4177451d8 100644 --- a/data/monster/vermins/rotworm.lua +++ b/data/monster/vermins/rotworm.lua @@ -36,7 +36,6 @@ monster.race = "blood" monster.corpse = 5967 monster.speed = 116 monster.manaCost = 305 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -64,8 +63,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/vermins/sacred_spider.lua b/data/monster/vermins/sacred_spider.lua index f4f6fb56f..df5a2114e 100644 --- a/data/monster/vermins/sacred_spider.lua +++ b/data/monster/vermins/sacred_spider.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 6060 monster.speed = 244 monster.manaCost = 485 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/sandcrawler.lua b/data/monster/vermins/sandcrawler.lua index 7c18a421a..4fdeef6e8 100644 --- a/data/monster/vermins/sandcrawler.lua +++ b/data/monster/vermins/sandcrawler.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 11357 monster.speed = 160 monster.manaCost = 250 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/vermins/scarab.lua b/data/monster/vermins/scarab.lua index d0642a704..9a5060cfb 100644 --- a/data/monster/vermins/scarab.lua +++ b/data/monster/vermins/scarab.lua @@ -33,7 +33,6 @@ monster.race = "venom" monster.corpse = 6024 monster.speed = 160 monster.manaCost = 395 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/scorpion.lua b/data/monster/vermins/scorpion.lua index afc33236e..8d1164830 100644 --- a/data/monster/vermins/scorpion.lua +++ b/data/monster/vermins/scorpion.lua @@ -36,7 +36,6 @@ monster.race = "venom" monster.corpse = 5988 monster.speed = 150 monster.manaCost = 310 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -65,8 +64,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/slug.lua b/data/monster/vermins/slug.lua index 31370dac6..151963da8 100644 --- a/data/monster/vermins/slug.lua +++ b/data/monster/vermins/slug.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 13515 monster.speed = 104 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/vermins/spider.lua b/data/monster/vermins/spider.lua index e9bf88c97..4a51e721b 100644 --- a/data/monster/vermins/spider.lua +++ b/data/monster/vermins/spider.lua @@ -33,7 +33,6 @@ monster.race = "venom" monster.corpse = 5961 monster.speed = 152 monster.manaCost = 210 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/vermins/spidris.lua b/data/monster/vermins/spidris.lua index bd0303a39..efdb77adf 100644 --- a/data/monster/vermins/spidris.lua +++ b/data/monster/vermins/spidris.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 15296 monster.speed = 390 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/spidris_elite.lua b/data/monster/vermins/spidris_elite.lua index 5bfc1a831..68fdc91cc 100644 --- a/data/monster/vermins/spidris_elite.lua +++ b/data/monster/vermins/spidris_elite.lua @@ -33,7 +33,6 @@ monster.race = "venom" monster.corpse = 15296 monster.speed = 394 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/spitter.lua b/data/monster/vermins/spitter.lua index e7b5019be..a7b8e5fdb 100644 --- a/data/monster/vermins/spitter.lua +++ b/data/monster/vermins/spitter.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 15392 monster.speed = 270 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/swarmer.lua b/data/monster/vermins/swarmer.lua index b1e1ea899..e63a1f812 100644 --- a/data/monster/vermins/swarmer.lua +++ b/data/monster/vermins/swarmer.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 15388 monster.speed = 256 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/swarmer_hatchling.lua b/data/monster/vermins/swarmer_hatchling.lua index 2555cc904..73c5804c1 100644 --- a/data/monster/vermins/swarmer_hatchling.lua +++ b/data/monster/vermins/swarmer_hatchling.lua @@ -19,7 +19,6 @@ monster.race = "blood" monster.corpse = 15388 monster.speed = 560 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 2000, @@ -47,8 +46,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/vermins/tarantula.lua b/data/monster/vermins/tarantula.lua index f58018257..d98af116f 100644 --- a/data/monster/vermins/tarantula.lua +++ b/data/monster/vermins/tarantula.lua @@ -36,7 +36,6 @@ monster.race = "venom" monster.corpse = 6060 monster.speed = 214 monster.manaCost = 485 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -65,8 +64,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/terramite.lua b/data/monster/vermins/terramite.lua index 7ca18deee..11509cdcf 100644 --- a/data/monster/vermins/terramite.lua +++ b/data/monster/vermins/terramite.lua @@ -33,7 +33,6 @@ monster.race = "venom" monster.corpse = 11347 monster.speed = 222 monster.manaCost = 505 -monster.maxSummons = 0 monster.changeTarget = { interval = 5000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/vermins/tunnel_tyrant.lua b/data/monster/vermins/tunnel_tyrant.lua index 5905e3293..0d41fab5c 100644 --- a/data/monster/vermins/tunnel_tyrant.lua +++ b/data/monster/vermins/tunnel_tyrant.lua @@ -32,7 +32,6 @@ monster.race = "blood" monster.corpse = 30790 monster.speed = 240 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 10000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = true, canWalkOnFire = true, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/wailing_widow.lua b/data/monster/vermins/wailing_widow.lua index c423a3bb7..a7a942971 100644 --- a/data/monster/vermins/wailing_widow.lua +++ b/data/monster/vermins/wailing_widow.lua @@ -33,7 +33,6 @@ monster.race = "venom" monster.corpse = 11310 monster.speed = 254 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -62,8 +61,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/wasp.lua b/data/monster/vermins/wasp.lua index 5a57c55f6..a3059d078 100644 --- a/data/monster/vermins/wasp.lua +++ b/data/monster/vermins/wasp.lua @@ -34,7 +34,6 @@ monster.race = "venom" monster.corpse = 5989 monster.speed = 320 monster.manaCost = 280 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -63,8 +62,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/waspoid.lua b/data/monster/vermins/waspoid.lua index e7011e741..2f6088327 100644 --- a/data/monster/vermins/waspoid.lua +++ b/data/monster/vermins/waspoid.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 15396 monster.speed = 310 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -60,8 +59,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/vermins/wiggler.lua b/data/monster/vermins/wiggler.lua index 8693900b2..c6bae459d 100644 --- a/data/monster/vermins/wiggler.lua +++ b/data/monster/vermins/wiggler.lua @@ -32,7 +32,6 @@ monster.race = "venom" monster.corpse = 18483 monster.speed = 360 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -61,8 +60,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = true, - pet = false + canWalkOnPoison = true } monster.light = { diff --git a/data/monster/wild_magics/wild_fire_magic.lua b/data/monster/wild_magics/wild_fire_magic.lua index 71a21be40..91e1f6a2d 100644 --- a/data/monster/wild_magics/wild_fire_magic.lua +++ b/data/monster/wild_magics/wild_fire_magic.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/wild_magics/wild_fury_magic.lua b/data/monster/wild_magics/wild_fury_magic.lua index 0b54b5e08..ad2eca4e0 100644 --- a/data/monster/wild_magics/wild_fury_magic.lua +++ b/data/monster/wild_magics/wild_fury_magic.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/wild_magics/wild_nature_magic.lua b/data/monster/wild_magics/wild_nature_magic.lua index cb20e1221..220da6156 100644 --- a/data/monster/wild_magics/wild_nature_magic.lua +++ b/data/monster/wild_magics/wild_nature_magic.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/monster/wild_magics/wild_water_magic.lua b/data/monster/wild_magics/wild_water_magic.lua index e651a2dfd..9ea5bbd98 100644 --- a/data/monster/wild_magics/wild_water_magic.lua +++ b/data/monster/wild_magics/wild_water_magic.lua @@ -19,7 +19,6 @@ monster.race = "undead" monster.corpse = 0 monster.speed = 210 monster.manaCost = 0 -monster.maxSummons = 0 monster.changeTarget = { interval = 4000, @@ -50,8 +49,7 @@ monster.flags = { isBlockable = false, canWalkOnEnergy = false, canWalkOnFire = false, - canWalkOnPoison = false, - pet = false + canWalkOnPoison = false } monster.light = { diff --git a/data/npc/Albinius.xml b/data/npc/Albinius.xml index 89a807cc2..728d01141 100644 --- a/data/npc/Albinius.xml +++ b/data/npc/Albinius.xml @@ -1,8 +1,9 @@ - - - + + + - + + diff --git a/data/npc/lib/npcsystem/modules.lua b/data/npc/lib/npcsystem/modules.lua index 0e3d151a6..b11d6051b 100644 --- a/data/npc/lib/npcsystem/modules.lua +++ b/data/npc/lib/npcsystem/modules.lua @@ -1115,6 +1115,14 @@ if Modules == nil then subType = -1 end + local item = player:getItemById(itemid, true) + if item then + local imbuement = item:getImbuement() + if imbuement and imbuement.duration then + return player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "It is not possible to sell an imbued item.") + end + end + if player:removeItem(itemid, amount, subType, ignoreEquipped) then local msg = self.npcHandler:getMessage(MESSAGE_SOLD) msg = self.npcHandler:parseMessage(msg, parseInfo) diff --git a/data/scripts/actions/object/imbuement_shrine.lua b/data/scripts/actions/object/imbuement_shrine.lua index dbc0b908e..991336007 100644 --- a/data/scripts/actions/object/imbuement_shrine.lua +++ b/data/scripts/actions/object/imbuement_shrine.lua @@ -1,7 +1,11 @@ local imbuement = Action() function imbuement.onUse(player, item, fromPosition, target, toPosition, isHotkey) - player:sendImbuementPanel(target, true) + if configManager.getBoolean(configKeys.TOGLE_IMBUEMENT_SHRINE_STORAGE) and player:getStorageValue(Storage.ForgottenKnowledge.Tomes) ~= 1 then + return player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You did not collect enough knowledge from the ancient Shapers.") + end + + player:openImbuementWindow(target) return true end diff --git a/data/scripts/actions/other/dolls.lua b/data/scripts/actions/other/dolls.lua index 84727716c..3ef69dc3a 100644 --- a/data/scripts/actions/other/dolls.lua +++ b/data/scripts/actions/other/dolls.lua @@ -28,7 +28,7 @@ local dolls = { "Merry Christmas!", "Can you stop squeezing me now... I'm starting to feel a little sick." }, - [8974] = {"ARE YOU PREPARED TO FACE YOUR DESTINY?"}, + --[8974] = {"ARE YOU PREPARED TO FACE YOUR DESTINY?"}, [8977] = { "Weirdo, you're a weirdo! Actually all of you are!", "Pie for breakfast, pie for lunch and pie for dinner!", diff --git a/data/scripts/actions/other/exercise_training.lua b/data/scripts/actions/other/exercise_training.lua index a74c1655b..f4bc4b14b 100644 --- a/data/scripts/actions/other/exercise_training.lua +++ b/data/scripts/actions/other/exercise_training.lua @@ -1,176 +1,65 @@ -local skills = { - [32384] = {id=SKILL_SWORD,voc=4}, -- KNIGHT - [32385] = {id=SKILL_AXE,voc=4}, -- KNIGHT - [32386] = {id=SKILL_CLUB,voc=4}, -- KNIGHT - [32387] = {id=SKILL_DISTANCE,voc=3,range=CONST_ANI_SIMPLEARROW}, -- PALADIN - [32388] = {id=SKILL_MAGLEVEL,voc=2,range=CONST_ANI_SMALLICE}, -- DRUID - [32389] = {id=SKILL_MAGLEVEL,voc=1,range=CONST_ANI_FIRE}, -- SORCERER - [32124] = {id=SKILL_SWORD,voc=4}, -- KNIGHT - [32125] = {id=SKILL_AXE,voc=4}, -- KNIGHT - [32126] = {id=SKILL_CLUB,voc=4}, -- KNIGHT - [32127] = {id=SKILL_DISTANCE,voc=3,range=CONST_ANI_SIMPLEARROW}, -- PALADIN - [32128] = {id=SKILL_MAGLEVEL,voc=2,range=CONST_ANI_SMALLICE}, -- DRUID - [32129] = {id=SKILL_MAGLEVEL,voc=1,range=CONST_ANI_FIRE}, -- SORCERER - [40114] = {id=SKILL_SWORD,voc=4}, -- KNIGHT - [40115] = {id=SKILL_AXE,voc=4}, -- KNIGHT - [40116] = {id=SKILL_CLUB,voc=4}, -- KNIGHT - [40117] = {id=SKILL_DISTANCE,voc=3,range=CONST_ANI_SIMPLEARROW}, -- PALADIN - [40118] = {id=SKILL_MAGLEVEL,voc=2,range=CONST_ANI_SMALLICE}, -- DRUID - [40119] = {id=SKILL_MAGLEVEL,voc=1,range=CONST_ANI_FIRE}, -- SORCERER - [40120] = {id=SKILL_SWORD,voc=4}, -- KNIGHT - [40121] = {id=SKILL_AXE,voc=4}, -- KNIGHT - [40122] = {id=SKILL_CLUB,voc=4}, -- KNIGHT - [40123] = {id=SKILL_DISTANCE,voc=3,range=CONST_ANI_SIMPLEARROW}, -- PALADIN - [40124] = {id=SKILL_MAGLEVEL,voc=2,range=CONST_ANI_SMALLICE}, -- DRUID - [40125] = {id=SKILL_MAGLEVEL,voc=1,range=CONST_ANI_FIRE} -- SORCERER -} - -local houseDummies = {32143, 32144, 32145, 32146, 32147, 32148} -local freeDummies = {32142, 32149} - -local function removeExerciseWeapon(player, exercise) - exercise:remove(1) - player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your training weapon vanished.") - stopEvent(training) - player:setStorageValue(Storage.isTraining,0) - player:setTraining(false) -end - -local function startTraining(playerId, startPosition, itemid, tilePosition, bonusDummy, dummyId) - local player = Player(playerId) - if player ~= nil then - if Tile(tilePosition):getItemById(dummyId) then - local playerPosition = player:getPosition() - if startPosition:getDistance(playerPosition) == 0 and getTilePzInfo(playerPosition) then - if player:getItemCount(itemid) >= 1 then - local exercise = player:getItemById(itemid,true) - if exercise:isItem() then - if exercise:hasAttribute(ITEM_ATTRIBUTE_CHARGES) then - local charges_n = exercise:getAttribute(ITEM_ATTRIBUTE_CHARGES) - if charges_n >= 1 then - exercise:setAttribute(ITEM_ATTRIBUTE_CHARGES,(charges_n-1)) - - local voc = player:getVocation() - - if skills[itemid].id == SKILL_MAGLEVEL then - local magicRate = getRateFromTable(magicLevelStages, player:getBaseMagicLevel(), configManager.getNumber(configKeys.RATE_MAGIC)) - if not bonusDummy then - player:addManaSpent(math.ceil(500 * magicRate)) - else - player:addManaSpent(math.ceil(500 * magicRate) * 1.1) -- 10% - end - else - local skillRate = getRateFromTable(skillsStages, player:getSkillLevel(skills[itemid].id), configManager.getNumber(configKeys.RATE_SKILL)) - if not bonusDummy then - player:addSkillTries(skills[itemid].id, 7 * skillRate) - else - player:addSkillTries(skills[itemid].id, 7 * skillRate * 1.1) -- 10% - end - end - tilePosition:sendMagicEffect(CONST_ME_HITAREA) - if skills[itemid].range then - playerPosition:sendDistanceEffect(tilePosition, skills[itemid].range) - end - if exercise:getAttribute(ITEM_ATTRIBUTE_CHARGES) == 0 then - removeExerciseWeapon(player, exercise) - else - local training = addEvent(startTraining, voc:getBaseAttackSpeed() / configManager.getFloat(configKeys.RATE_EXERCISE_TRAINING_SPEED), playerId,startPosition,itemid,tilePosition,bonusDummy,dummyId) - player:setStorageValue(Storage.isTraining,1) - player:setTraining(true) - end - else - removeExerciseWeapon(player, exercise) - end - end - end - end - else - player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your training has stopped.") - stopEvent(training) - player:setStorageValue(Storage.isTraining,0) - player:setTraining(false) - end - else - stopEvent(training) - player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your training has stopped.") - player:setStorageValue(Storage.isTraining, 0) - player:setTraining(false) - end - else - stopEvent(training) - if player then - player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your training has stopped.") - player:setStorageValue(Storage.isTraining,0) - player:setTraining(false) - end - end - return true -end - local exerciseTraining = Action() function exerciseTraining.onUse(player, item, fromPosition, target, toPosition, isHotkey) - local startPos = player:getPosition() - if player:getStorageValue(Storage.isTraining) == 1 then - player:sendTextMessage(MESSAGE_FAILURE, "You are already training.") - return false - end - if target:isItem() then - if isInArray(houseDummies,target:getId()) then - if not skills[item.itemid].range and (startPos:getDistance(target:getPosition()) > 1) then - player:sendTextMessage(MESSAGE_FAILURE, "Get closer to the dummy.") - stopEvent(training) - return true - end - player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You started training.") - startTraining(player:getId(),startPos,item.itemid,target:getPosition(), true, target:getId()) - elseif isInArray(freeDummies, target:getId()) then - if not skills[item.itemid].range and (startPos:getDistance(target:getPosition()) > 1) then - player:sendTextMessage(MESSAGE_FAILURE, "Get closer to the dummy.") - stopEvent(training) - return true - end - player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You started training.") - startTraining(player:getId(),startPos,item.itemid,target:getPosition(), false, target:getId()) - end - end - return true -end - -for id = 32124, 32126 do - exerciseTraining:id(id) -end - -for id = 32127, 32129 do - exerciseTraining:id(id) - exerciseTraining:allowFarUse(true) -end - -for id = 32384, 32386 do - exerciseTraining:id(id) -end - -for id = 32387, 32389 do - exerciseTraining:id(id) - exerciseTraining:allowFarUse(true) -end - -for id = 40114, 40116 do - exerciseTraining:id(id) -end - -for id = 40117, 40119 do - exerciseTraining:id(id) - exerciseTraining:allowFarUse(true) -end - -for id = 40120, 40122 do - exerciseTraining:id(id) + local playerId = player:getId() + local targetId = target:getId() + + if target:isItem() and (isInArray(houseDummies, targetId) or isInArray(freeDummies, targetId)) then + if onExerciseTraining[playerId] then + player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "This exercise dummy can only be used after a 30 second cooldown.") + leaveTraining(playerId) + return true + end + + local playerPos = player:getPosition() + if not exerciseWeaponsTable[item.itemid].allowFarUse and (playerPos:getDistance(target:getPosition()) > 1) then + player:sendTextMessage(MESSAGE_FAILURE, "Get closer to the dummy.") + return true + end + + if not getTilePzInfo(playerPos) then + player:sendTextMessage(MESSAGE_FAILURE, "You need to be in a protection zone.") + return true + end + + local targetPos = target:getPosition() + + if isInArray(houseDummies, targetId) then + local playersOnDummy = 0 + for _, playerTraining in pairs(onExerciseTraining) do + if playerTraining.dummyPos == targetPos then + playersOnDummy = playersOnDummy + 1 + end + + if playersOnDummy == maxAllowedOnADummy then + player:sendTextMessage(MESSAGE_FAILURE, "That exercise dummy is busy.") + return true + end + end + end + + if player:getStorageValue(Storage.isTraining) > os.time() then + player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "This exercise dummy can only be used after a 30 second cooldown.") + return true + end + + onExerciseTraining[playerId] = {} + if not onExerciseTraining[playerId].event then + onExerciseTraining[playerId].event = addEvent(exerciseEvent, 0, playerId, targetPos, item.itemid, targetId) + onExerciseTraining[playerId].dummyPos = targetPos + player:setTraining(true) + player:setStorageValue(Storage.isTraining, os.time() + 30) + end + return true + end + return false end -for id = 40123, 40125 do - exerciseTraining:id(id) - exerciseTraining:allowFarUse(true) +for weaponId, weapon in pairs(exerciseWeaponsTable) do + exerciseTraining:id(weaponId) + if weapon.allowFarUse then + exerciseTraining:allowFarUse(true) + end end exerciseTraining:register() diff --git a/data/scripts/actions/other/fluids.lua b/data/scripts/actions/other/fluids.lua index e85742e47..ced810a2c 100644 --- a/data/scripts/actions/other/fluids.lua +++ b/data/scripts/actions/other/fluids.lua @@ -35,6 +35,7 @@ local function graveStoneTeleport(cid, fromPosition, toPosition) end local fluid = Action() + function fluid.onUse(player, item, fromPosition, target, toPosition, isHotkey) local targetType = ItemType(target.itemid) if targetType:isFluidContainer() then diff --git a/data/scripts/actions/other/food.lua b/data/scripts/actions/other/food.lua index 4350b1bcb..a32765146 100644 --- a/data/scripts/actions/other/food.lua +++ b/data/scripts/actions/other/food.lua @@ -112,7 +112,9 @@ local foods = { [27616] = {10, 'Slurp.'}, -- bottle of tibian wine [28997] = {15, 'Mmmmm!'}, -- fresh fruit [35057] = {40, 'Mmmmm!'}, -- meringue cake - [35060] = {15, 'Slurp.'} -- winterberry liquor + [35060] = {15, 'Slurp.'}, -- winterberry liquor + [36395] = {40, 'Slurp.'}, -- goanna meat + [36904] = {15, 'Slurp.'} -- candy floss } local food = Action() diff --git a/data/scripts/actions/other/others/quest_system1.lua b/data/scripts/actions/other/others/quest_system1.lua deleted file mode 100644 index 82bc2385f..000000000 --- a/data/scripts/actions/other/others/quest_system1.lua +++ /dev/null @@ -1,106 +0,0 @@ -local specialQuests = { - -- -} - -local questsExperience = { - [2217] = 1 -- dummy values -} - -local questLog = { - -- -} - -local hotaQuest = {50950, 50951, 50952, 50953, 50954, 50955} - -local questSystem1 = Action() - -function questSystem1.onUse(player, item, fromPosition, target, toPosition, isHotkey) - local storage = specialQuests[item.actionid] - if not storage then - storage = item.uid - if storage > 65535 then - return false - end - end - - if player:getStorageValue(storage) > 0 then - player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'The ' .. ItemType(item.itemid):getName() .. ' is empty.') - return true - end - - local items, reward = {} - local size = item:isContainer() and item:getSize() or 0 - if size == 0 then - reward = item:clone() - else - local container = Container(item.uid) - for i = 0, container:getSize() - 1 do - items[#items + 1] = container:getItem(i):clone() - end - end - - size = #items - if size == 1 then - reward = items[1]:clone() - end - - local result = '' - if reward then - local ret = ItemType(reward.itemid) - if ret:isRune() then - result = ret:getArticle() .. ' ' .. ret:getName() .. ' (' .. reward.type .. ' charges)' - elseif ret:isStackable() and reward:getCount() > 1 then - result = reward:getCount() .. ' ' .. ret:getPluralName() - elseif ret:getArticle() ~= '' then - result = ret:getArticle() .. ' ' .. ret:getName() - else - result = ret:getName() - end - else - if size > 20 then - reward = Game.createItem(item.itemid, 1) - elseif size > 8 then - reward = Game.createItem(1988, 1) - else - reward = Game.createItem(1987, 1) - end - - for i = 1, size do - local tmp = items[i] - if reward:addItemEx(tmp) ~= RETURNVALUE_NOERROR then - Spdlog.warn("[questSystem1.onUse] - Could not add quest reward to container") - end - end - local ret = ItemType(reward.itemid) - result = ret:getArticle() .. ' ' .. ret:getName() - end - - if player:addItemEx(reward) ~= RETURNVALUE_NOERROR then - local weight = reward:getWeight() - if player:getFreeCapacity() < weight then - player:sendCancelMessage(string.format('You have found %s weighing %.2f oz. You have no capacity.', result, (weight / 100))) - else - player:sendCancelMessage('You have found ' .. result .. ', but you have no room to take it.') - end - return true - end - - if questsExperience[storage] then - player:addExperience(questsExperience[storage], true) - end - - if questLog[storage] then - player:setStorageValue(questLog[storage], 1) - end - - player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You have found ' .. result .. '.') - player:setStorageValue(storage, 1) - return true -end - -for index, value in pairs(specialQuests) do - questSystem1:aid(index) -end - -questSystem1:aid(2000) -questSystem1:register() diff --git a/data/scripts/actions/other/others/quest_system2.lua b/data/scripts/actions/other/others/quest_system2.lua deleted file mode 100644 index 764c12bad..000000000 --- a/data/scripts/actions/other/others/quest_system2.lua +++ /dev/null @@ -1,122 +0,0 @@ -local config = { - -- 65203 reservado -} - -local questSystem2 = Action() - -function questSystem2.onUse(player, item, fromPosition, target, toPosition, isHotkey) - local useItem = config[item.uid] - if not useItem then - return true - end - - if (useItem.time and player:getStorageValue(useItem.storage) > os.time()) - or player:getStorageValue(useItem.storage) ~= (useItem.formerValue or -1) then - player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'The ' .. ItemType(item.itemid):getName() .. ' is empty.') - return true - end - - if useItem.needItem then - if player:getItemCount(useItem.needItem.itemId) < (useItem.needItem.count or 1) then - return false - end - end - - local items, reward = useItem.items - local size = #items - if size == 1 then - reward = Game.createItem(items[1].itemId, items[1].count or 1) - end - - local result = '' - if reward then - local ret = ItemType(reward.itemid) - if ret:isRune() then - result = ret:getArticle() .. ' ' .. ret:getName() .. ' (' .. reward.type .. ' charges)' - elseif reward:getCount() > 1 then - result = reward:getCount() .. ' ' .. ret:getPluralName() - elseif ret:getArticle() ~= '' then - result = ret:getArticle() .. ' ' .. ret:getName() - else - result = ret:getName() - end - - if items[1].actionId then - reward:setActionId(items[1].actionId) - end - - if items[1].text then - reward:setText(items[1].text) - end - - if items[1].decay then - reward:decay() - end - - else - if size > 8 then - reward = Game.createItem(1988, 1) - else - reward = Game.createItem(1987, 1) - end - - for i = 1, size do - local tmp = Game.createItem(items[i].itemId, items[i].count or 1) - if reward:addItemEx(tmp) ~= RETURNVALUE_NOERROR then - Spdlog.warn("[questSystem2.onUse] - Could not add quest reward to container") - else - if items[i].actionId then - tmp:setActionId(items[i].actionId) - end - - if items[i].text then - tmp:setText(items[i].text) - end - - if items[i].decay then - tmp:decay() - end - - end - end - local ret = ItemType(reward.itemid) - result = ret:getArticle() .. ' ' .. ret:getName() - end - - if player:addItemEx(reward) ~= RETURNVALUE_NOERROR then - local weight = reward:getWeight() - if player:getFreeCapacity() < weight then - player:sendCancelMessage('You have found ' .. result .. '. Weighing ' .. string.format('%.2f', (weight / 100)) .. ' oz, it is too heavy.') - else - player:sendCancelMessage('You have found ' .. result .. ', but you have no room to take it.') - end - return true - end - - if useItem.say then - player:say(useItem.say, TALKTYPE_MONSTER_SAY) - end - - if useItem.needItem then - player:removeItem(useItem.needItem.itemId, useItem.needItem.count or 1) - end - - if useItem.effect then - toPosition:sendMagicEffect(useItem.effect) - end - - if useItem.missionStorage then - player:setStorageValue(useItem.missionStorage.key, useItem.missionStorage.value) - end - - player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You have found ' .. result .. '.') - if useItem.time then - player:setStorageValue(useItem.storage, os.time() + 86400) - else - player:setStorageValue(useItem.storage, useItem.newValue or 1) - end - return true -end - -questSystem2:aid(2001) -questSystem2:register() diff --git a/data/scripts/actions/other/teleport.lua b/data/scripts/actions/other/teleport.lua index 2a368a520..ca79bf9f9 100644 --- a/data/scripts/actions/other/teleport.lua +++ b/data/scripts/actions/other/teleport.lua @@ -12,5 +12,5 @@ function teleport.onUse(player, item, fromPosition, target, toPosition, isHotkey return true end -teleport:id(430, 1386, 3678, 5543, 8599, 22845, 22846, 33397, 35005, 35964, 35965, 36097, 39078) +teleport:id(1386, 3678, 5543, 8599, 22845, 22846, 33397, 35005, 35964, 35965, 36097, 39078) teleport:register() diff --git a/data/scripts/actions/other/teleport_draw_well.lua b/data/scripts/actions/other/teleport_draw_well.lua index 454678112..7e671f59f 100644 --- a/data/scripts/actions/other/teleport_draw_well.lua +++ b/data/scripts/actions/other/teleport_draw_well.lua @@ -2,13 +2,11 @@ local teleportDrawWell = Action() function teleportDrawWell.onUse(player, item, fromPosition, target, toPosition, isHotkey) if item:getActionId() ~= 100 then - return false + fromPosition.z = fromPosition.z + 1 + player:teleportTo(fromPosition, false) end - - fromPosition.z = fromPosition.z + 1 - player:teleportTo(fromPosition) return true end -teleportDrawWell:id(1369) +teleportDrawWell:id(430, 1369) teleportDrawWell:register() diff --git a/data/scripts/actions/system/questSystem.lua b/data/scripts/actions/system/questSystem.lua index 3a1adf39a..db0dd3bbe 100644 --- a/data/scripts/actions/system/questSystem.lua +++ b/data/scripts/actions/system/questSystem.lua @@ -6,10 +6,6 @@ local questsExperience = { -- } -local questLog = { - -- -} - local questSystem1 = Action() function questSystem1.onUse(player, item, fromPosition, target, toPosition, isHotkey) @@ -87,10 +83,6 @@ function questSystem1.onUse(player, item, fromPosition, target, toPosition, isHo player:addExperience(questsExperience[storage], true) end - if questLog[storage] then - player:setStorageValue(questLog[storage], 1) - end - player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You have found ' .. result .. '.') player:setStorageValue(storage, 1) return true diff --git a/data/scripts/creaturescripts/others/advance_save.lua b/data/scripts/creaturescripts/others/advance_save.lua index 7c8a71db6..b021369c2 100644 --- a/data/scripts/creaturescripts/others/advance_save.lua +++ b/data/scripts/creaturescripts/others/advance_save.lua @@ -1,24 +1,27 @@ -local advanceSave = CreatureEvent("AdvanceSave") +local config = { + heal = true, + save = true, + effect = true +} +local advanceSave = CreatureEvent("AdvanceSave") function advanceSave.onAdvance(player, skill, oldLevel, newLevel) if skill ~= SKILL_LEVEL or newLevel <= oldLevel then return true end - player:save() - player:addHealth(player:getMaxHealth()) - player:getPosition():sendMagicEffect(math.random(CONST_ME_FIREWORK_YELLOW, CONST_ME_FIREWORK_BLUE)) - player:say('LEVEL UP!', TALKTYPE_MONSTER_SAY) + if config.effect then + player:getPosition():sendMagicEffect(math.random(CONST_ME_FIREWORK_YELLOW, CONST_ME_FIREWORK_BLUE)) + player:say('LEVEL UP!', TALKTYPE_MONSTER_SAY) + end - if Game.getStorageValue(GlobalStorage.XpDisplayMode) > 0 then - local baseRate = getRateFromTable(experienceStages, player:getLevel(), configManager.getNumber(configKeys.RATE_EXP)) - -- Event scheduler - if SCHEDULE_EXP_RATE ~= 100 then - baseRate = math.max(0, (baseRate * SCHEDULE_EXP_RATE)/100) - end - player:setBaseXpGain(baseRate * 100) + if config.heal then + player:addHealth(player:getMaxHealth()) end + if config.save then + player:save() + end return true end -advanceSave:register() +advanceSave:register() \ No newline at end of file diff --git a/data/scripts/creaturescripts/others/familiars.lua b/data/scripts/creaturescripts/others/familiars.lua index 85226fea1..9ddda7ba0 100644 --- a/data/scripts/creaturescripts/others/familiars.lua +++ b/data/scripts/creaturescripts/others/familiars.lua @@ -40,7 +40,7 @@ function familiarLogin.onLogin(player) if vocation then if (not isPremium(player) and player:hasFamiliar(vocation.id)) or player:getLevel() < 200 then - player:removeFamiliar(vocation.id) + player:removeFamiliar(vocation.id) elseif isPremium(player) and player:getLevel() >= 200 then if petTimeLeft > 0 then familiarName = vocation.name @@ -55,18 +55,20 @@ function familiarLogin.onLogin(player) end if familiarName then - position = player:getPosition() - local familiarMonster = Game.createMonster(familiarName, position, true, false) + local position = player:getPosition() + local familiarMonster = Game.createMonster(familiarName, position, true, false, player) if familiarMonster then - player:addSummon(familiarMonster) + familiarMonster:setOutfit({lookType = player:getFamiliarLooktype()}) - --familiarMonster:reload() + familiarMonster:registerEvent("FamiliarDeath") + position:sendMagicEffect(CONST_ME_MAGIC_BLUE) + local deltaSpeed = math.max(player:getSpeed() - familiarMonster:getSpeed(), 0) familiarMonster:changeSpeed(deltaSpeed) + player:setStorageValue(familiarStorage, os.time() + petTimeLeft) - familiarMonster:registerEvent("FamiliarDeath") - position:sendMagicEffect(CONST_ME_MAGIC_BLUE) addEvent(removePet, petTimeLeft*1000, familiarMonster:getId(), player:getId()) + for sendMessage = 1, #timer do if player:getStorageValue(timer[sendMessage].storage) == -1 and petTimeLeft >= timer[sendMessage].countdown then player:setStorageValue(timer[sendMessage].storage, addEvent(sendMessageFunction, (petTimeLeft-timer[sendMessage].countdown)*1000, player:getId(), timer[sendMessage].message)) diff --git a/data/scripts/creaturescripts/others/login.lua b/data/scripts/creaturescripts/others/login.lua index 273c5ae1c..b11af671f 100644 --- a/data/scripts/creaturescripts/others/login.lua +++ b/data/scripts/creaturescripts/others/login.lua @@ -38,15 +38,6 @@ function playerLogin.onLogin(player) player:loadSpecialStorage() - if SCHEDULE_SPAWN_RATE ~= 100 then - if SCHEDULE_SPAWN_RATE > 100 then - player:sendTextMessage(MESSAGE_BOOSTED_CREATURE, "Spawn Rate Event! Monsters respawn at a faster rate \ - Happy Hunting!") - else - player:sendTextMessage(MESSAGE_BOOSTED_CREATURE, "Spawn Rate Decreased! Monsters respawn at a slower rate.") - end - end - -- Boosted creature player:sendTextMessage(MESSAGE_BOOSTED_CREATURE, "Today's boosted creature: " .. Game.getBoostedCreature() .. " \ Boosted creatures yield more experience points, carry more loot than usual and respawn at a faster rate.") @@ -87,23 +78,25 @@ function playerLogin.onLogin(player) onMovementRemoveProtection(playerId, player:getPosition(), 10) end - -- Set Client XP Gain Rate -- - local rateExp = 1 + -- Set Client XP Gain Rate + local baseExp = 100 if Game.getStorageValue(GlobalStorage.XpDisplayMode) > 0 then - rateExp = getRateFromTable(experienceStages, player:getLevel(), configManager.getNumber(configKeys.RATE_EXP)) - - if SCHEDULE_EXP_RATE ~= 100 then - rateExp = math.max(0, (rateExp * SCHEDULE_EXP_RATE)/100) - end + baseExp = getRateFromTable(experienceStages, player:getLevel(), configManager.getNumber(configKeys.RATE_EXP)) end local staminaMinutes = player:getStamina() + local doubleExp = false --Can change to true if you have double exp on the server local staminaBonus = (staminaMinutes > 2340) and 150 or ((staminaMinutes < 840) and 50 or 100) + if doubleExp then + baseExp = baseExp * 2 + end player:setStaminaXpBoost(staminaBonus) - player:setBaseXpGain(rateExp * 100) + player:setBaseXpGain(baseExp) - if player:getStorageValue(Storage.isTraining) == 1 then --Reset exercise weapon storage - player:setStorageValue(Storage.isTraining,0) + if onExerciseTraining[player:getId()] then -- onLogin & onLogout + stopEvent(onExerciseTraining[player:getId()].event) + onExerciseTraining[player:getId()] = nil + player:setTraining(false) end return true end diff --git a/data/scripts/creaturescripts/others/logout.lua b/data/scripts/creaturescripts/others/logout.lua index 892039a0a..d72a1592a 100644 --- a/data/scripts/creaturescripts/others/logout.lua +++ b/data/scripts/creaturescripts/others/logout.lua @@ -1,9 +1,11 @@ local playerLogout = CreatureEvent("PlayerLogout") function playerLogout.onLogout(player) local playerId = player:getId() + if nextUseStaminaTime[playerId] ~= nil then nextUseStaminaTime[playerId] = nil end + player:saveSpecialStorage() player:setStorageValue(Storage.ExerciseDummyExhaust, 0) @@ -19,6 +21,13 @@ function playerLogout.onLogout(player) stats.stamina = player:getStamina() end end + + if onExerciseTraining[playerId] then + stopEvent(onExerciseTraining[playerId].event) + onExerciseTraining[playerId] = nil + player:setTraining(false) + end + player:setStorageValue(17101,0) return true end diff --git a/data/scripts/creaturescripts/others/offline_training.lua b/data/scripts/creaturescripts/others/offline_training.lua index fb00a7dcf..49ca5967c 100644 --- a/data/scripts/creaturescripts/others/offline_training.lua +++ b/data/scripts/creaturescripts/others/offline_training.lua @@ -11,8 +11,7 @@ function offlineTraining.onLogin(player) player:setOfflineTrainingSkill(-1) if offlineTime < 600 then - player:sendTextMessage(MESSAGE_EVENT_ADVANCE, - "You must be logged out for more than 10 minutes to start offline training.") + player:sendTextMessage(MESSAGE_OFFLINE_TRAINING, "You must be logged out for more than 10 minutes to start offline training.") return true end diff --git a/data/scripts/empty.txt b/data/scripts/empty.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/data/scripts/globalevents/others/lagLessSave.lua b/data/scripts/globalevents/others/lagLessSave.lua deleted file mode 100644 index 62823c4bf..000000000 --- a/data/scripts/globalevents/others/lagLessSave.lua +++ /dev/null @@ -1,23 +0,0 @@ -local noLagSave = GlobalEvent("noLagSave") -local timeBetweenSaves = 1 * 60 * 60 * 1000 -- in milliseconds -local delayBetweenSaves = 100 - -function delayedSave(cid) - local p = Player(cid) - if p then - p:save() - end -end - -function noLagSave.onThink(interval, lastExecution) - local players = Game.getPlayers() - local delay = 0 - - for _, player in ipairs(players) do - delay = delay + delayBetweenSaves - addEvent(delayedSave, delay, player:getId()) - end -end - -noLagSave:interval(timeBetweenSaves) -noLagSave:register() \ No newline at end of file diff --git a/data/scripts/globalevents/others/server_save.lua b/data/scripts/globalevents/others/server_save.lua index 956d1bcce..60830581b 100644 --- a/data/scripts/globalevents/others/server_save.lua +++ b/data/scripts/globalevents/others/server_save.lua @@ -44,5 +44,5 @@ function serversave.onTime(interval) addEvent(ServerSaveWarning, 60000, remaningTime) -- Schedule next event in 1 minute(60000) return not configManager.getBoolean(configKeys.SERVER_SAVE_SHUTDOWN) end -serversave:time("05:55:00") +serversave:time("20:55:00") serversave:register() diff --git a/data/scripts/globalevents/others/startup.lua b/data/scripts/globalevents/others/startup.lua index 9c97a5e71..1110370f5 100644 --- a/data/scripts/globalevents/others/startup.lua +++ b/data/scripts/globalevents/others/startup.lua @@ -63,8 +63,8 @@ function serverstartup.onStartup() db.query('UPDATE `player_storage` SET `value` = 0 WHERE `player_storage`.`key` = 51052') -- reset familiars message storage - db.query('DELETE FROM `player_storage` WHERE `key` = '..Storage.PetSummonEvent10) - db.query('DELETE FROM `player_storage` WHERE `key` = '..Storage.PetSummonEvent60) + db.query('DELETE FROM `player_storage` WHERE `key` = '..Storage.FamiliarSummonEvent10) + db.query('DELETE FROM `player_storage` WHERE `key` = '..Storage.FamiliarSummonEvent60) -- delete canceled and rejected guilds db.asyncQuery('DELETE FROM `guild_wars` WHERE `status` = 2') @@ -115,32 +115,10 @@ function serverstartup.onStartup() result.free(resultId) end - do -- Event Schedule rates - local lootRate = Game.getEventSLoot() - if lootRate ~= 100 then - SCHEDULE_LOOT_RATE = lootRate - end - - local expRate = Game.getEventSExp() - if expRate ~= 100 then - SCHEDULE_EXP_RATE = expRate - end - - local skillRate = Game.getEventSSkill() - if skillRate ~= 100 then - SCHEDULE_SKILL_RATE = skillRate - end - - local spawnRate = Game.getEventSSpawnRate() - if spawnRate ~= 100 then - SCHEDULE_SPAWN_RATE = spawnRate - end - end - -- Client XP Display Mode -- 0 = ignore exp rate /stage -- 1 = include exp rate / stage - Game.setStorageValue(GlobalStorage.XpDisplayMode, 1) + Game.setStorageValue(GlobalStorage.XpDisplayMode, 0) -- Hireling System HirelingsInit() diff --git a/data/scripts/lib/register_actions.lua b/data/scripts/lib/register_actions.lua index 42046b4b5..cac3c82a9 100644 --- a/data/scripts/lib/register_actions.lua +++ b/data/scripts/lib/register_actions.lua @@ -350,10 +350,7 @@ function onUsePick(player, item, fromPosition, target, toPosition, isHotkey) if (target ~= nil) and target:isItem() and (target:getId() == 22469) then --Lower Roshamuul if math.random(100) > 50 then - player:sendTextMessage( - MESSAGE_EVENT_ADVANCE, - "Crushing the stone produces some fine gravel." - ) + player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Crushing the stone produces some fine gravel.") target:transform(22467) target:decay() else diff --git a/data/scripts/lib/register_monster_type.lua b/data/scripts/lib/register_monster_type.lua index a7fd87656..264348787 100644 --- a/data/scripts/lib/register_monster_type.lua +++ b/data/scripts/lib/register_monster_type.lua @@ -84,11 +84,6 @@ registerMonsterType.health = function(mtype, mask) mtype:health(mask.health) end end -registerMonsterType.maxSummons = function(mtype, mask) - if mask.maxSummons then - mtype:maxSummons(mask.maxSummons) - end -end registerMonsterType.race = function(mtype, mask) if mask.race then mtype:race(mask.race) @@ -164,8 +159,8 @@ registerMonsterType.flags = function(mtype, mask) if mask.flags.rewardBoss then mtype:isRewardBoss(mask.flags.rewardBoss) end - if mask.flags.pet then - mtype:isPet(mask.flags.pet) + if mask.flags.familiar then + mtype:familiar(mask.flags.familiar) end if mask.flags.respawntype or mask.flags.respawnType then Spdlog.warn(string.format("[registerMonsterType.flags] - Monster: %s. Deprecated flag 'respawnType', use instead table 'respawnType = { period = RespawnPeriod_t, underground = boolean}'", @@ -199,8 +194,9 @@ registerMonsterType.flags = function(mtype, mask) end registerMonsterType.light = function(mtype, mask) if mask.light then + local color = 0 if mask.light.color then - local color = mask.light.color + color = mask.light.color end if mask.light.level then mtype:light(color, mask.light.level) @@ -259,10 +255,15 @@ registerMonsterType.voices = function(mtype, mask) end end end -registerMonsterType.summons = function(mtype, mask) - if type(mask.summons) == "table" then - for k, v in pairs(mask.summons) do - mtype:addSummon(v.name, v.interval, v.chance) +registerMonsterType.summon = function(mtype, mask) + if mask.summon then + if mask.summon.maxSummons then + mtype:maxSummons(mask.summon.maxSummons) + end + if type(mask.summon.summons) == "table" then + for k, v in pairs(mask.summon.summons) do + mtype:addSummon(v.name, v.interval, v.chance, v.count) + end end end end diff --git a/data/scripts/lib/register_spells.lua b/data/scripts/lib/register_spells.lua index fc9b0c490..690340e54 100644 --- a/data/scripts/lib/register_spells.lua +++ b/data/scripts/lib/register_spells.lua @@ -1,507 +1,505 @@ --Pre-made areas - --Waves AREA_SHORTWAVE3 = { - {1, 1, 1}, - {1, 1, 1}, - {0, 3, 0} - } - - AREA_WAVE10 = { - {1, 1, 1, 1, 1, 1, 1}, - {0, 1, 1, 1, 1, 1, 0}, - {0, 1, 1, 1, 1, 1, 0}, - {0, 1, 1, 1, 1, 1, 0}, - {0, 0, 1, 1, 1, 0, 0}, - {0, 0, 1, 1, 1, 0, 0}, - {0, 0, 1, 1, 1, 0, 0}, - {0, 0, 0, 3, 0, 0, 0} - } - - AREA_WAVE11 = { - {1, 1, 1, 1, 1, 1, 1}, - {0, 1, 1, 1, 1, 1, 0}, - {0, 1, 1, 1, 1, 1, 0}, - {0, 1, 1, 1, 1, 1, 0}, - {0, 0, 1, 1, 1, 0, 0}, - {0, 0, 1, 1, 1, 0, 0}, - {0, 0, 1, 1, 1, 0, 0}, - {0, 0, 0, 1, 0, 0, 0}, - {0, 0, 0, 3, 0, 0, 0} - } - - AREA_WAVE12 = { - {0, 1, 1, 1, 1, 1, 0}, - {0, 1, 1, 1, 1, 1, 0}, - {0, 1, 1, 1, 1, 1, 0}, - {0, 0, 1, 1, 1, 0, 0}, - {0, 0, 1, 1, 1, 0, 0}, - {0, 0, 1, 1, 1, 0, 0}, - {0, 0, 0, 1, 0, 0, 0}, - {0, 0, 0, 3, 0, 0, 0} - } - - AREA_WAVE13 = { - {1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1}, - {0, 1, 1, 1, 1, 1, 0}, - {0, 1, 1, 1, 1, 1, 0}, - {0, 1, 1, 1, 1, 1, 0}, - {0, 0, 1, 1, 1, 0, 0}, - {0, 0, 1, 1, 1, 0, 0}, - {0, 0, 1, 1, 1, 0, 0}, - {0, 0, 0, 1, 0, 0, 0}, - {0, 0, 0, 3, 0, 0, 0} - } - - AREA_WAVE4 = { - {1, 1, 1, 1, 1}, - {0, 1, 1, 1, 0}, - {0, 1, 1, 1, 0}, - {0, 0, 3, 0, 0} - } - - AREA_WAVE5 = { - {1, 1, 1, 1, 1}, - {0, 1, 1, 1, 0}, - {0, 1, 1, 1, 0}, - {0, 1, 1, 1, 0}, - {0, 0, 1, 0, 0}, - {0, 0, 3, 0, 0} - } - - AREA_WAVE6 = { - {0, 0, 0, 0, 0}, - {0, 1, 3, 1, 0}, - {0, 0, 0, 0, 0} - } - - AREA_WAVE7 = { - {1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1}, - {0, 1, 1, 1, 0}, - {0, 1, 1, 1, 0}, - {0, 0, 3, 0, 0} - } - - AREA_SQUAREWAVE5 = { - {1, 1, 1}, - {1, 1, 1}, - {1, 1, 1}, - {0, 1, 0}, - {0, 3, 0} - } - - AREA_SQUAREWAVE6 = { - {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, - {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, - {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, - {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, - {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, - {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, - {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, - {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, - {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, - {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0} - } - - AREA_SQUAREWAVE7 = { - {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, - {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, - {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, - {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, - {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, - {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, - {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, - {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, - {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0} - } - - --Diagonal waves - AREADIAGONAL_WAVE4 = { - {0, 0, 0, 0, 1, 0}, - {0, 0, 0, 1, 1, 0}, - {0, 0, 1, 1, 1, 0}, - {0, 1, 1, 1, 1, 0}, - {1, 1, 1, 1, 1, 0}, - {0, 0, 0, 0, 0, 3} - } - - AREADIAGONAL_SQUAREWAVE5 = { - {1, 1, 1, 0, 0}, - {1, 1, 1, 0, 0}, - {1, 1, 1, 0, 0}, - {0, 0, 0, 1, 0}, - {0, 0, 0, 0, 3} - } - - AREADIAGONAL_WAVE6 = { - {0, 0, 1}, - {0, 3, 0}, - {1, 0, 0} - } - - AREADIAGONAL_WAVE7 = { - {0, 0, 0, 0, 0, 1, 0}, - {0, 0, 0, 0, 1, 1, 0}, - {0, 0, 0, 1, 1, 1, 0}, - {0, 0, 1, 1, 1, 1, 0}, - {0, 1, 1, 1, 1, 1, 0}, - {1, 1, 1, 1, 1, 1, 0}, - {0, 0, 0, 0, 0, 0, 3} - } - - --Beams - AREA_BEAM1 = { - {3} - } - - AREA_BEAM5 = { - {1}, - {1}, - {1}, - {1}, - {3} - } - - AREA_BEAM7 = { - {1}, - {1}, - {1}, - {1}, - {1}, - {1}, - {3} - } - - AREA_BEAM8 = { - {1}, - {1}, - {1}, - {1}, - {1}, - {1}, - {1}, - {3} - } - - --Diagonal Beams - AREADIAGONAL_BEAM5 = { - {1, 0, 0, 0, 0}, - {0, 1, 0, 0, 0}, - {0, 0, 1, 0, 0}, - {0, 0, 0, 1, 0}, - {0, 0, 0, 0, 3} - } - - AREADIAGONAL_BEAM7 = { - {1, 0, 0, 0, 0, 0, 0}, - {0, 1, 0, 0, 0, 0, 0}, - {0, 0, 1, 0, 0, 0, 0}, - {0, 0, 0, 1, 0, 0, 0}, - {0, 0, 0, 0, 1, 0, 0}, - {0, 0, 0, 0, 0, 1, 0}, - {0, 0, 0, 0, 0, 0, 3} - } - - --Circles - AREA_CIRCLE2X2 = { - {0, 1, 1, 1, 0}, - {1, 1, 1, 1, 1}, - {1, 1, 3, 1, 1}, - {1, 1, 1, 1, 1}, - {0, 1, 1, 1, 0} - } - - AREA_CIRCLE3X3 = { - {0, 0, 1, 1, 1, 0, 0}, - {0, 1, 1, 1, 1, 1, 0}, - {1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 3, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1}, - {0, 1, 1, 1, 1, 1, 0}, - {0, 0, 1, 1, 1, 0, 0} - } - - AREA_CIRCLE3X32 = { - {1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 3, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1} - } - - AREA_CIRCLE3X33 = { - {1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1}, - {1, 1, 0, 0, 1, 1, 1}, - {1, 1, 0, 3, 1, 1, 1}, - {1, 1, 0, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1} - } - - -- Crosses - AREA_CIRCLE1X1 = { - {0, 1, 0}, - {1, 3, 1}, - {0, 1, 0} - } - - AREA_CIRCLE5X5 = { - {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, - {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, - {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, - {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, - {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1}, - {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, - {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, - {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, - {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0} - } - - AREA_CIRCLE5X5V2 = { - {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, - {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, - {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, - {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, - {0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0}, - {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, - {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, - {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, - {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} - } - - AREA_CIRCLE6X6 = { - {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0}, - {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0}, - {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}, - {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, - {1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1}, - {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, - {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}, - {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0}, - {0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0}, - {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0} - } - - --Squares - AREA_SQUARE1X1 = { - {1, 1, 1}, - {1, 3, 1}, - {1, 1, 1} - } - - -- Walls - AREA_WALLFIELD = { - {1, 1, 3, 1, 1} - } - - AREADIAGONAL_WALLFIELD = { - {0, 0, 0, 0, 1}, - {0, 0, 0, 1, 1}, - {0, 1, 3, 1, 0}, - {1, 1, 0, 0, 0}, - {1, 0, 0, 0, 0}, - } - - -- Walls Energy - AREA_WALLFIELD_ENERGY = { - {1, 1, 1, 3, 1, 1, 1} - } - - AREADIAGONAL_WALLFIELD_ENERGY = { - {0, 0, 0, 0, 0, 0, 1}, - {0, 0, 0, 0, 0, 1, 1}, - {0, 0, 0, 0, 1, 1, 0}, - {0, 0, 1, 3, 1, 0, 0}, - {0, 1, 1, 0, 0, 0, 0}, - {0, 1, 0, 0, 0, 0, 0}, - {1, 0, 0, 0, 0, 0, 0}, - } - - -- Spells-only arrays - - --This HUGE array contains all corpses of the game, until protocol 8.0 - -- It is used on animate dead rune and on undead legion spell. No unmoveable corpses are there. - CORPSES = { - 2806,2807,2808,2809,2810,2811,2812,2813,2814,2815,2816,2817,2818,2819,2820,2821,2822,2823, - 2824,2825,2826,2827,2828,2829,2830,2831,2832,2833,2834,2835,2836,2837,2838,2839,2840,2841, - 2842,2843,2844,2845,2846,2847,2848,2849,2850,2851,2852,2853,2854,2855,2856,2857,2858,2859, - 2879,2880,2881,2882,2883,2884,2885,2886,2887,2888,2889,2890,2891,2892,2893,2894,2895,2896, - 2897,2898,2899,2900,2901,2902,2903,2904,2905,2906,2907,2908,2909,2910,2911,2912,2913,2914, - 2915,2916,2917,2918,2919,2920,2921,2922,2923,2924,2925,2926,2927,2928,2929,2930,2931,2932, - 2933,2934,2935,2936,2937,2938,2939,2940,2941,2942,2943,2944,2945,2946,2947,2948,2949,2950, - 2951,2952,2953,2954,2955,2956,2957,2958,2959,2960,2961,2962,2963,2964,2965,2966,2967,2968, - 2969,2970,2971,2972,2973,2974,2975,2976,2977,2978,2979,2980,2981,2982,2983,2984,2985,2986, - 2987,2988,2989,2990,2991,2992,2993,2994,2995,2996,2997,2998,2999,3000,3001,3002,3003,3004, - 3005,3006,3007,3008,3009,3010,3011,3012,3013,3014,3015,3016,3017,3018,3019,3020,3021,3022, - 3023,3024,3025,3026,3027,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037,3038,3039,3040, - 3041,3042,3043,3044,3045,3046,3047,3048,3049,3050,3051,3052,3053,3054,3055,3056,3057,3058, - 3059,3060,3061,3062,3063,3064,3065,3066,3067,3068,3069,3070,3071,3072,3073,3074,3075,3076, - 3077,3078,3079,3080,3081,3082,3083,3084,3085,3086,3087,3088,3089,3090,3091,3092,3093,3094, - 3095,3096,3097,3098,3099,3100,3101,3102,3103,3104,3105,3106,3107,3108,3109,3110,3111,3112, - 3113,3114,3115,3116,3117,3118,3119,3120,3121,3128,3129,3130,3131,3132,3133,3134,4252,4253, - 4254,4255,4256,4257,4258,4259,4260,4261,4262,4263,4264,4265,4266,4267,4268,4269,4270,4271, - 4272,4273,4274,4275,4276,4277,4278,4279,4280,4281,4282,4283,4284,4285,4286,4287,4288,4289, - 4290,4291,4292,4293,4294,4295,4296,4297,4298,4299,4300,4301,4302,4303,4304,4305,4306,4307, - 4308,4309,4310,4311,4312,4313,4314,4315,4316,4317,4318,4319,4320,4321,4322,4323,4324,4325, - 4326,4327,5522,5523,5524,5525,5526,5527,5528,5529,5530,5531,5532,5533,5534,5535,5536,5537, - 5538,5540,5541,5542,5565,5566,5567,5568,5625,5626,5627,5628,5629,5630,5666,5667,5668,5688, - 5689,5690,5727,5728,5729,5762,5765,5766,5767,5931,5932,5933,5934,5935,5936,5965,6022,6082, - 6083,6084,6303,6304,6305,6307,6308,6309,6310,6313,6314,6315,6317,6318,6319,6321,6322,6323, - 6325,6326,6327,6328,6329,6330,6333,6334,6335,6337,6338,6339,6341,6342,6343,6345,6346,6347, - 6349,6350,6351,6355,6365,6366,6367,6520,6521,6522,6560,7092,7093,7094,7256,7257,7258,7283, - 7284,7285,7317,7318,7319,7321,7322,7323,7325,7326,7328,7329,7331,7332,7333,7335,7336,7337, - 7339,7340,7341,7345,7346,7347,7623,7624,7625,7626,7627,7629,7630,7631,7638,7639,7640,7741, - 7742,7743,7848,7849,7908,7927,7928,7929,7931,7970,7971,8272} - - -- This array contains all destroyable field items - FIELDS = {1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1500,1501,1502,1503,1504} - - -- The numbered-keys represents the damage values, and their table - -- contains the minimum and maximum number of rounds of those damage values. - RANGE = { - [1] = {19, 20}, [2] = {10, 10}, [3] = {6, 7}, [4] = {4, 5}, [5] = {3, 4}, - [6] = {3, 4}, [7] = {2, 3}, [8] = {2, 3}, [9] = {2, 3}, [10] = {1, 2}, - [11] = {1, 2}, [12] = {1, 2}, [13] = {1, 2}, [14] = {1, 2}, [15] = {1, 2}, - [16] = {1, 2}, [17] = {1, 2}, [18] = {1, 2}, [19] = {1, 2} - } - - function Creature:addDamageCondition(target, conditionType, listType, damage, time, rounds) - if target:isImmune(conditionType) then - return false - end - - local condition = Condition(conditionType) - condition:setParameter(CONDITION_PARAM_OWNER, self:getId()) - condition:setParameter(CONDITION_PARAM_DELAYED, true) - - if listType == 0 then - local exponent, value = -10, 0 - while value < damage do - value = math.floor(10 * math.pow(1.2, exponent) + 0.5) - condition:addDamage(1, time or 4000, -value) - - if value >= damage then - local permille = math.random(10, 1200) / 1000 - condition:addDamage(1, time or 4000, -math.max(1, math.floor(value * permille + 0.5))) - else - exponent = exponent + 1 - end - end - elseif listType == 1 then - rounds = rounds or RANGE - if rounds[damage] then - condition:addDamage(math.random(1, rounds[damage][2]), time or 4000, -damage) - damage = damage - 1 - end - - while damage > 0 do - condition:addDamage(rounds[damage] and math.random(rounds[damage][1], rounds[damage][2]) or 1, time or 4000, -damage) - damage = damage - (damage > 21 and math.floor(damage / 20) + math.random(0, 1) or 1) - end - elseif listType == 2 then - for _ = 1, rounds do - condition:addDamage(1, math.random(time[1], time[2]) * 1000, -damage) - end - end - - target:addCondition(condition) - return true - end - - function Player:addPartyCondition(combat, variant, condition, baseMana) - local party = self:getParty() - if not party then - self:sendCancelMessage(RETURNVALUE_NOPARTYMEMBERSINRANGE) - self:getPosition():sendMagicEffect(CONST_ME_POFF) - return false - end - - local members = party:getMembers() - members[#members + 1] = party:getLeader() - - local position = self:getPosition() - local affectedMembers = {} - for _, member in ipairs(members) do - if member:getPosition():getDistance(position) <= 36 then - affectedMembers[#affectedMembers + 1] = member - end - end - - if #affectedMembers <= 1 then - self:sendCancelMessage(RETURNVALUE_NOPARTYMEMBERSINRANGE) - position:sendMagicEffect(CONST_ME_POFF) - return false - end - - local mana = math.ceil(math.pow(0.9, #affectedMembers - 1) * baseMana * #affectedMembers) - if self:getMana() < mana then - self:sendCancelMessage(RETURNVALUE_NOTENOUGHMANA) - position:sendMagicEffect(CONST_ME_POFF) - return false - end - - if not combat:execute(self, variant) then - self:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE) - position:sendMagicEffect(CONST_ME_POFF) - return false - end - - self:addMana(baseMana - mana, false) - self:addManaSpent(mana - baseMana) - - for _, member in ipairs(affectedMembers) do - member:addCondition(condition) - end - return true - end - - function Player:conjureItem(reagentId, conjureId, conjureCount, effect) - if not conjureCount and conjureId ~= 0 then - local itemType = ItemType(conjureId) - if itemType:getId() == 0 then - return false - end - - local charges = itemType:getCharges() - if charges ~= 0 then - conjureCount = charges - end - end - - if reagentId ~= 0 and not self:removeItem(reagentId, 1, -1) then - self:sendCancelMessage(RETURNVALUE_YOUNEEDAMAGICITEMTOCASTSPELL) - self:getPosition():sendMagicEffect(CONST_ME_POFF) - return false - end - - local item = self:addItem(conjureId, conjureCount) - if not item then - self:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE) - self:getPosition():sendMagicEffect(CONST_ME_POFF) - return false - end - - if item:hasAttribute(ITEM_ATTRIBUTE_DURATION) then - item:decay() - end - - self:getPosition():sendMagicEffect(item:getType():isRune() and CONST_ME_MAGIC_RED or effect) - return true - end - \ No newline at end of file + {1, 1, 1}, + {1, 1, 1}, + {0, 3, 0} +} + +AREA_WAVE10 = { + {1, 1, 1, 1, 1, 1, 1}, + {0, 1, 1, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 1, 0}, + {0, 0, 1, 1, 1, 0, 0}, + {0, 0, 1, 1, 1, 0, 0}, + {0, 0, 1, 1, 1, 0, 0}, + {0, 0, 0, 3, 0, 0, 0} +} + +AREA_WAVE11 = { + {1, 1, 1, 1, 1, 1, 1}, + {0, 1, 1, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 1, 0}, + {0, 0, 1, 1, 1, 0, 0}, + {0, 0, 1, 1, 1, 0, 0}, + {0, 0, 1, 1, 1, 0, 0}, + {0, 0, 0, 1, 0, 0, 0}, + {0, 0, 0, 3, 0, 0, 0} +} + +AREA_WAVE12 = { + {0, 1, 1, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 1, 0}, + {0, 0, 1, 1, 1, 0, 0}, + {0, 0, 1, 1, 1, 0, 0}, + {0, 0, 1, 1, 1, 0, 0}, + {0, 0, 0, 1, 0, 0, 0}, + {0, 0, 0, 3, 0, 0, 0} +} + +AREA_WAVE13 = { + {1, 1, 1, 1, 1, 1, 1}, + {1, 1, 1, 1, 1, 1, 1}, + {0, 1, 1, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 1, 0}, + {0, 0, 1, 1, 1, 0, 0}, + {0, 0, 1, 1, 1, 0, 0}, + {0, 0, 1, 1, 1, 0, 0}, + {0, 0, 0, 1, 0, 0, 0}, + {0, 0, 0, 3, 0, 0, 0} +} + +AREA_WAVE4 = { + {1, 1, 1, 1, 1}, + {0, 1, 1, 1, 0}, + {0, 1, 1, 1, 0}, + {0, 0, 3, 0, 0} +} + +AREA_WAVE5 = { + {1, 1, 1, 1, 1}, + {0, 1, 1, 1, 0}, + {0, 1, 1, 1, 0}, + {0, 1, 1, 1, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 3, 0, 0} +} + +AREA_WAVE6 = { + {0, 0, 0, 0, 0}, + {0, 1, 3, 1, 0}, + {0, 0, 0, 0, 0} +} + +AREA_WAVE7 = { + {1, 1, 1, 1, 1}, + {1, 1, 1, 1, 1}, + {0, 1, 1, 1, 0}, + {0, 1, 1, 1, 0}, + {0, 0, 3, 0, 0} +} + +AREA_SQUAREWAVE5 = { + {1, 1, 1}, + {1, 1, 1}, + {1, 1, 1}, + {0, 1, 0}, + {0, 3, 0} +} + +AREA_SQUAREWAVE6 = { + {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, + {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, + {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, + {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, + {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, + {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, + {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, + {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0} +} + +AREA_SQUAREWAVE7 = { + {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, + {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, + {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, + {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, + {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, + {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, + {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, + {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, + {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0} +} + +--Diagonal waves +AREADIAGONAL_WAVE4 = { + {0, 0, 0, 0, 1, 0}, + {0, 0, 0, 1, 1, 0}, + {0, 0, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 0}, + {1, 1, 1, 1, 1, 0}, + {0, 0, 0, 0, 0, 3} +} + +AREADIAGONAL_SQUAREWAVE5 = { + {1, 1, 1, 0, 0}, + {1, 1, 1, 0, 0}, + {1, 1, 1, 0, 0}, + {0, 0, 0, 1, 0}, + {0, 0, 0, 0, 3} +} + +AREADIAGONAL_WAVE6 = { + {0, 0, 1}, + {0, 3, 0}, + {1, 0, 0} +} + +AREADIAGONAL_WAVE7 = { + {0, 0, 0, 0, 0, 1, 0}, + {0, 0, 0, 0, 1, 1, 0}, + {0, 0, 0, 1, 1, 1, 0}, + {0, 0, 1, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 1, 0}, + {1, 1, 1, 1, 1, 1, 0}, + {0, 0, 0, 0, 0, 0, 3} +} + +--Beams +AREA_BEAM1 = { + {3} +} + +AREA_BEAM5 = { + {1}, + {1}, + {1}, + {1}, + {3} +} + +AREA_BEAM7 = { + {1}, + {1}, + {1}, + {1}, + {1}, + {1}, + {3} +} + +AREA_BEAM8 = { + {1}, + {1}, + {1}, + {1}, + {1}, + {1}, + {1}, + {3} +} + +--Diagonal Beams +AREADIAGONAL_BEAM5 = { + {1, 0, 0, 0, 0}, + {0, 1, 0, 0, 0}, + {0, 0, 1, 0, 0}, + {0, 0, 0, 1, 0}, + {0, 0, 0, 0, 3} +} + +AREADIAGONAL_BEAM7 = { + {1, 0, 0, 0, 0, 0, 0}, + {0, 1, 0, 0, 0, 0, 0}, + {0, 0, 1, 0, 0, 0, 0}, + {0, 0, 0, 1, 0, 0, 0}, + {0, 0, 0, 0, 1, 0, 0}, + {0, 0, 0, 0, 0, 1, 0}, + {0, 0, 0, 0, 0, 0, 3} +} + +--Circles +AREA_CIRCLE2X2 = { + {0, 1, 1, 1, 0}, + {1, 1, 1, 1, 1}, + {1, 1, 3, 1, 1}, + {1, 1, 1, 1, 1}, + {0, 1, 1, 1, 0} +} + +AREA_CIRCLE3X3 = { + {0, 0, 1, 1, 1, 0, 0}, + {0, 1, 1, 1, 1, 1, 0}, + {1, 1, 1, 1, 1, 1, 1}, + {1, 1, 1, 3, 1, 1, 1}, + {1, 1, 1, 1, 1, 1, 1}, + {0, 1, 1, 1, 1, 1, 0}, + {0, 0, 1, 1, 1, 0, 0} +} + +AREA_CIRCLE3X32 = { + {1, 1, 1, 1, 1, 1, 1}, + {1, 1, 1, 1, 1, 1, 1}, + {1, 1, 1, 1, 1, 1, 1}, + {1, 1, 1, 3, 1, 1, 1}, + {1, 1, 1, 1, 1, 1, 1}, + {1, 1, 1, 1, 1, 1, 1}, + {1, 1, 1, 1, 1, 1, 1} +} + +AREA_CIRCLE3X33 = { + {1, 1, 1, 1, 1, 1, 1}, + {1, 1, 1, 1, 1, 1, 1}, + {1, 1, 0, 0, 1, 1, 1}, + {1, 1, 0, 3, 1, 1, 1}, + {1, 1, 0, 1, 1, 1, 1}, + {1, 1, 1, 1, 1, 1, 1}, + {1, 1, 1, 1, 1, 1, 1} +} + +-- Crosses +AREA_CIRCLE1X1 = { + {0, 1, 0}, + {1, 3, 1}, + {0, 1, 0} +} + +AREA_CIRCLE5X5 = { + {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, + {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, + {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, + {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1}, + {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, + {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, + {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, + {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0} +} + +AREA_CIRCLE5X5V2 = { + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, + {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, + {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 3, 1, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, + {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, + {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, + {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} +} + +AREA_CIRCLE6X6 = { + {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0}, + {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}, + {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, + {1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1}, + {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, + {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}, + {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0}, + {0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0} +} + +--Squares +AREA_SQUARE1X1 = { + {1, 1, 1}, + {1, 3, 1}, + {1, 1, 1} +} + +-- Walls +AREA_WALLFIELD = { + {1, 1, 3, 1, 1} +} + +AREADIAGONAL_WALLFIELD = { + {0, 0, 0, 0, 1}, + {0, 0, 0, 1, 1}, + {0, 1, 3, 1, 0}, + {1, 1, 0, 0, 0}, + {1, 0, 0, 0, 0}, +} + +-- Walls Energy +AREA_WALLFIELD_ENERGY = { + {1, 1, 1, 3, 1, 1, 1} +} + +AREADIAGONAL_WALLFIELD_ENERGY = { + {0, 0, 0, 0, 0, 0, 1}, + {0, 0, 0, 0, 0, 1, 1}, + {0, 0, 0, 0, 1, 1, 0}, + {0, 0, 1, 3, 1, 0, 0}, + {0, 1, 1, 0, 0, 0, 0}, + {0, 1, 0, 0, 0, 0, 0}, + {1, 0, 0, 0, 0, 0, 0}, +} + +-- Spells-only arrays + +--This HUGE array contains all corpses of the game, until protocol 8.0 +-- It is used on animate dead rune and on undead legion spell. No unmoveable corpses are there. +CORPSES = { + 2806,2807,2808,2809,2810,2811,2812,2813,2814,2815,2816,2817,2818,2819,2820,2821,2822,2823, + 2824,2825,2826,2827,2828,2829,2830,2831,2832,2833,2834,2835,2836,2837,2838,2839,2840,2841, + 2842,2843,2844,2845,2846,2847,2848,2849,2850,2851,2852,2853,2854,2855,2856,2857,2858,2859, + 2879,2880,2881,2882,2883,2884,2885,2886,2887,2888,2889,2890,2891,2892,2893,2894,2895,2896, + 2897,2898,2899,2900,2901,2902,2903,2904,2905,2906,2907,2908,2909,2910,2911,2912,2913,2914, + 2915,2916,2917,2918,2919,2920,2921,2922,2923,2924,2925,2926,2927,2928,2929,2930,2931,2932, + 2933,2934,2935,2936,2937,2938,2939,2940,2941,2942,2943,2944,2945,2946,2947,2948,2949,2950, + 2951,2952,2953,2954,2955,2956,2957,2958,2959,2960,2961,2962,2963,2964,2965,2966,2967,2968, + 2969,2970,2971,2972,2973,2974,2975,2976,2977,2978,2979,2980,2981,2982,2983,2984,2985,2986, + 2987,2988,2989,2990,2991,2992,2993,2994,2995,2996,2997,2998,2999,3000,3001,3002,3003,3004, + 3005,3006,3007,3008,3009,3010,3011,3012,3013,3014,3015,3016,3017,3018,3019,3020,3021,3022, + 3023,3024,3025,3026,3027,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037,3038,3039,3040, + 3041,3042,3043,3044,3045,3046,3047,3048,3049,3050,3051,3052,3053,3054,3055,3056,3057,3058, + 3059,3060,3061,3062,3063,3064,3065,3066,3067,3068,3069,3070,3071,3072,3073,3074,3075,3076, + 3077,3078,3079,3080,3081,3082,3083,3084,3085,3086,3087,3088,3089,3090,3091,3092,3093,3094, + 3095,3096,3097,3098,3099,3100,3101,3102,3103,3104,3105,3106,3107,3108,3109,3110,3111,3112, + 3113,3114,3115,3116,3117,3118,3119,3120,3121,3128,3129,3130,3131,3132,3133,3134,4252,4253, + 4254,4255,4256,4257,4258,4259,4260,4261,4262,4263,4264,4265,4266,4267,4268,4269,4270,4271, + 4272,4273,4274,4275,4276,4277,4278,4279,4280,4281,4282,4283,4284,4285,4286,4287,4288,4289, + 4290,4291,4292,4293,4294,4295,4296,4297,4298,4299,4300,4301,4302,4303,4304,4305,4306,4307, + 4308,4309,4310,4311,4312,4313,4314,4315,4316,4317,4318,4319,4320,4321,4322,4323,4324,4325, + 4326,4327,5522,5523,5524,5525,5526,5527,5528,5529,5530,5531,5532,5533,5534,5535,5536,5537, + 5538,5540,5541,5542,5565,5566,5567,5568,5625,5626,5627,5628,5629,5630,5666,5667,5668,5688, + 5689,5690,5727,5728,5729,5762,5765,5766,5767,5931,5932,5933,5934,5935,5936,5965,6022,6082, + 6083,6084,6303,6304,6305,6307,6308,6309,6310,6313,6314,6315,6317,6318,6319,6321,6322,6323, + 6325,6326,6327,6328,6329,6330,6333,6334,6335,6337,6338,6339,6341,6342,6343,6345,6346,6347, + 6349,6350,6351,6355,6365,6366,6367,6520,6521,6522,6560,7092,7093,7094,7256,7257,7258,7283, + 7284,7285,7317,7318,7319,7321,7322,7323,7325,7326,7328,7329,7331,7332,7333,7335,7336,7337, + 7339,7340,7341,7345,7346,7347,7623,7624,7625,7626,7627,7629,7630,7631,7638,7639,7640,7741, +7742,7743,7848,7849,7908,7927,7928,7929,7931,7970,7971,8272} + +-- This array contains all destroyable field items +FIELDS = {1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1500,1501,1502,1503,1504} + +-- The numbered-keys represents the damage values, and their table +-- contains the minimum and maximum number of rounds of those damage values. +RANGE = { + [1] = {19, 20}, [2] = {10, 10}, [3] = {6, 7}, [4] = {4, 5}, [5] = {3, 4}, + [6] = {3, 4}, [7] = {2, 3}, [8] = {2, 3}, [9] = {2, 3}, [10] = {1, 2}, + [11] = {1, 2}, [12] = {1, 2}, [13] = {1, 2}, [14] = {1, 2}, [15] = {1, 2}, + [16] = {1, 2}, [17] = {1, 2}, [18] = {1, 2}, [19] = {1, 2} +} + +function Creature:addDamageCondition(target, conditionType, listType, damage, time, rounds) + if target:isImmune(conditionType) then + return false + end + + local condition = Condition(conditionType) + condition:setParameter(CONDITION_PARAM_OWNER, self:getId()) + condition:setParameter(CONDITION_PARAM_DELAYED, true) + + if listType == 0 then + local exponent, value = -10, 0 + while value < damage do + value = math.floor(10 * math.pow(1.2, exponent) + 0.5) + condition:addDamage(1, time or 4000, -value) + + if value >= damage then + local permille = math.random(10, 1200) / 1000 + condition:addDamage(1, time or 4000, -math.max(1, math.floor(value * permille + 0.5))) + else + exponent = exponent + 1 + end + end + elseif listType == 1 then + rounds = rounds or RANGE + if rounds[damage] then + condition:addDamage(math.random(1, rounds[damage][2]), time or 4000, -damage) + damage = damage - 1 + end + + while damage > 0 do + condition:addDamage(rounds[damage] and math.random(rounds[damage][1], rounds[damage][2]) or 1, time or 4000, -damage) + damage = damage - (damage > 21 and math.floor(damage / 20) + math.random(0, 1) or 1) + end + elseif listType == 2 then + for _ = 1, rounds do + condition:addDamage(1, math.random(time[1], time[2]) * 1000, -damage) + end + end + + target:addCondition(condition) + return true +end + +function Player:addPartyCondition(combat, variant, condition, baseMana) + local party = self:getParty() + if not party then + self:sendCancelMessage(RETURNVALUE_NOPARTYMEMBERSINRANGE) + self:getPosition():sendMagicEffect(CONST_ME_POFF) + return false + end + + local members = party:getMembers() + members[#members + 1] = party:getLeader() + + local position = self:getPosition() + local affectedMembers = {} + for _, member in ipairs(members) do + if member:getPosition():getDistance(position) <= 36 then + affectedMembers[#affectedMembers + 1] = member + end + end + + if #affectedMembers <= 1 then + self:sendCancelMessage(RETURNVALUE_NOPARTYMEMBERSINRANGE) + position:sendMagicEffect(CONST_ME_POFF) + return false + end + + local mana = math.ceil(math.pow(0.9, #affectedMembers - 1) * baseMana * #affectedMembers) + if self:getMana() < mana then + self:sendCancelMessage(RETURNVALUE_NOTENOUGHMANA) + position:sendMagicEffect(CONST_ME_POFF) + return false + end + + if not combat:execute(self, variant) then + self:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE) + position:sendMagicEffect(CONST_ME_POFF) + return false + end + + self:addMana(baseMana - mana, false) + self:addManaSpent(mana - baseMana) + + for _, member in ipairs(affectedMembers) do + member:addCondition(condition) + end + return true +end + +function Player:conjureItem(reagentId, conjureId, conjureCount, effect) + if not conjureCount and conjureId ~= 0 then + local itemType = ItemType(conjureId) + if itemType:getId() == 0 then + return false + end + + local charges = itemType:getCharges() + if charges ~= 0 then + conjureCount = charges + end + end + + if reagentId ~= 0 and not self:removeItem(reagentId, 1, -1) then + self:sendCancelMessage(RETURNVALUE_YOUNEEDAMAGICITEMTOCASTSPELL) + self:getPosition():sendMagicEffect(CONST_ME_POFF) + return false + end + + local item = self:addItem(conjureId, conjureCount) + if not item then + self:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE) + self:getPosition():sendMagicEffect(CONST_ME_POFF) + return false + end + + if item:hasAttribute(ITEM_ATTRIBUTE_DURATION) then + item:decay() + end + + self:getPosition():sendMagicEffect(item:getType():isRune() and CONST_ME_MAGIC_RED or effect) + return true +end diff --git a/data/scripts/modules/bestiary_charms.lua b/data/scripts/modules/bestiary_charms.lua index 08df9570f..27d27e322 100644 --- a/data/scripts/modules/bestiary_charms.lua +++ b/data/scripts/modules/bestiary_charms.lua @@ -9,8 +9,8 @@ charm_t1.description = "Triggers on a creature with a certain chance and deals 5 of its initial hit points as physical damage once." charm_t1.type = CHARM_OFFENSIVE charm_t1.damageType = COMBAT_PHYSICALDAMAGE -charm_t1.percent = 10 -charm_t1.chance = 20 +charm_t1.percent = 5 +charm_t1.chance = 10 charm_t1.messageCancel = "You wounded the monster." charm_t1.messageServerLog = "[Wound charm]" charm_t1.effect = CONST_ME_HITAREA @@ -28,8 +28,8 @@ charm_t2.description = "Triggers on a creature with a certain chance and deals 5 of its initial hit points as fire damage once." charm_t2.type = CHARM_OFFENSIVE charm_t2.damageType = COMBAT_FIREDAMAGE -charm_t2.percent = 10 -charm_t2.chance = 20 +charm_t2.percent = 5 +charm_t2.chance = 10 charm_t2.messageCancel = "You enflamed the monster." charm_t2.messageServerLog = "[Enflame charm]" charm_t2.effect = CONST_ME_HITBYFIRE @@ -47,8 +47,8 @@ charm_t3.description = "Triggers on a creature with a certain chance and deals 5 of its initial hit points as earth damage once." charm_t3.type = CHARM_OFFENSIVE charm_t3.damageType = COMBAT_EARTHDAMAGE -charm_t3.percent = 10 -charm_t3.chance = 20 +charm_t3.percent = 5 +charm_t3.chance = 10 charm_t3.messageCancel = "You poisoned the monster." charm_t3.messageServerLog = "[Poison charm]" charm_t3.effect = CONST_ME_GREEN_RINGS @@ -66,8 +66,8 @@ charm_t4.description = "Triggers on a creature with a certain chance and deals 5 of its initial hit points as ice damage once." charm_t4.type = CHARM_OFFENSIVE charm_t4.damageType = COMBAT_ICEDAMAGE -charm_t4.percent = 10 -charm_t4.chance = 20 +charm_t4.percent = 5 +charm_t4.chance = 10 charm_t4.messageCancel = "You frozen the monster." charm_t4.messageServerLog = "[Freeze charm]" charm_t4.effect = CONST_ME_ICEATTACK @@ -85,8 +85,8 @@ charm_t5.description = "Triggers on a creature with a certain chance and deals 5 of its initial hit points as energy damage once." charm_t5.type = CHARM_OFFENSIVE charm_t5.damageType = COMBAT_ENERGYDAMAGE -charm_t5.percent = 10 -charm_t5.chance = 20 +charm_t5.percent = 5 +charm_t5.chance = 10 charm_t5.messageCancel = "You eletrocuted the monster." charm_t5.messageServerLog = "[Zap charm]" charm_t5.effect = CONST_ME_ENERGYHIT @@ -104,8 +104,8 @@ charm_t6.description = "Triggers on a creature with a certain chance and deals 5 of its initial hit points as death damage once." charm_t6.type = CHARM_OFFENSIVE charm_t6.damageType = COMBAT_DEATHDAMAGE -charm_t6.percent = 10 -charm_t6.chance = 20 +charm_t6.percent = 5 +charm_t6.chance = 10 charm_t6.messageCancel = "You curse the monster." charm_t6.messageServerLog = "[Curse charm]" charm_t6.effect = CONST_ME_SMALLCLOUDS @@ -123,7 +123,7 @@ local charm_t7 = {} charm_t7.name = "Cripple" charm_t7.description = "Cripples the creature with a certain chance and paralyzes it for 10 seconds." charm_t7.type = CHARM_OFFENSIVE -charm_t7.chance = 20 +charm_t7.chance = 10 charm_t7.messageCancel = "You cripple the monster." charm_t7.points = 500 @@ -154,7 +154,7 @@ local charm_t9 = {} charm_t9.name = "Dodge" charm_t9.description = "Dodges an attack with a certain chance without taking any damage at all." charm_t9.type = CHARM_DEFENSIVE -charm_t9.chance = 20 +charm_t9.chance = 10 charm_t9.messageCancel = "You dodge the attack." charm_t9.effect = CONST_ME_POFF charm_t9.points = 600 @@ -170,7 +170,7 @@ charm_t10.name = "Adrenaline Burst" charm_t10.description = "Bursts of adrenaline enhance your reflexes with a certain chance \z after you get hit and let you move faster for 10 seconds." charm_t10.type = CHARM_DEFENSIVE -charm_t10.chance = 20 +charm_t10.chance = 10 charm_t10.messageCancel = "Your movements where bursted." charm_t10.points = 500 @@ -184,7 +184,7 @@ local charm_t11 = {} charm_t11.name = "Numb" charm_t11.description = "Numbs the creature with a certain chance after its attack and paralyzes the creature for 10 seconds." charm_t11.type = CHARM_DEFENSIVE -charm_t11.chance = 20 +charm_t11.chance = 10 charm_t11.messageCancel = "You numb the monster." charm_t11.points = 500 @@ -199,7 +199,7 @@ charm_t12.name = "Cleanse" charm_t12.description = "Cleanses you from within with a certain chance after you get hit and \z removes one random active negative status effect and temporarily makes you immune against it." charm_t12.type = CHARM_DEFENSIVE -charm_t12.chance = 20 +charm_t12.chance = 10 charm_t12.messageCancel = "You purified the attack." charm_t12.points = 700 @@ -229,7 +229,7 @@ local charm_t14 = {} charm_t14.name = "Scavenge" charm_t14.description = "Enhances your chances to successfully skin/dust a skinnable/dustable creature." charm_t14.type = CHARM_PASSIVE -charm_t14.percent = 10 +charm_t14.percent = 25 charm_t14.points = 800 GLOBAL_CHARM_SCAVENGE = charm_t14.percent @@ -273,8 +273,8 @@ charm_t17.description = "Triggers on a creature with a certain chance and deals of its initial hit points as holy damage once." charm_t17.type = CHARM_OFFENSIVE charm_t17.damageType = COMBAT_HOLYDAMAGE -charm_t17.percent = 10 -charm_t17.chance = 20 +charm_t17.percent = 5 +charm_t17.chance = 10 charm_t17.messageCancel = "You divine the monster." charm_t17.messageServerLog = "[Divine charm]" charm_t17.effect = CONST_ME_HOLYDAMAGE diff --git a/data/scripts/movements/equipment/unscripted_equipments.lua b/data/scripts/movements/equipment/unscripted_equipments.lua index df20ade42..370c497cb 100644 --- a/data/scripts/movements/equipment/unscripted_equipments.lua +++ b/data/scripts/movements/equipment/unscripted_equipments.lua @@ -5223,6 +5223,16 @@ if not equipmentsTable then type = "deequip", slot = "necklace" }, -- werewolf amulet + { + itemid = 24717, + type = "equip", + slot = "necklace" + }, -- enchanted werewolf amulet + { + itemid = 24717, + type = "deequip", + slot = "necklace" + }, -- enchanted werewolf amulet { itemid = 24637, type = "equip", diff --git a/data/scripts/spells/attack/eternal_winter.lua b/data/scripts/spells/attack/eternal_winter.lua index c65a54767..7fbea4b82 100644 --- a/data/scripts/spells/attack/eternal_winter.lua +++ b/data/scripts/spells/attack/eternal_winter.lua @@ -17,7 +17,7 @@ function spell.onCastSpell(creature, var) return combat:execute(creature, var) end -spell:group("attack") +spell:group("attack", "focus") spell:id(118) spell:name("Eternal Winter") spell:words("exevo gran mas frigo") @@ -27,7 +27,7 @@ spell:isPremium(true) spell:range(5) spell:isSelfTarget(true) spell:cooldown(40 * 1000) -spell:groupCooldown(4 * 1000) +spell:groupCooldown(4 * 1000, 40 * 1000) spell:needLearn(false) spell:vocation("druid;true", "elder druid;true") spell:register() \ No newline at end of file diff --git a/data/scripts/spells/attack/hells_core.lua b/data/scripts/spells/attack/hells_core.lua index d3aa712de..e4252c9eb 100644 --- a/data/scripts/spells/attack/hells_core.lua +++ b/data/scripts/spells/attack/hells_core.lua @@ -17,7 +17,7 @@ function spell.onCastSpell(creature, variant) return combat:execute(creature, variant) end -spell:group("attack") +spell:group("attack", "focus") spell:id(24) spell:name("Hell's Core") spell:words("exevo gran mas flam") @@ -26,7 +26,7 @@ spell:mana(1100) spell:isSelfTarget(true) spell:isPremium(true) spell:cooldown(40 * 1000) -spell:groupCooldown(4 * 1000) +spell:groupCooldown(4 * 1000, 40 * 1000) spell:needLearn(false) spell:vocation("sorcerer;true", "master sorcerer;true") spell:register() diff --git a/data/scripts/spells/attack/lightning.lua b/data/scripts/spells/attack/lightning.lua index 4c18300ab..93087b69a 100644 --- a/data/scripts/spells/attack/lightning.lua +++ b/data/scripts/spells/attack/lightning.lua @@ -17,7 +17,7 @@ function spell.onCastSpell(creature, var) return combat:execute(creature, var) end -spell:group("attack") +spell:group("attack", "special") spell:id(149) spell:name("Lightning") spell:words("exori amp vis") @@ -28,7 +28,7 @@ spell:range(4) spell:needCasterTargetOrDirection(true) spell:blockWalls(true) spell:cooldown(8 * 1000) -spell:groupCooldown(2 * 1000) +spell:groupCooldown(2 * 1000, 8 * 1000) spell:needLearn(false) spell:vocation("sorcerer;true", "master sorcerer;true") spell:register() \ No newline at end of file diff --git a/data/scripts/spells/attack/rage_of_the_skies.lua b/data/scripts/spells/attack/rage_of_the_skies.lua index 5579d519c..e87a16d61 100644 --- a/data/scripts/spells/attack/rage_of_the_skies.lua +++ b/data/scripts/spells/attack/rage_of_the_skies.lua @@ -17,7 +17,7 @@ function spell.onCastSpell(creature, var) return combat:execute(creature, var) end -spell:group("attack") +spell:group("attack", "focus") spell:id(119) spell:name("Rage of the Skies") spell:words("exevo gran mas vis") @@ -26,7 +26,7 @@ spell:mana(600) spell:isSelfTarget(true) spell:isPremium(true) spell:cooldown(40 * 1000) -spell:groupCooldown(4 * 1000) +spell:groupCooldown(4 * 1000, 40 * 1000) spell:needLearn(false) spell:vocation("sorcerer;true", "master sorcerer;true") spell:register() \ No newline at end of file diff --git a/data/scripts/spells/attack/strong_energy_strike.lua b/data/scripts/spells/attack/strong_energy_strike.lua index bdd906e25..e5043bade 100644 --- a/data/scripts/spells/attack/strong_energy_strike.lua +++ b/data/scripts/spells/attack/strong_energy_strike.lua @@ -17,7 +17,7 @@ function spell.onCastSpell(creature, var) return combat:execute(creature, var) end -spell:group("attack") +spell:group("attack", "special") spell:id(151) spell:name("Strong Energy Strike") spell:words("exori gran vis") @@ -28,7 +28,7 @@ spell:range(3) spell:needCasterTargetOrDirection(true) spell:blockWalls(true) spell:cooldown(8 * 1000) -spell:groupCooldown(2 * 1000) +spell:groupCooldown(2 * 1000, 8 * 1000) spell:needLearn(false) spell:vocation("sorcerer;true", "master sorcerer;true") spell:register() \ No newline at end of file diff --git a/data/scripts/spells/attack/strong_flame_strike.lua b/data/scripts/spells/attack/strong_flame_strike.lua index 35d29cd16..ab38f09eb 100644 --- a/data/scripts/spells/attack/strong_flame_strike.lua +++ b/data/scripts/spells/attack/strong_flame_strike.lua @@ -17,7 +17,7 @@ function spell.onCastSpell(creature, var) return combat:execute(creature, var) end -spell:group("attack") +spell:group("attack", "special") spell:id(150) spell:name("Strong Flame Strike") spell:words("exori gran flam") @@ -28,7 +28,7 @@ spell:range(3) spell:needCasterTargetOrDirection(true) spell:blockWalls(true) spell:cooldown(8 * 1000) -spell:groupCooldown(2 * 1000) +spell:groupCooldown(2 * 1000, 8 * 1000) spell:needLearn(false) spell:vocation("sorcerer;true", "master sorcerer;true") spell:register() \ No newline at end of file diff --git a/data/scripts/spells/attack/strong_ice_strike.lua b/data/scripts/spells/attack/strong_ice_strike.lua index 0650cdc66..138b617c8 100644 --- a/data/scripts/spells/attack/strong_ice_strike.lua +++ b/data/scripts/spells/attack/strong_ice_strike.lua @@ -17,7 +17,7 @@ function spell.onCastSpell(creature, var) return combat:execute(creature, var) end -spell:group("attack") +spell:group("attack", "special") spell:id(152) spell:name("Strong Ice Strike") spell:words("exori gran frigo") @@ -28,7 +28,7 @@ spell:range(3) spell:needCasterTargetOrDirection(true) spell:blockWalls(true) spell:cooldown(8 * 1000) -spell:groupCooldown(2 * 1000) +spell:groupCooldown(2 * 1000, 8 * 1000) spell:needLearn(false) spell:vocation("druid;true", "elder druid;true") spell:register() \ No newline at end of file diff --git a/data/scripts/spells/attack/strong_terra_strike.lua b/data/scripts/spells/attack/strong_terra_strike.lua index 7189c2263..e3b95bcb3 100644 --- a/data/scripts/spells/attack/strong_terra_strike.lua +++ b/data/scripts/spells/attack/strong_terra_strike.lua @@ -17,7 +17,7 @@ function spell.onCastSpell(creature, var) return combat:execute(creature, var) end -spell:group("attack") +spell:group("attack", "special") spell:id(153) spell:name("Strong Terra Strike") spell:words("exori gran tera") @@ -28,7 +28,7 @@ spell:range(3) spell:needCasterTargetOrDirection(true) spell:blockWalls(true) spell:cooldown(8 * 1000) -spell:groupCooldown(2 * 1000) +spell:groupCooldown(2 * 1000, 8 * 1000) spell:needLearn(false) spell:vocation("druid;true", "elder druid;true") spell:register() \ No newline at end of file diff --git a/data/scripts/spells/attack/ultimate_energy_strike.lua b/data/scripts/spells/attack/ultimate_energy_strike.lua index e20990d61..0ba476111 100644 --- a/data/scripts/spells/attack/ultimate_energy_strike.lua +++ b/data/scripts/spells/attack/ultimate_energy_strike.lua @@ -17,7 +17,7 @@ function spell.onCastSpell(creature, var) return combat:execute(creature, var) end -spell:group("attack") +spell:group("attack", "ultimatestrikes") spell:id(155) spell:name("Ultimate Energy Strike") spell:words("exori max vis") @@ -28,7 +28,7 @@ spell:range(3) spell:needCasterTargetOrDirection(true) spell:blockWalls(true) spell:cooldown(30 * 1000) -spell:groupCooldown(2 * 1000) +spell:groupCooldown(2 * 1000, 30 * 1000) spell:needLearn(false) spell:vocation("sorcerer;true", "master sorcerer;true") spell:register() \ No newline at end of file diff --git a/data/scripts/spells/attack/ultimate_flame_strike.lua b/data/scripts/spells/attack/ultimate_flame_strike.lua index 8ac899c55..529b4cfc0 100644 --- a/data/scripts/spells/attack/ultimate_flame_strike.lua +++ b/data/scripts/spells/attack/ultimate_flame_strike.lua @@ -17,7 +17,7 @@ function spell.onCastSpell(creature, var) return combat:execute(creature, var) end -spell:group("attack") +spell:group("attack", "ultimatestrikes") spell:id(154) spell:name("Ultimate Flame Strike") spell:words("exori max flam") @@ -28,7 +28,7 @@ spell:range(3) spell:needCasterTargetOrDirection(true) spell:blockWalls(true) spell:cooldown(30 * 1000) -spell:groupCooldown(2 * 1000) +spell:groupCooldown(2 * 1000, 30 * 1000) spell:needLearn(false) spell:vocation("sorcerer;true", "master sorcerer;true") spell:register() \ No newline at end of file diff --git a/data/scripts/spells/attack/ultimate_ice_strike.lua b/data/scripts/spells/attack/ultimate_ice_strike.lua index 6de7a7011..49eb1ed0a 100644 --- a/data/scripts/spells/attack/ultimate_ice_strike.lua +++ b/data/scripts/spells/attack/ultimate_ice_strike.lua @@ -17,7 +17,7 @@ function spell.onCastSpell(creature, var) return combat:execute(creature, var) end -spell:group("attack") +spell:group("attack", "ultimatestrikes") spell:id(156) spell:name("Ultimate Ice Strike") spell:words("exori max frigo") @@ -28,7 +28,7 @@ spell:range(3) spell:needCasterTargetOrDirection(true) spell:blockWalls(true) spell:cooldown(30 * 1000) -spell:groupCooldown(4 * 1000) +spell:groupCooldown(4 * 1000, 30 * 1000) spell:needLearn(false) spell:vocation("druid;true", "elder druid;true") spell:register() \ No newline at end of file diff --git a/data/scripts/spells/attack/ultimate_terra_strike.lua b/data/scripts/spells/attack/ultimate_terra_strike.lua index 921eb480f..59a6f6610 100644 --- a/data/scripts/spells/attack/ultimate_terra_strike.lua +++ b/data/scripts/spells/attack/ultimate_terra_strike.lua @@ -17,7 +17,7 @@ function spell.onCastSpell(creature, var) return combat:execute(creature, var) end -spell:group("attack") +spell:group("attack", "ultimatestrikes") spell:id(157) spell:name("Ultimate Terra Strike") spell:words("exori max tera") @@ -28,7 +28,7 @@ spell:range(3) spell:needCasterTargetOrDirection(true) spell:blockWalls(true) spell:cooldown(30 * 1000) -spell:groupCooldown(4 * 1000) +spell:groupCooldown(4 * 1000, 30 * 1000) spell:needLearn(false) spell:vocation("druid;true", "elder druid;true") spell:register() \ No newline at end of file diff --git a/data/scripts/spells/attack/wrath_of_nature.lua b/data/scripts/spells/attack/wrath_of_nature.lua index 71e6cb332..a295e146e 100644 --- a/data/scripts/spells/attack/wrath_of_nature.lua +++ b/data/scripts/spells/attack/wrath_of_nature.lua @@ -17,7 +17,7 @@ function spell.onCastSpell(creature, var) return combat:execute(creature, var) end -spell:group("attack") +spell:group("attack", "focus") spell:id(56) spell:name("Wrath of Nature") spell:words("exevo gran mas tera") @@ -26,7 +26,7 @@ spell:mana(700) spell:isPremium(true) spell:isSelfTarget(true) spell:cooldown(40 * 1000) -spell:groupCooldown(4 * 1000) +spell:groupCooldown(4 * 1000, 40 * 1000) spell:needLearn(false) spell:vocation("druid;true", "elder druid;true") spell:register() \ No newline at end of file diff --git a/data/scripts/spells/monster/aggresive_lava_wave.lua b/data/scripts/spells/monster/aggresive_lava_wave.lua new file mode 100644 index 000000000..34ed7fbf1 --- /dev/null +++ b/data/scripts/spells/monster/aggresive_lava_wave.lua @@ -0,0 +1,51 @@ +local combat = Combat() +combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) +combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE) + +combat:setArea(createCombatArea({ +{0, 1, 1, 1, 0}, +{1, 1, 1, 1, 1}, +{1, 1, 3, 1, 1}, +{1, 1, 1, 1, 1}, +{0, 1, 1, 1, 0}, +})) + +local monsters = { + "the baron from below", + "the hungry baron from below", + "the duke of the depths", + "the fire empowered duke", + "fiery heart", + "aggressive lava", +} + +function onTargetTile(cid, pos) + local tile = Tile(pos) + if tile then + local target = tile:getTopCreature() + if target and target ~= cid then + targetName = target:getName():lower() + casterName = cid:getName():lower() + if table.contains(monsters, targetName) and casterName ~= targetName then + target:addHealth(math.random(0, 650)) + end + end + end + return true +end + +combat:setCallback(CALLBACK_PARAM_TARGETTILE, "onTargetTile") + +local spell = Spell("instant") + +function spell.onCastSpell(creature, var) + return combat:execute(creature, var) +end + +spell:name("aggressivelavawave") +spell:words("###464") +spell:needLearn(true) +spell:needDirection(true) +spell:cooldown("2000") +spell:isSelfTarget(true) +spell:register() diff --git a/data/scripts/spells/monster/emberBeastArea.lua b/data/scripts/spells/monster/emberBeastArea.lua index 565b9408d..03c6a38e9 100644 --- a/data/scripts/spells/monster/emberBeastArea.lua +++ b/data/scripts/spells/monster/emberBeastArea.lua @@ -8,26 +8,26 @@ combat:setArea(createCombatArea({ {1, 1, 1} })) -function spellCallback(param) - local tile = Tile(Position(param.pos)) +local monsters = { + "the count of the core", +} + +function onTargetTile(cid, pos) + local tile = Tile(pos) if tile then - if tile:getTopCreature() and tile:getTopCreature():isMonster() then - if tile:getTopCreature():getName():lower() == "the count of the core" then - tile:getTopCreature():addHealth(math.random(0, 1500)) + local target = tile:getTopCreature() + if target and target ~= cid then + targetName = target:getName():lower() + casterName = cid:getName():lower() + if table.contains(monsters, targetName) and casterName ~= targetName then + target:addHealth(math.random(0, 1500)) end end end + return true end -function onTargetTile(cid, pos) - local param = {} - param.cid = cid - param.pos = pos - param.count = 0 - spellCallback(param) -end - -setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") +combat:setCallback(CALLBACK_PARAM_TARGETTILE, "onTargetTile") local spell = Spell("instant") diff --git a/data/scripts/spells/monster/emberBeastHur.lua b/data/scripts/spells/monster/emberBeastHur.lua index d526d8fe0..32abb2388 100644 --- a/data/scripts/spells/monster/emberBeastHur.lua +++ b/data/scripts/spells/monster/emberBeastHur.lua @@ -11,26 +11,26 @@ combat:setArea(createCombatArea({ {3}, })) -function spellCallback(param) - local tile = Tile(Position(param.pos)) +local monsters = { + "the count of the core", +} + +function onTargetTile(cid, pos) + local tile = Tile(pos) if tile then - if tile:getTopCreature() and tile:getTopCreature():isMonster() then - if tile:getTopCreature():getName():lower() == "the count of the core" then - tile:getTopCreature():addHealth(math.random(0, 1500)) + local target = tile:getTopCreature() + if target and target ~= cid then + targetName = target:getName():lower() + casterName = cid:getName():lower() + if table.contains(monsters, targetName) and casterName ~= targetName then + target:addHealth(math.random(0, 1500)) end end end + return true end -function onTargetTile(cid, pos) - local param = {} - param.cid = cid - param.pos = pos - param.count = 0 - spellCallback(param) -end - -setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") +combat:setCallback(CALLBACK_PARAM_TARGETTILE, "onTargetTile") local spell = Spell("instant") diff --git a/data/scripts/spells/monster/magic_pillar_summon.lua b/data/scripts/spells/monster/magic_pillar_summon.lua index 44e1ca576..cf8050d8f 100644 --- a/data/scripts/spells/monster/magic_pillar_summon.lua +++ b/data/scripts/spells/monster/magic_pillar_summon.lua @@ -9,7 +9,7 @@ local spell = Spell("instant") function spell.onCastSpell(creature, var) local summoncount = creature:getSummons() if #summoncount < 3 then - mid = Game.createMonster("Demon2", creature:getPosition()) + mid = Game.createMonster("Demon", creature:getPosition()) if not mid then return end diff --git a/data/scripts/spells/monster/morgaroth_summon.lua b/data/scripts/spells/monster/morgaroth_summon.lua index 54935f23e..f22a72554 100644 --- a/data/scripts/spells/monster/morgaroth_summon.lua +++ b/data/scripts/spells/monster/morgaroth_summon.lua @@ -13,7 +13,7 @@ function spell.onCastSpell(creature, var) local summoncount = creature:getSummons() if #summoncount < 4 then for i = 1, maxsummons - #summoncount do - local mid = Game.createMonster("Demon2", { x=creature:getPosition().x+math.random(-2, 2), y=creature:getPosition().y+math.random(-2, 2), z=creature:getPosition().z }) + local mid = Game.createMonster("Demon", { x=creature:getPosition().x+math.random(-2, 2), y=creature:getPosition().y+math.random(-2, 2), z=creature:getPosition().z }) if not mid then return end diff --git a/data/scripts/spells/runes/animate_dead_rune.lua b/data/scripts/spells/runes/animate_dead_rune.lua index 2800396bc..c97b29dde 100644 --- a/data/scripts/spells/runes/animate_dead_rune.lua +++ b/data/scripts/spells/runes/animate_dead_rune.lua @@ -8,150 +8,14 @@ function rune.onCastSpell(player, variant) if corpse then local itemType = corpse:getType() if itemType:isCorpse() and itemType:isMovable() then - if #player:getSummons() < 2 and player:getSkull() ~= SKULL_BLACK and player:getLevel() <= 99 then + if #player:getSummons() < 2 and player:getSkull() ~= SKULL_BLACK then local summon = Game.createMonster("Skeleton", position, true, true) if summon then corpse:remove() player:addSummon(summon) - summon:reload() position:sendMagicEffect(CONST_ME_MAGIC_BLUE) return true end - elseif #player:getSummons() < 2 and player:getSkull() ~= SKULL_BLACK and player:getLevel() <= 149 then - local summon = Game.createMonster("Demon Skeleton", position, true, true) - if summon then - corpse:remove() - player:addSummon(summon) - summon:reload() - position:sendMagicEffect(CONST_ME_MAGIC_BLUE) - return true - end - elseif #player:getSummons() < 2 and player:getSkull() ~= SKULL_BLACK and player:getLevel() <= 199 then - local summon = Game.createMonster("Bonebeast", position, true, true) - if summon then - corpse:remove() - player:addSummon(summon) - summon:reload() - position:sendMagicEffect(CONST_ME_MAGIC_BLUE) - return true - end - elseif #player:getSummons() < 2 and player:getSkull() ~= SKULL_BLACK and player:getLevel() <= 249 then - local summon = Game.createMonster("Lich", position, true, true) - if summon then - corpse:remove() - player:addSummon(summon) - summon:reload() - position:sendMagicEffect(CONST_ME_MAGIC_BLUE) - return true - end - elseif #player:getSummons() < 2 and player:getSkull() ~= SKULL_BLACK and player:getLevel() <= 299 then - local summon = Game.createMonster("Undead Gladiator", position, true, true) - if summon then - corpse:remove() - player:addSummon(summon) - summon:reload() - position:sendMagicEffect(CONST_ME_MAGIC_BLUE) - return true - end - elseif #player:getSummons() < 2 and player:getSkull() ~= SKULL_BLACK and player:getLevel() <= 349 then - local summon = Game.createMonster("Vampire Bride", position, true, true) - if summon then - corpse:remove() - player:addSummon(summon) - summon:reload() - position:sendMagicEffect(CONST_ME_MAGIC_BLUE) - return true - end - elseif #player:getSummons() < 2 and player:getSkull() ~= SKULL_BLACK and player:getLevel() <= 399 then - local summon = Game.createMonster("Vicious Manbat", position, true, true) - if summon then - corpse:remove() - player:addSummon(summon) - summon:reload() - position:sendMagicEffect(CONST_ME_MAGIC_BLUE) - return true - end - elseif #player:getSummons() < 2 and player:getSkull() ~= SKULL_BLACK and player:getLevel() <= 449 then - local summon = Game.createMonster("Skeleton Elite Warrior", position, true, true) - if summon then - corpse:remove() - player:addSummon(summon) - summon:reload() - position:sendMagicEffect(CONST_ME_MAGIC_BLUE) - return true - end - elseif #player:getSummons() < 2 and player:getSkull() ~= SKULL_BLACK and player:getLevel() <= 499 then - local summon = Game.createMonster("Undead Elite Gladiator", position, true, true) - if summon then - corpse:remove() - player:addSummon(summon) - summon:reload() - position:sendMagicEffect(CONST_ME_MAGIC_BLUE) - return true - end - elseif #player:getSummons() < 2 and player:getSkull() ~= SKULL_BLACK and player:getLevel() <= 549 then - local summon = Game.createMonster("Undead Dragon", position, true, true) - if summon then - corpse:remove() - player:addSummon(summon) - summon:reload() - position:sendMagicEffect(CONST_ME_MAGIC_BLUE) - return true - end - elseif #player:getSummons() < 2 and player:getSkull() ~= SKULL_BLACK and player:getLevel() <= 599 then - local summon = Game.createMonster("Demon", position, true, true) - if summon then - corpse:remove() - player:addSummon(summon) - summon:reload() - position:sendMagicEffect(CONST_ME_MAGIC_BLUE) - return true - end - elseif #player:getSummons() < 1 and player:getSkull() ~= SKULL_BLACK and player:getLevel() <= 699 then - local summon = Game.createMonster("Hellflayer", position, true, true) - if summon then - corpse:remove() - player:addSummon(summon) - summon:reload() - position:sendMagicEffect(CONST_ME_MAGIC_BLUE) - return true - end - elseif #player:getSummons() < 1 and player:getSkull() ~= SKULL_BLACK and player:getLevel() <= 799 then - local summon = Game.createMonster("Mr. Punish", position, true, true) - if summon then - corpse:remove() - player:addSummon(summon) - summon:reload() - position:sendMagicEffect(CONST_ME_MAGIC_BLUE) - return true - end - elseif #player:getSummons() < 1 and player:getSkull() ~= SKULL_BLACK and player:getLevel() <= 899 then - local summon = Game.createMonster("Courage Leech", position, true, true) - if summon then - corpse:remove() - player:addSummon(summon) - summon:reload() - position:sendMagicEffect(CONST_ME_MAGIC_BLUE) - return true - end - elseif #player:getSummons() < 1 and player:getSkull() ~= SKULL_BLACK and player:getLevel() <= 999 then - local summon = Game.createMonster("Zulazza the Corruptor", position, true, true) - if summon then - corpse:remove() - player:addSummon(summon) - summon:reload() - position:sendMagicEffect(CONST_ME_MAGIC_BLUE) - return true - end - elseif #player:getSummons() < 1 and player:getSkull() ~= SKULL_BLACK and player:getLevel() >= 1000 then - local summon = Game.createMonster("Distorted Phantom", position, true, true) - if summon then - corpse:remove() - player:addSummon(summon) - summon:reload() - position:sendMagicEffect(CONST_ME_MAGIC_BLUE) - return true - end else player:sendCancelMessage("You cannot control more creatures.") player:getPosition():sendMagicEffect(CONST_ME_POFF) diff --git a/data/scripts/spells/runes/convince_creature.lua b/data/scripts/spells/runes/convince_creature.lua index f608fc826..8d09fc083 100644 --- a/data/scripts/spells/runes/convince_creature.lua +++ b/data/scripts/spells/runes/convince_creature.lua @@ -33,7 +33,6 @@ function rune.onCastSpell(creature, variant, isHotkey) creature:addMana(-manaCost) creature:addManaSpent(manaCost) creature:addSummon(target) - target:reload() creature:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) return true end diff --git a/data/scripts/spells/runes/paralyze_rune.lua b/data/scripts/spells/runes/paralyze_rune.lua index 46fbc764b..a0f299040 100644 --- a/data/scripts/spells/runes/paralyze_rune.lua +++ b/data/scripts/spells/runes/paralyze_rune.lua @@ -4,7 +4,7 @@ combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_UNDEFINEDDAMAGE) local condition = Condition(CONDITION_PARALYZE) condition:setParameter(CONDITION_PARAM_TICKS, 6000) -condition:setFormula(-1, 45, -1, 45) +condition:setFormula(-1, 81, -1, 81) combat:addCondition(condition) local rune = Spell("rune") diff --git a/data/scripts/spells/runes/sudden_death.lua b/data/scripts/spells/runes/sudden_death.lua index 9521cb319..73ab5cfdb 100644 --- a/data/scripts/spells/runes/sudden_death.lua +++ b/data/scripts/spells/runes/sudden_death.lua @@ -28,4 +28,4 @@ rune:cooldown(2 * 1000) rune:groupCooldown(2 * 1000) rune:needTarget(true) rune:isBlocking(true) -- True = Solid / False = Creature -rune:register() \ No newline at end of file +rune:register() diff --git a/data/scripts/spells/summon/druid_familiar.lua b/data/scripts/spells/summon/druid_familiar.lua index eca1e7991..5b8ac434a 100644 --- a/data/scripts/spells/summon/druid_familiar.lua +++ b/data/scripts/spells/summon/druid_familiar.lua @@ -1,42 +1,20 @@ -local spell = Spell("instant") - local familiar = { [VOCATION.BASE_ID.DRUID] = {name = "Druid familiar"} } -local timer = { - [1] = {storage=Storage.PetSummonEvent10, countdown=10, message = "10 seconds"}, - [2] = {storage=Storage.PetSummonEvent60, countdown=60, message = "one minute"} -} - -local function sendMessageFunction(pid, message) - if Player(pid) then - Player(pid):sendTextMessage(MESSAGE_LOOT, "Your summon will disappear in less than " .. message) - end -end - -local function removePet(creatureId, playerId) - local creature = Creature(creatureId) - local player = Player(playerId) - if not creature or not player then - return true - end - creature:remove() - for sendMessage = 1, #timer do - player:setStorageValue(timer[sendMessage].storage, -1) - end -end +local spell = Spell("instant") function spell.onCastSpell(player, variant) + local playerPosition = player:getPosition() if not player or not isPremium(player) then - player:getPosition():sendMagicEffect(CONST_ME_POFF) + playerPosition:sendMagicEffect(CONST_ME_POFF) player:sendCancelMessage("You need a premium account.") return false end if #player:getSummons() >= 1 then player:sendCancelMessage("You can't have other summons.") - player:getPosition():sendMagicEffect(CONST_ME_POFF) + playerPosition:sendMagicEffect(CONST_ME_POFF) return false end @@ -49,29 +27,27 @@ function spell.onCastSpell(player, variant) if not familiarName then player:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE) - player:getPosition():sendMagicEffect(CONST_ME_POFF) + playerPosition:sendMagicEffect(CONST_ME_POFF) return false end - local myFamiliar = Game.createMonster(familiarName, player:getPosition(), true, false) + local myFamiliar = Game.createMonster(familiarName, playerPosition, true, false, player) if not myFamiliar then - player:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE) - player:getPosition():sendMagicEffect(CONST_ME_POFF) + player:sendCancelMessage(RETURNVALUE_NOTENOUGHROOM) + playerPosition:sendMagicEffect(CONST_ME_POFF) return false end - player:addSummon(myFamiliar) myFamiliar:setOutfit({lookType = player:getFamiliarLooktype()}) - --myFamiliar:reload() myFamiliar:registerEvent("FamiliarDeath") local deltaSpeed = math.max(player:getSpeed() - myFamiliar:getBaseSpeed(), 0) myFamiliar:changeSpeed(deltaSpeed) - player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) + playerPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE) myFamiliar:getPosition():sendMagicEffect(CONST_ME_TELEPORT) - player:setStorageValue(Storage.PetSummon, os.time() + 15*60) -- 15 minutes from now - addEvent(removePet, 15*60*1000, myFamiliar:getId(), player:getId()) - for sendMessage = 1, #timer do - player:setStorageValue(timer[sendMessage].storage,addEvent(sendMessageFunction, (15*60-timer[sendMessage].countdown)*1000, player:getId(),timer[sendMessage].message)) + player:setStorageValue(Storage.FamiliarSummon, os.time() + 15*60) -- 15 minutes from now + addEvent(removeFamiliar, 15*60*1000, myFamiliar:getId(), player:getId()) + for sendMessage = 1, #FAMILIAR_TIMER do + player:setStorageValue(FAMILIAR_TIMER[sendMessage].storage,addEvent(sendMessageFunction, (15*60-FAMILIAR_TIMER[sendMessage].countdown)*1000, player:getId(),FAMILIAR_TIMER[sendMessage].message)) end return true end diff --git a/data/scripts/spells/summon/knight_familiar.lua b/data/scripts/spells/summon/knight_familiar.lua index e6ff8f2c2..899594546 100644 --- a/data/scripts/spells/summon/knight_familiar.lua +++ b/data/scripts/spells/summon/knight_familiar.lua @@ -1,42 +1,20 @@ -local spell = Spell("instant") - local familiar = { [VOCATION.BASE_ID.KNIGHT] = {name = "Knight familiar"} } -local timer = { - [1] = {storage=Storage.PetSummonEvent10, countdown=10, message = "10 seconds"}, - [2] = {storage=Storage.PetSummonEvent60, countdown=60, message = "one minute"} -} - -local function sendMessageFunction(pid, message) - if Player(pid) then - Player(pid):sendTextMessage(MESSAGE_LOOT, "Your summon will disappear in less than " .. message) - end -end - -local function removePet(creatureId, playerId) - local creature = Creature(creatureId) - local player = Player(playerId) - if not creature or not player then - return true - end - creature:remove() - for sendMessage = 1, #timer do - player:setStorageValue(timer[sendMessage].storage, -1) - end -end +local spell = Spell("instant") function spell.onCastSpell(player, variant) + local playerPosition = player:getPosition() if not player or not isPremium(player) then - player:getPosition():sendMagicEffect(CONST_ME_POFF) + playerPosition:sendMagicEffect(CONST_ME_POFF) player:sendCancelMessage("You need a premium account.") return false end if #player:getSummons() >= 1 then player:sendCancelMessage("You can't have other summons.") - player:getPosition():sendMagicEffect(CONST_ME_POFF) + playerPosition:sendMagicEffect(CONST_ME_POFF) return false end @@ -49,29 +27,27 @@ function spell.onCastSpell(player, variant) if not familiarName then player:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE) - player:getPosition():sendMagicEffect(CONST_ME_POFF) + playerPosition:sendMagicEffect(CONST_ME_POFF) return false end - local myFamiliar = Game.createMonster(familiarName, player:getPosition(), true, false) + local myFamiliar = Game.createMonster(familiarName, playerPosition, true, false, player) if not myFamiliar then - player:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE) - player:getPosition():sendMagicEffect(CONST_ME_POFF) + player:sendCancelMessage(RETURNVALUE_NOTENOUGHROOM) + playerPosition:sendMagicEffect(CONST_ME_POFF) return false end - player:addSummon(myFamiliar) myFamiliar:setOutfit({lookType = player:getFamiliarLooktype()}) - --myFamiliar:reload() myFamiliar:registerEvent("FamiliarDeath") local deltaSpeed = math.max(player:getSpeed() - myFamiliar:getBaseSpeed(), 0) myFamiliar:changeSpeed(deltaSpeed) - player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) + playerPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE) myFamiliar:getPosition():sendMagicEffect(CONST_ME_TELEPORT) - player:setStorageValue(Storage.PetSummon, os.time() + 15*60) -- 15 minutes from now - addEvent(removePet, 15*60*1000, myFamiliar:getId(), player:getId()) - for sendMessage = 1, #timer do - player:setStorageValue(timer[sendMessage].storage,addEvent(sendMessageFunction, (15*60-timer[sendMessage].countdown)*1000, player:getId(),timer[sendMessage].message)) + player:setStorageValue(Storage.FamiliarSummon, os.time() + 15*60) -- 15 minutes from now + addEvent(removeFamiliar, 15*60*1000, myFamiliar:getId(), player:getId()) + for sendMessage = 1, #FAMILIAR_TIMER do + player:setStorageValue(FAMILIAR_TIMER[sendMessage].storage,addEvent(sendMessageFunction, (15*60-FAMILIAR_TIMER[sendMessage].countdown)*1000, player:getId(),FAMILIAR_TIMER[sendMessage].message)) end return true end diff --git a/data/scripts/spells/summon/paladin_familiar.lua b/data/scripts/spells/summon/paladin_familiar.lua index 8e5c2189c..b39b0ee65 100644 --- a/data/scripts/spells/summon/paladin_familiar.lua +++ b/data/scripts/spells/summon/paladin_familiar.lua @@ -1,42 +1,20 @@ -local spell = Spell("instant") - local familiar = { [VOCATION.BASE_ID.PALADIN] = {name = "Paladin familiar"} } -local timer = { - [1] = {storage=Storage.PetSummonEvent10, countdown=10, message = "10 seconds"}, - [2] = {storage=Storage.PetSummonEvent60, countdown=60, message = "one minute"} -} - -local function sendMessageFunction(pid, message) - if Player(pid) then - Player(pid):sendTextMessage(MESSAGE_LOOT, "Your summon will disappear in less than " .. message) - end -end - -local function removePet(creatureId, playerId) - local creature = Creature(creatureId) - local player = Player(playerId) - if not creature or not player then - return true - end - creature:remove() - for sendMessage = 1, #timer do - player:setStorageValue(timer[sendMessage].storage, -1) - end -end +local spell = Spell("instant") function spell.onCastSpell(player, variant) + local playerPosition = player:getPosition() if not player or not isPremium(player) then - player:getPosition():sendMagicEffect(CONST_ME_POFF) + playerPosition:sendMagicEffect(CONST_ME_POFF) player:sendCancelMessage("You need a premium account.") return false end if #player:getSummons() >= 1 then player:sendCancelMessage("You can't have other summons.") - player:getPosition():sendMagicEffect(CONST_ME_POFF) + playerPosition:sendMagicEffect(CONST_ME_POFF) return false end @@ -49,29 +27,27 @@ function spell.onCastSpell(player, variant) if not familiarName then player:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE) - player:getPosition():sendMagicEffect(CONST_ME_POFF) + playerPosition:sendMagicEffect(CONST_ME_POFF) return false end - local myFamiliar = Game.createMonster(familiarName, player:getPosition(), true, false) + local myFamiliar = Game.createMonster(familiarName, playerPosition, true, false, player) if not myFamiliar then - player:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE) - player:getPosition():sendMagicEffect(CONST_ME_POFF) + player:sendCancelMessage(RETURNVALUE_NOTENOUGHROOM) + playerPosition:sendMagicEffect(CONST_ME_POFF) return false end - player:addSummon(myFamiliar) myFamiliar:setOutfit({lookType = player:getFamiliarLooktype()}) - --myFamiliar:reload() myFamiliar:registerEvent("FamiliarDeath") local deltaSpeed = math.max(player:getSpeed() - myFamiliar:getBaseSpeed(), 0) myFamiliar:changeSpeed(deltaSpeed) - player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) + playerPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE) myFamiliar:getPosition():sendMagicEffect(CONST_ME_TELEPORT) - player:setStorageValue(Storage.PetSummon, os.time() + 15*60) -- 15 minutes from now - addEvent(removePet, 15*60*1000, myFamiliar:getId(), player:getId()) - for sendMessage = 1, #timer do - player:setStorageValue(timer[sendMessage].storage,addEvent(sendMessageFunction, (15*60-timer[sendMessage].countdown)*1000, player:getId(),timer[sendMessage].message)) + player:setStorageValue(Storage.FamiliarSummon, os.time() + 15*60) -- 15 minutes from now + addEvent(removeFamiliar, 15*60*1000, myFamiliar:getId(), player:getId()) + for sendMessage = 1, #FAMILIAR_TIMER do + player:setStorageValue(FAMILIAR_TIMER[sendMessage].storage,addEvent(sendMessageFunction, (15*60-FAMILIAR_TIMER[sendMessage].countdown)*1000, player:getId(),FAMILIAR_TIMER[sendMessage].message)) end return true end diff --git a/data/scripts/spells/summon/sorcerer_familiar.lua b/data/scripts/spells/summon/sorcerer_familiar.lua index 4df86ff47..2f3a3833f 100644 --- a/data/scripts/spells/summon/sorcerer_familiar.lua +++ b/data/scripts/spells/summon/sorcerer_familiar.lua @@ -1,42 +1,21 @@ -local spell = Spell("instant") local familiar = { [VOCATION.BASE_ID.SORCERER] = {name = "Sorcerer familiar"} } -local timer = { - [1] = {storage=Storage.PetSummonEvent10, countdown=10, message = "10 seconds"}, - [2] = {storage=Storage.PetSummonEvent60, countdown=60, message = "one minute"} -} - -local function sendMessageFunction(pid, message) - if Player(pid) then - Player(pid):sendTextMessage(MESSAGE_LOOT, "Your summon will disappear in less than " .. message) - end -end - -local function removePet(creatureId, playerId) - local creature = Creature(creatureId) - local player = Player(playerId) - if not creature or not player then - return true - end - creature:remove() - for sendMessage = 1, #timer do - player:setStorageValue(timer[sendMessage].storage, -1) - end -end +local spell = Spell("instant") function spell.onCastSpell(player, variant) + local playerPosition = player:getPosition() if not player or not isPremium(player) then - player:getPosition():sendMagicEffect(CONST_ME_POFF) + playerPosition:sendMagicEffect(CONST_ME_POFF) player:sendCancelMessage("You need a premium account.") return false end if #player:getSummons() >= 1 then player:sendCancelMessage("You can't have other summons.") - player:getPosition():sendMagicEffect(CONST_ME_POFF) + playerPosition:sendMagicEffect(CONST_ME_POFF) return false end @@ -49,29 +28,27 @@ function spell.onCastSpell(player, variant) if not familiarName then player:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE) - player:getPosition():sendMagicEffect(CONST_ME_POFF) + playerPosition:sendMagicEffect(CONST_ME_POFF) return false end - local myFamiliar = Game.createMonster(familiarName, player:getPosition(), true, false) + local myFamiliar = Game.createMonster(familiarName, playerPosition, true, false, player) if not myFamiliar then - player:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE) - player:getPosition():sendMagicEffect(CONST_ME_POFF) + player:sendCancelMessage(RETURNVALUE_NOTENOUGHROOM) + playerPosition:sendMagicEffect(CONST_ME_POFF) return false end - player:addSummon(myFamiliar) myFamiliar:setOutfit({lookType = player:getFamiliarLooktype()}) - --myFamiliar:reload() myFamiliar:registerEvent("FamiliarDeath") local deltaSpeed = math.max(player:getSpeed() - myFamiliar:getBaseSpeed(), 0) myFamiliar:changeSpeed(deltaSpeed) - player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) + playerPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE) myFamiliar:getPosition():sendMagicEffect(CONST_ME_TELEPORT) - player:setStorageValue(Storage.PetSummon, os.time() + 15*60) -- 15 minutes from now - addEvent(removePet, 15*60*1000, myFamiliar:getId(), player:getId()) - for sendMessage = 1, #timer do - player:setStorageValue(timer[sendMessage].storage,addEvent(sendMessageFunction, (15*60-timer[sendMessage].countdown)*1000, player:getId(),timer[sendMessage].message)) + player:setStorageValue(Storage.FamiliarSummon, os.time() + 15*60) -- 15 minutes from now + addEvent(removeFamiliar, 15*60*1000, myFamiliar:getId(), player:getId()) + for sendMessage = 1, #FAMILIAR_TIMER do + player:setStorageValue(FAMILIAR_TIMER[sendMessage].storage,addEvent(sendMessageFunction, (15*60-FAMILIAR_TIMER[sendMessage].countdown)*1000, player:getId(),FAMILIAR_TIMER[sendMessage].message)) end return true end diff --git a/data/scripts/spells/summon/summon_creature.lua b/data/scripts/spells/summon/summon_creature.lua index e65c2ce58..4cbe554a3 100644 --- a/data/scripts/spells/summon/summon_creature.lua +++ b/data/scripts/spells/summon/summon_creature.lua @@ -1,25 +1,26 @@ local spell = Spell("instant") function spell.onCastSpell(player, variant) + local position = player:getPosition() local monsterName = variant:getString() local monsterType = MonsterType(monsterName) if not monsterType then player:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE) - player:getPosition():sendMagicEffect(CONST_ME_POFF) + position:sendMagicEffect(CONST_ME_POFF) return false end if not getPlayerFlagValue(player, PlayerFlag_CanSummonAll) then if not monsterType:isSummonable() then player:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE) - player:getPosition():sendMagicEffect(CONST_ME_POFF) + position:sendMagicEffect(CONST_ME_POFF) return false end if #player:getSummons() >= 2 then - player:sendCancelMessage("You cannot summon more players.") - player:getPosition():sendMagicEffect(CONST_ME_POFF) + player:sendCancelMessage("You cannot summon more creatures.") + position:sendMagicEffect(CONST_ME_POFF) return false end end @@ -27,12 +28,11 @@ function spell.onCastSpell(player, variant) local manaCost = monsterType:getManaCost() if player:getMana() < manaCost and not getPlayerFlagValue(player, PlayerFlag_HasInfiniteMana) then player:sendCancelMessage(RETURNVALUE_NOTENOUGHMANA) - player:getPosition():sendMagicEffect(CONST_ME_POFF) + position:sendMagicEffect(CONST_ME_POFF) return false end - local position = player:getPosition() - local summon = Game.createMonster(monsterName, position, true, false) + local summon = Game.createMonster(monsterName, position, true, false, player) if not summon then player:sendCancelMessage(RETURNVALUE_NOTENOUGHROOM) position:sendMagicEffect(CONST_ME_POFF) @@ -41,8 +41,6 @@ function spell.onCastSpell(player, variant) player:addMana(-manaCost) player:addManaSpent(manaCost) - player:addSummon(summon) - summon:reload() position:sendMagicEffect(CONST_ME_MAGIC_BLUE) summon:getPosition():sendMagicEffect(CONST_ME_TELEPORT) return true diff --git a/data/scripts/spells/support/blood_rage.lua b/data/scripts/spells/support/blood_rage.lua index 5f2658178..ab6e7b199 100644 --- a/data/scripts/spells/support/blood_rage.lua +++ b/data/scripts/spells/support/blood_rage.lua @@ -22,11 +22,11 @@ end spell:name("Blood Rage") spell:words("utito tempo") -spell:group("support") +spell:group("support", "focus") spell:vocation("knight;true", "elite knight;true") spell:id(133) spell:cooldown(2 * 1000) -spell:groupCooldown(2 * 1000) +spell:groupCooldown(2 * 1000, 2 * 1000) spell:level(60) spell:mana(290) spell:isSelfTarget(true) diff --git a/data/scripts/spells/support/charge.lua b/data/scripts/spells/support/charge.lua index 0eaea988c..5fce6b617 100644 --- a/data/scripts/spells/support/charge.lua +++ b/data/scripts/spells/support/charge.lua @@ -15,13 +15,13 @@ function spell.onCastSpell(creature, variant) for i = 1, #summons do local summon = summons[i] local summon_t = summon:getType() - if summon_t and summon_t:isPet() then + if summon_t and summon_t:familiar() then local deltaSpeed = math.max(creature:getBaseSpeed() - summon:getBaseSpeed(), 0) - local PetSpeed = ((summon:getBaseSpeed() + deltaSpeed) * 0.9) - 72 - local PetHaste = createConditionObject(CONDITION_HASTE) - setConditionParam(PetHaste, CONDITION_PARAM_TICKS, 5000) - setConditionParam(PetHaste, CONDITION_PARAM_SPEED, PetSpeed) - summon:addCondition(PetHaste) + local FamiliarSpeed = ((summon:getBaseSpeed() + deltaSpeed) * 0.9) - 72 + local FamiliarHaste = createConditionObject(CONDITION_HASTE) + setConditionParam(FamiliarHaste, CONDITION_PARAM_TICKS, 5000) + setConditionParam(FamiliarHaste, CONDITION_PARAM_SPEED, FamiliarSpeed) + summon:addCondition(FamiliarHaste) end end end diff --git a/data/scripts/spells/support/expose_weakness.lua b/data/scripts/spells/support/expose_weakness.lua index 68f9a72d0..89eb99d54 100644 --- a/data/scripts/spells/support/expose_weakness.lua +++ b/data/scripts/spells/support/expose_weakness.lua @@ -31,7 +31,7 @@ function spell.onCastSpell(creature, var, isHotkey) return combat:execute(creature, var) end -spell:group("support") +spell:group("support", "crippling") spell:id(243) spell:name("Expose Weakness") spell:words("exori moe") @@ -39,7 +39,7 @@ spell:level(275) spell:mana(400) spell:isSelfTarget(true) spell:cooldown(12 * 1000) -spell:groupCooldown(2 * 1000) +spell:groupCooldown(2 * 1000, 12 * 1000) spell:vocation("sorcerer;true", "master sorcerer;true") spell:needLearn(false) spell:register() \ No newline at end of file diff --git a/data/scripts/spells/support/haste.lua b/data/scripts/spells/support/haste.lua index 044722a23..69b3b4851 100644 --- a/data/scripts/spells/support/haste.lua +++ b/data/scripts/spells/support/haste.lua @@ -15,13 +15,13 @@ function spell.onCastSpell(creature, variant) for i = 1, #summons do local summon = summons[i] local summon_t = summon:getType() - if summon_t and summon_t:isPet() then + if summon_t and summon_t:familiar() then local deltaSpeed = math.max(creature:getBaseSpeed() - summon:getBaseSpeed(), 0) - local PetSpeed = ((summon:getBaseSpeed() + deltaSpeed) * 0.3) - 24 - local PetHaste = createConditionObject(CONDITION_HASTE) - setConditionParam(PetHaste, CONDITION_PARAM_TICKS, 33000) - setConditionParam(PetHaste, CONDITION_PARAM_SPEED, PetSpeed) - summon:addCondition(PetHaste) + local FamiliarSpeed = ((summon:getBaseSpeed() + deltaSpeed) * 0.3) - 24 + local FamiliarHaste = createConditionObject(CONDITION_HASTE) + setConditionParam(FamiliarHaste, CONDITION_PARAM_TICKS, 33000) + setConditionParam(FamiliarHaste, CONDITION_PARAM_SPEED, FamiliarSpeed) + summon:addCondition(FamiliarHaste) end end end diff --git a/data/scripts/spells/support/protector.lua b/data/scripts/spells/support/protector.lua index 8a4cab53f..960f0e0e1 100644 --- a/data/scripts/spells/support/protector.lua +++ b/data/scripts/spells/support/protector.lua @@ -22,11 +22,11 @@ end spell:name("Protector") spell:words("utamo tempo") -spell:group("support") +spell:group("support", "focus") spell:vocation("knight;true", "elite knight;true") spell:id(132) spell:cooldown(2 * 1000) -spell:groupCooldown(2 * 1000) +spell:groupCooldown(2 * 1000, 2 * 1000) spell:level(55) spell:mana(200) spell:isSelfTarget(true) diff --git a/data/scripts/spells/support/sap_strength.lua b/data/scripts/spells/support/sap_strength.lua index b083941c0..dbf051796 100644 --- a/data/scripts/spells/support/sap_strength.lua +++ b/data/scripts/spells/support/sap_strength.lua @@ -31,15 +31,15 @@ function spell.onCastSpell(creature, var, isHotkey) return combat:execute(creature, var) end -spell:group("support") +spell:group("support", "crippling") spell:id(244) spell:name("Sap Strength") spell:words("exori kor") spell:level(275) spell:mana(300) spell:isSelfTarget(true) -spell:cooldown(8 * 1000) -spell:groupCooldown(2 * 1000) +spell:cooldown(12 * 1000) +spell:groupCooldown(2 * 1000, 12 * 1000) spell:vocation("sorcerer;true", "master sorcerer;true") spell:needLearn(false) spell:register() \ No newline at end of file diff --git a/data/scripts/spells/support/strong_haste.lua b/data/scripts/spells/support/strong_haste.lua index 99d3fd430..c28d73e0e 100644 --- a/data/scripts/spells/support/strong_haste.lua +++ b/data/scripts/spells/support/strong_haste.lua @@ -15,13 +15,13 @@ function spell.onCastSpell(creature, var) for i = 1, #summons do local summon = summons[i] local summon_t = summon:getType() - if summon_t and summon_t:isPet() then + if summon_t and summon_t:familiar() then local deltaSpeed = math.max(creature:getBaseSpeed() - summon:getBaseSpeed(), 0) - local PetSpeed = ((summon:getBaseSpeed() + deltaSpeed) * 0.7) - 56 - local PetHaste = createConditionObject(CONDITION_HASTE) - setConditionParam(PetHaste, CONDITION_PARAM_TICKS, 22000) - setConditionParam(PetHaste, CONDITION_PARAM_SPEED, PetSpeed) - summon:addCondition(PetHaste) + local FamiliarSpeed = ((summon:getBaseSpeed() + deltaSpeed) * 0.7) - 56 + local FamiliarHaste = createConditionObject(CONDITION_HASTE) + setConditionParam(FamiliarHaste, CONDITION_PARAM_TICKS, 22000) + setConditionParam(FamiliarHaste, CONDITION_PARAM_SPEED, FamiliarSpeed) + summon:addCondition(FamiliarHaste) end end end diff --git a/data/scripts/spells/support/swift_foot.lua b/data/scripts/spells/support/swift_foot.lua index 08217d2dc..aa3430ebc 100644 --- a/data/scripts/spells/support/swift_foot.lua +++ b/data/scripts/spells/support/swift_foot.lua @@ -28,13 +28,13 @@ function spell.onCastSpell(creature, var) for i = 1, #summons do local summon = summons[i] local summon_t = summon:getType() - if summon_t and summon_t:isPet() then + if summon_t and summon_t:familiar() then local deltaSpeed = math.max(creature:getBaseSpeed() - summon:getBaseSpeed(), 0) - local PetSpeed = ((summon:getBaseSpeed() + deltaSpeed) * 0.8) - 72 - local PetHaste = createConditionObject(CONDITION_HASTE) - setConditionParam(PetHaste, CONDITION_PARAM_TICKS, 10000) - setConditionParam(PetHaste, CONDITION_PARAM_SPEED, PetSpeed) - summon:addCondition(PetHaste) + local FamiliarSpeed = ((summon:getBaseSpeed() + deltaSpeed) * 0.8) - 72 + local FamiliarHaste = createConditionObject(CONDITION_HASTE) + setConditionParam(FamiliarHaste, CONDITION_PARAM_TICKS, 10000) + setConditionParam(FamiliarHaste, CONDITION_PARAM_SPEED, FamiliarSpeed) + summon:addCondition(FamiliarHaste) end end end diff --git a/data/scripts/talkactions/god/create_summon.lua b/data/scripts/talkactions/god/create_summon.lua index 984d5a2d7..32e2ef20c 100644 --- a/data/scripts/talkactions/god/create_summon.lua +++ b/data/scripts/talkactions/god/create_summon.lua @@ -11,18 +11,18 @@ function createSummon.onSay(player, words, param) end local position = player:getPosition() - local monster = Game.createMonster(param, position) - if monster then - player:addSummon(monster) - if monster:getOutfit().lookType == 0 then - monster:setOutfit({lookType = player:getFamiliarLooktype()}) - end - monster:reload() - position:sendMagicEffect(CONST_ME_MAGIC_RED) - else - player:sendCancelMessage("There is not enough room.") + local summon = Game.createMonster(param, position, true, false, player) + if not summon then + player:sendCancelMessage(RETURNVALUE_NOTENOUGHROOM) position:sendMagicEffect(CONST_ME_POFF) + return false + end + + if summon:getOutfit().lookType == 0 then + summon:setOutfit({lookType = player:getFamiliarLooktype()}) end + position:sendMagicEffect(CONST_ME_MAGIC_BLUE) + summon:getPosition():sendMagicEffect(CONST_ME_TELEPORT) return false end diff --git a/data/startup/tables/door_level.lua b/data/startup/tables/door_level.lua index a4cc2036f..041c127b2 100644 --- a/data/startup/tables/door_level.lua +++ b/data/startup/tables/door_level.lua @@ -6,125 +6,5 @@ Just add new positions and it go work in the game ]] LevelDoorAction = { - -- Level 25 - [1025] = { - itemId = false, - itemPos = { - Position(435, 1130, 8), -- Knight Set // Sohan Town - } - }, - -- Level 30 - [1030] = { - itemId = false, - itemPos = { - Position(900, 753, 6),-- Santa Claus // Jorvik Ville - } - }, - -- Level 40 - [1040] = { - itemId = false, - itemPos = { - Position(1011, 975, 13), -- Vempire Set // Fynn Castle - Position(268, 1464, 7), -- Abandoned House // Samaransa Bay - } - }, - -- Level 50 - [1050] = { - itemId = false, - itemPos = { - Position(895, 1023, 8), -- Renegades // Fynn Castle - Position(947, 1036, 7), Position(947, 1037, 7), -- Magic Tower // Fynn Castle - Position(541, 1145, 11), -- Crown Set // Elfic Ville - Position(998, 945, 9), -- Entrace to Tenebris // Fynn Castle - } - }, - -- Level 60 - [1060] = { - itemId = false, - itemPos = { - Position(610, 319, 6), Position(611, 319, 6), -- Entrace Djinn Fortress // Anshara Desert - Position(783, 1172, 7), Position(784, 1172, 7), -- Eagle Fortress // Elfic Ville - } - }, - -- Level 70 - [1070] = { - itemId = false, - itemPos = { - Position(1107, 1195, 9), -- Cave Spiders // Mer Jugle - Position(1006, 984, 11), Position(1007, 984, 11), -- Ange`s and Fury`s Quest // Fynn - } - }, - -- Level 80 - [1080] = { - itemId = false, - itemPos = { - Position(777, 431, 10), Position(778, 431, 10), -- Behemoths Quest // Anshara Desert - Position(419, 1158, 11), -- Quest 1 // Sohan Town - Position(454, 1403, 9), -- "Draggis" // Forgos Ville - Position(893, 1040, 6), -- Entrace Fynn Castle Dungeons // Fynn Castle - Position(653, 1130, 10), -- Entrace Iron Ores portal // Elfic Ville - Position(485, 1181, 9), -- "Draggis" // Sohan Town - Position(683, 537, 8), -- "Plagues" // Anshara Desert - Position(231, 987, 10), Position(232, 987, 10), -- Fibula Medusas // Anshara Desert - Position(638, 375, 10), -- Arcane Academy // Anshara Desert - } - }, - -- Level 90 - [1090] = { - itemId = false, - itemPos = { - Position(688, 603, 9), Position(689, 603, 9), -- Skull Staff Quest // Anshara Desert - Position(576, 1216, 7), -- Fire Axe Quest // Elfic Ville - Position(728, 1033, 10), -- Old Golden Helmet Quest // Fynn Castle - Position(1059, 334, 10), -- Bright Sword Quest // Misidia Settlement - } - }, - -- Level 100 - [1100] = { - itemId = false, - itemPos = { - Position(1428, 693, 13), -- Entrace Lloyd // Vaargdon Mine - Position(841, 1606, 10), -- Old Quaras // Iquanus Sanctuary - Position(324, 808, 12), -- Swamplair Armor Quest // Vinor Swamp - Position(675, 1309, 9), -- Entrace Infernus Quest // Elfic Ville - Position(966, 1044, 8), -- Demon Helmet Quest // Fynn Castle - Position(198, 1179, 8), -- Pharaos Quest's // Samaransa Bay - Position(688, 387, 9), -- Rhaa Mission 1 // Anshara Desert - Position(812, 1068, 9), -- Ripper Spectre // Vinor Swamp - } - }, - -- Level 200 - [1200] = { - itemId = false, - itemPos = { - Position(741, 823, 11), -- Blessed Sceptre // Jorvik - Position(931, 1091, 11), -- Justice Seeker // Fynn - Position(890, 1015, 11), -- Royal Axe // Anshara Desert - } - }, - -- Level 300 - [1300] = { - itemId = false, - itemPos = { - Position(1250, 236, 7), -- Entrace Falcon Bastion // Misidia Settlement - Position(635, 373, 8), -- Volcano POI // Anshara Desert - Position(1034, 974, 13), -- Tenebris // Fynn Castle - Position(1140, 1258, 8), -- Thorn Knight // Mer Jungle - Position(1011, 1213, 8), Position(1012, 1213, 8), -- Adamantoise's // Mer Jungle - } - }, - -- Level 500 - [1500] = { - itemId = false, - itemPos = { - Position(976, 1448, 7), Position(977, 1448, 7), Position(978, 1448, 7), -- Elemental Quest // Iquanus Sanctuary - } - }, - -- Level 999 - [1999] = { - itemId = false, - itemPos = { - Position(1057, 1097, 6), -- RewardDoor Level 999 // Mer Jungle - } - }, + -- } diff --git a/data/startup/tables/door_quest.lua b/data/startup/tables/door_quest.lua index dc0fd34c2..54980c552 100644 --- a/data/startup/tables/door_quest.lua +++ b/data/startup/tables/door_quest.lua @@ -4,65 +4,7 @@ Look README.md for look the reserved action/unique ]] QuestDoorAction = { - [Storage.Missions.DjinnMission.Lamp1] = { - itemId = false, - itemPos = { - Position(605, 314, 6), - } - }, - [Storage.Missions.DjinnMission.Lamp2] = { - itemId = false, - itemPos = { - Position(614, 314, 6), - } - }, - [Storage.AnnihilatorDone] = { -- Require Annihilator Quest - itemId = false, - itemPos = { - Position(964, 1078, 10), - } - }, - [Storage.HidenChest.castleShield] = { -- Require Castle Shield Quest - itemId = false, - itemPos = { - Position(1056, 308, 13), - } - }, - [Storage.Rewards.firstLevelReward] = { -- First Fynnian Quest - itemId = false, - itemPos = { - Position(1018, 897, 9), - Position(972, 1028, 7), - } - }, - [Storage.HidenChest.castleShield] = { -- Require Castle Shield Quest - itemId = false, - itemPos = { - Position(1056, 308, 13), - } - }, - [Storage.FirstSacrifice.mysticBlade] = { -- Djinn Special Doors "Mystic Blade" - itemId = false, - itemPos = { - Position(899, 987, 7), - Position(607, 429, 6), - Position(591, 461, 6), - } - }, - [Storage.FirstSacrifice.heroicAxe] = { -- Djinn Special Doors "Heroic Axe" - itemId = false, - itemPos = { - Position(605, 425, 5), - Position(591, 454, 6), - } - }, - [Storage.FirstSacrifice.amberStaff] = { -- Djinn Special Doors "Amber Staff" - itemId = false, - itemPos = { - Position(608, 425, 5), - Position(594, 461, 5), - } - }, + -- } QuestDoorUnique = { diff --git a/data/startup/tables/npc_spawn.lua b/data/startup/tables/npc_spawn.lua index 82df65a10..5c695d364 100644 --- a/data/startup/tables/npc_spawn.lua +++ b/data/startup/tables/npc_spawn.lua @@ -1,201 +1,3 @@ NpcTable = { --[] = {name = "", position = Position()}, - -- Fynn Castle - [1] = {name = "Yura", position = Position(912, 999, 7)}, -- Potion / Rune - [2] = {name = "Edson", position = Position(893, 995, 7)}, -- Food - [3] = {name = "Gloria", position = Position(885, 996, 7)}, -- Furniture - [4] = {name = "Vancer", position = Position(909, 1019, 7)}, -- Munition - [5] = {name = "Wendy", position = Position(930, 1016, 7)}, -- Weapon - [6] = {name = "Dan", position = Position(969, 1006, 7)}, -- Mail - [7] = {name = "Yuna", position = Position(976, 1017, 7)}, -- Tools - [8] = {name = "Albinius", position = Position(940, 995, 7)}, -- Imbuiment - [9] = {name = "Palacios", position = Position(948, 977, 7)}, -- Bank - [10] = {name = "Javier", position = Position(957, 1025, 6)}, -- Boat - [11] = {name = "Henrry", position = Position(880, 1005, 8)}, -- Gems - [12] = {name = "The King", position = Position(971, 932, 7)}, -- Promoter - [13] = {name = "Katty", position = Position(980, 965, 8)}, -- Blessings - [14] = {name = "Citizen_addon1_fynn", position = Position(978, 1049, 7)}, -- Custom "Citizen Addoner" - [15] = {name = "Citizen_women_addon2_fynn", position = Position(971, 952, 7)}, -- Custom "Citizen Addoner" - [96] = {name = "Kory", position = Position(1018, 988, 7)}, -- Boat - [163] = {name = "Kory", position = Position(1048, 1051, 7)}, -- Boat - - -- Anshara Desert - [16] = {name = "Yura", position = Position(714, 453, 5)}, -- Potion / Rune - [17] = {name = "Edson", position = Position(715, 439, 5)}, -- Food - [18] = {name = "Gloria", position = Position(727, 439, 5)}, -- Furniture - [19] = {name = "Vancer", position = Position(728, 453, 4)}, -- Munition - [20] = {name = "Wendy", position = Position(684, 380, 7)}, --Weapon - [21] = {name = "Dan", position = Position(636, 440, 5)}, -- Mail - [22] = {name = "Yuna", position = Position(714, 453, 4)}, -- Tools - [23] = {name = "Albinius", position = Position(721, 449, 7)}, -- Imbuiment - [24] = {name = "Palacios", position = Position(636, 439, 4)}, -- Bank - [25] = {name = "Josh", position = Position(645, 360, 6)}, -- Boat - [26] = {name = "Henrry", position = Position(728, 453, 5)}, -- Gems - [27] = {name = "Mony", position = Position(721, 447, 5)}, -- Promoter - [28] = {name = "Katty", position = Position(700, 448, 5)}, -- Blessings - [29] = {name = "JokhHah", position = Position(626, 348, 5)}, -- Djinn - - -- Sohan Town - [30] = {name = "Yura", position = Position(365, 1117, 7)}, -- Potion / Rune - [31] = {name = "Edson", position = Position(359, 1097, 7)}, -- Food - [32] = {name = "Gloria", position = Position(377, 1117, 6)}, -- Furniture - [33] = {name = "Vancer", position = Position(390, 1141, 7)}, -- Munition - [34] = {name = "Wendy", position = Position(348, 1120, 7)}, --Weapon - [35] = {name = "Dan", position = Position(320, 1083, 7)}, -- Mail - [36] = {name = "Yuna", position = Position(348, 1114, 7)}, -- Tools - [37] = {name = "Albinius", position = Position(337, 1091, 6)}, -- Imbuiment - [38] = {name = "Palacios", position = Position(389, 1087, 7)}, -- Bank - [39] = {name = "Ramon", position = Position(340, 1127, 5)}, -- Boat - [40] = {name = "Henrry", position = Position(423, 1104, 7)}, -- Gems - [41] = {name = "Sammuel", position = Position(341, 1091, 5)}, -- Promoter - [42] = {name = "Katty", position = Position(334, 1091, 4)}, -- Blessings - --[] = {name = "", position = Position()}, -- Custom "Guardian" - - -- Samaransa Bay - [43] = {name = "Yura", position = Position(319, 1305, 6)}, -- Potion / Rune - [44] = {name = "Edson", position = Position(322, 1293, 7)}, -- Food - [45] = {name = "Gloria", position = Position(294, 1300, 7)}, -- Furniture - [46] = {name = "Vancer", position = Position(343, 1302, 7)}, -- Munition - [47] = {name = "Wendy", position = Position(321, 1285, 7)}, --Weapon - [48] = {name = "Dan", position = Position(297, 1307, 7)}, -- Mail - [49] = {name = "Yuna", position = Position(320, 1304, 7)}, -- Tools - [50] = {name = "Albinius", position = Position(312, 1291, 7)}, -- Imbuiment - [51] = {name = "Palacios", position = Position(287, 1293, 6)}, -- Bank - [52] = {name = "Roman", position = Position(352, 1280, 6)}, -- Boat - [53] = {name = "Henrry", position = Position(285, 1307, 5)}, -- Gems - [54] = {name = "Sammuel", position = Position(304, 1310, 6)}, -- Promoter - [55] = {name = "Katty", position = Position(312, 1290, 6)}, -- Blessings - --[] = {name = "", position = Position()}, -- Custom "Guardian" - - --Forgos Ville - [56] = {name = "Yura", position = Position(388, 1418, 7)}, -- Potion / Rune - [57] = {name = "Edson", position = Position(375, 1431, 7)}, -- Food - [58] = {name = "Gloria", position = Position(405, 1443, 7)}, -- Furniture - [59] = {name = "Vancer", position = Position(416, 1418, 7)}, -- Munition - [60] = {name = "Wendy", position = Position(429, 1432, 7)}, --Weapon - [61] = {name = "Dan", position = Position(379, 1391, 8)}, -- Mail - [62] = {name = "Yuna", position = Position(366, 1403, 7)}, -- Tools - [63] = {name = "Albinius", position = Position(378, 1418, 7)}, -- Imbuiment - [64] = {name = "Palacios", position = Position(382, 1387, 5)}, -- Bank - [65] = {name = "Taiko", position = Position(352, 1395, 6)}, -- Boat - [66] = {name = "Henrry", position = Position(392, 1389, 6)}, -- Gems - [67] = {name = "Sammuel", position = Position(421, 1398, 7)}, -- Promoter - [68] = {name = "Katty", position = Position(377, 1410, 7)}, -- Blessings - - -- Agard Town - [69] = {name = "Yura", position = Position(798, 1271, 7)}, -- Potion / Rune - [70] = {name = "Edson", position = Position(768, 1242, 7)}, -- Food - [71] = {name = "Gloria", position = Position(769, 1241, 6)}, -- Furniture - [72] = {name = "Vancer", position = Position(818, 1263, 7)}, -- Munition - [73] = {name = "Wendy", position = Position(799, 1272, 6)}, --Weapon - [74] = {name = "Dan", position = Position(811, 1274, 7)}, -- Mail - [75] = {name = "Yuna", position = Position(824, 1269, 7)}, -- Tools - [76] = {name = "Albinius", position = Position(843, 1223, 7)}, -- Imbuiment - [77] = {name = "Palacios", position = Position(811, 1272, 6)}, -- Bank - [78] = {name = "Gus", position = Position(779, 1232, 6)}, -- Boat - [79] = {name = "Henrry", position = Position(777, 1222, 6)}, -- Gems - [80] = {name = "Sammuel", position = Position(770, 1261, 7)}, -- Promoter - [81] = {name = "Katty", position = Position(832, 1222, 7)}, -- Blessings - - -- Mer Jungle - [82] = {name = "Yura", position = Position(1088, 1236, 6)}, -- Potion / Rune - [83] = {name = "Edson", position = Position(1066, 1244, 7)}, -- Food - [84] = {name = "Gloria", position = Position(1086, 1251, 7)}, -- Furniture - [85] = {name = "Vancer", position = Position(1080, 1235, 6)}, -- Munition - [86] = {name = "Wendy", position = Position(1080, 1228, 6)}, --Weapon - [87] = {name = "Dan", position = Position(1084, 1229, 7)}, -- Mail - [88] = {name = "Yuna", position = Position(1072, 1253, 7)}, -- Tools - [89] = {name = "Albinius", position = Position(1073, 1222, 8)}, -- Imbuiment - [90] = {name = "Palacios", position = Position(1088, 1228, 7)}, -- Bank - [91] = {name = "Jimmy", position = Position(1091, 1261, 6)}, -- Boat - [82] = {name = "Henrry", position = Position(1090, 1217, 6)}, -- Gems - [93] = {name = "Mony", position = Position(1073, 1226, 7)}, -- Promoter - [94] = {name = "Katty", position = Position(1058, 1226, 7)}, -- Blessings - [95] = {name = "Cesar", position = Position(1094, 1271, 7)}, -- Boat - - -- Vinor Swamp - --[96] = {name = "", position = Position()}, -- Boat (Kory) "Fynn Castle"" - [97] = {name = "Yura", position = Position(415, 909, 6)}, -- Potion / Rune - [98] = {name = "Edson", position = Position(420, 884, 7)}, -- Food - [99] = {name = "Gloria", position = Position(426, 910, 7)}, -- Furniture - [100] = {name = "Vancer", position = Position(405, 891, 7)}, -- Munition - [101] = {name = "Wendy", position = Position(426, 909, 6)}, --Weapon - [102] = {name = "Dan", position = Position(420, 860, 7)}, -- Mail - [103] = {name = "Yuna", position = Position(405, 891, 6)}, -- Tools - --[] = {name = "", position = Position()}, -- Imbuiment - [104] = {name = "Palacios", position = Position(415, 910, 7)}, -- Bank - [105] = {name = "Losin", position = Position(449, 895, 6)}, -- Boat - [106] = {name = "Henrry", position = Position(407, 893, 5)}, -- Gems - --[] = {name = "", position = Position()}, -- Promoter - [107] = {name = "Katty", position = Position(420, 863, 6)}, -- Blessings - - -- Jorvik Ville - [108] = {name = "Yura", position = Position(1020, 722, 7)}, -- Potion / Rune - [109] = {name = "Edson", position = Position(977, 738, 7)}, -- Food - [110] = {name = "Gloria", position = Position(989, 723, 7)}, -- Furniture - [111] = {name = "Vancer", position = Position(1025, 660, 7)}, -- Munition - [112] = {name = "Wendy", position = Position(1025, 663, 7)}, --Weapon - [113] = {name = "Dan", position = Position(942, 715, 7)}, -- Mail - [114] = {name = "Yuna", position = Position(987, 748, 7)}, -- Tools - [115] = {name = "Albinius", position = Position(1050, 687, 6)}, -- Imbuiment - [116] = {name = "Palacios", position = Position(1027, 716, 7)}, -- Bank - [117] = {name = "Eduard", position = Position(972, 769, 6)}, -- Boat - [118] = {name = "Henrry", position = Position(953, 716, 7)}, -- Gems - --[] = {name = "", position = Position()}, -- Promoter - [119] = {name = "Katty", position = Position(1048, 685, 7)}, -- Blessings - - -- Misidia Settlement - [120] = {name = "Yura", position = Position(1106, 333, 5)}, -- Potion / Rune - [121] = {name = "Edson", position = Position(1092, 312, 7)}, -- Food - [122] = {name = "Gloria", position = Position(1071, 357, 6)}, -- Furniture - [123] = {name = "Vancer", position = Position(1092, 313, 6)}, -- Munition - [124] = {name = "Wendy", position = Position(1071, 355, 7)}, --Weapon - [125] = {name = "Dan", position = Position(1086, 337, 8)}, -- Mail - [126] = {name = "Yuna", position = Position(1089, 351, 6)}, -- Tools - [127] = {name = "Albinius", position = Position(1060, 340, 4)}, -- Imbuiment - [128] = {name = "Palacios", position = Position(1085, 345, 8)}, -- Bank - [129] = {name = "Gus", position = Position(1059, 312, 6)}, -- Boat - [130] = {name = "Henrry", position = Position(1105, 332, 6)}, -- Gems - [131] = {name = "Sammuel", position = Position(1094, 311, 5)}, -- Promoter - [132] = {name = "Katty", position = Position(1108, 318, 6)}, -- Blessings - - -- Elfic Ville - [133] = {name = "Yura", position = Position(676, 1172, 7)}, -- Potion / Rune - [134] = {name = "Edson", position = Position(670, 1194, 7)}, -- Food - [135] = {name = "Gloria", position = Position(688, 1176, 5)}, -- Furniture - [136] = {name = "Vancer", position = Position(680, 1174, 6)}, -- Munition - [137] = {name = "Wendy", position = Position(656, 1168, 7)}, --Weapon - [138] = {name = "Dan", position = Position(670, 1201, 6)}, -- Mail - [139] = {name = "Yuna", position = Position(683, 1187, 7)}, -- Tools - [140] = {name = "Albinius", position = Position(698, 1163, 7)}, -- Imbuiment - [141] = {name = "Palacios", position = Position(660, 1195, 7)}, -- Bank - [142] = {name = "Olmel", position = Position(656, 1215, 6)}, -- Boat - [143] = {name = "Henrry", position = Position(648, 1202, 7)}, -- Gems - --[] = {name = "", position = Position()}, -- Promoter - [144] = {name = "Katty", position = Position(693, 1163, 6)}, -- Blessings - - -- Vaargdon Mine - [145] = {name = "Yura", position = Position(1537, 714, 11)}, -- Potion / Rune - [146] = {name = "Edson", position = Position(1519, 708, 12)}, -- Food - [147] = {name = "Gloria", position = Position(1576, 716, 12)}, -- Furniture - [148] = {name = "Vancer", position = Position(1520, 724, 12)}, -- Munition - [149] = {name = "Wendy", position = Position(1557, 714, 11)}, --Weapon - [150] = {name = "Dan", position = Position(1468, 690, 11)}, -- Mail - [151] = {name = "Yuna", position = Position(1519, 716, 12)}, -- Tools - [152] = {name = "Albinius", position = Position(1547, 714, 12)}, -- Imbuiment - [153] = {name = "Palacios", position = Position(1478, 691, 11)}, -- Bank - [154] = {name = "Orbus", position = Position(1590, 744, 6)}, -- Boat - [155] = {name = "Henrry", position = Position(1576, 708, 12)}, -- Gems - [156] = {name = "Sammuel", position = Position(1483, 690, 12)}, -- Promoter - [157] = {name = "Katty", position = Position(1474, 757, 10)}, -- Blessings - - -- Hive Island - [158] = {name = "Poky", position = Position(946, 1219, 8)}, -- All in ONE - [159] = {name = "Katty", position = Position(973, 1218, 8)}, -- Blessings - [159] = {name = "Milton", position = Position(957, 1192, 7)}, -- Boat - - -- Sunken Sanctuary - [160] = {name = "Poky", position = Position(1275, 474, 14)}, -- All in ONE - [161] = {name = "Katty", position = Position(1289, 483, 14)}, -- Blessings - [162] = {name = "Fidel", position = Position(1271, 273, 7)}, -- Boat } diff --git a/src/creatures/players/player.cpp b/src/creatures/players/player.cpp index a807a7959..b5b6f58de 100644 --- a/src/creatures/players/player.cpp +++ b/src/creatures/players/player.cpp @@ -1268,7 +1268,7 @@ void Player::onApplyImbuement(Imbuement *imbuement, Item *item, uint8_t slot, bo const ItemType& itemType = Item::items[key]; withdrawItemMessage << "Using " << mathItemCount << "x "<< itemType.name <<" from your supply stash. "; - withdrawItem(key, mathItemCount); + withdrawItem(itemType.clientId, mathItemCount); } sendTextMessage(MESSAGE_STATUS, withdrawItemMessage.str()); diff --git a/src/io/iobestiary.cpp b/src/io/iobestiary.cpp index 55d188a0f..b0ff9e4ea 100644 --- a/src/io/iobestiary.cpp +++ b/src/io/iobestiary.cpp @@ -234,24 +234,17 @@ void IOBestiary::addBestiaryKill(Player* player, MonsterType* mtype, uint32_t am player->addBestiaryKillCount(raceid, amount); - if (curCount == 0) { - player->sendBestiaryEntryChanged(raceid); - ss << "You unlocked details for the creature '" << mtype->name << "'"; - player->sendTextMessage(MESSAGE_STATUS, ss.str()); - return; - } + if ((curCount == 0) || // Initial kill stage + (curCount < mtype->info.bestiaryFirstUnlock && (curCount + amount) >= mtype->info.bestiaryFirstUnlock) || // First kill stage reached + (curCount < mtype->info.bestiarySecondUnlock && (curCount + amount) >= mtype->info.bestiarySecondUnlock) || // Second kill stage reached + (curCount < mtype->info.bestiaryToUnlock && (curCount + amount) >= mtype->info.bestiaryToUnlock)) { // Final kill stage reached - curCount += amount; - - if ((curCount == mtype->info.bestiaryFirstUnlock) || (curCount == mtype->info.bestiarySecondUnlock)) { ss << "You unlocked details for the creature '" << mtype->name << "'"; player->sendTextMessage(MESSAGE_STATUS, ss.str()); player->sendBestiaryEntryChanged(raceid); - } else if (curCount == mtype->info.bestiaryToUnlock) { - ss << "You unlocked details for the creature '" << mtype->name << "'"; - player->sendTextMessage(MESSAGE_STATUS, ss.str()); - addCharmPoints(player, mtype->info.bestiaryCharmsPoints); - player->sendBestiaryEntryChanged(raceid); + + if ((curCount + amount) >= mtype->info.bestiaryToUnlock) + addCharmPoints(player, mtype->info.bestiaryCharmsPoints); } std::list trackerList = player->getBestiaryTrackerList();