Support ✅ Multiplicar Bestary

jackye

Member
Messages
62
Points
163
Hola amigos eh tenido algunos problemas no encuentro como multiplicar el besteary alguien podria ayudarme con esto
ahorita esta por 1 como puedo multiplicarlo x5?
--
-- Wound charm
--
local charm_1 = Game.createBestiaryCharm(0)
local charm_t1 = {}

charm_t1.name = "Wound"
charm_t1.description = "Triggers on a creature with a certain chance and deals 5% \z
of its initial hit points as physical damage once."
charm_t1.type = CHARM_OFFENSIVE
charm_t1.damageType = COMBAT_PHYSICALDAMAGE
charm_t1.percent = 40
charm_t1.chance = 20
charm_t1.messageCancel = "You wounded the monster."
charm_t1.messageServerLog = "[Wound charm]"
charm_t1.effect = CONST_ME_HITAREA
charm_t1.points = 600

Bestiaryregister(charm_1, charm_t1)
--
-- Enflame charm
--
local charm_2 = Game.createBestiaryCharm(1)
local charm_t2 = {}

charm_t2.name = "Enflame"
charm_t2.description = "Triggers on a creature with a certain chance and deals 5% \z
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.messageCancel = "You enflamed the monster."
charm_t2.messageServerLog = "[Enflame charm]"
charm_t2.effect = CONST_ME_HITBYFIRE
charm_t2.points = 1000

Bestiaryregister(charm_2, charm_t2)
--
-- Poison charm
--
local charm_3 = Game.createBestiaryCharm(2)
local charm_t3 = {}

charm_t3.name = "Poison"
charm_t3.description = "Triggers on a creature with a certain chance and deals 5% \z
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.messageCancel = "You poisoned the monster."
charm_t3.messageServerLog = "[Poison charm]"
charm_t3.effect = CONST_ME_GREEN_RINGS
charm_t3.points = 600

Bestiaryregister(charm_3, charm_t3)
--
-- Freeze charm
--
local charm_4 = Game.createBestiaryCharm(3)
local charm_t4 = {}

charm_t4.name = "Freeze"
charm_t4.description = "Triggers on a creature with a certain chance and deals 5% \z
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.messageCancel = "You frozen the monster."
charm_t4.messageServerLog = "[Freeze charm]"
charm_t4.effect = CONST_ME_ICEATTACK
charm_t4.points = 800

Bestiaryregister(charm_4, charm_t4)
--
-- Zap charm
--
local charm_5 = Game.createBestiaryCharm(4)
local charm_t5 = {}

charm_t5.name = "Zap"
charm_t5.description = "Triggers on a creature with a certain chance and deals 5% \z
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.messageCancel = "You eletrocuted the monster."
charm_t5.messageServerLog = "[Zap charm]"
charm_t5.effect = CONST_ME_ENERGYHIT
charm_t5.points = 800

Bestiaryregister(charm_5, charm_t5)
--
-- Curse charm
--
local charm_6 = Game.createBestiaryCharm(5)
local charm_t6 = {}

charm_t6.name = "Curse"
charm_t6.description = "Triggers on a creature with a certain chance and deals 5% \z
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.messageCancel = "You curse the monster."
charm_t6.messageServerLog = "[Curse charm]"
charm_t6.effect = CONST_ME_SMALLCLOUDS
charm_t6.points = 900

Bestiaryregister(charm_6, charm_t6)


--
-- Cripple charm
--
local charm7 = Game.createBestiaryCharm(6)
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.messageCancel = "You cripple the monster."
charm_t7.points = 500

Bestiaryregister(charm7, charm_t7)
--
-- Parry charm
--
local charm_8 = Game.createBestiaryCharm(7)
local charm_t8 = {}

charm_t8.name = "Parry"
charm_t8.description = "Any damage taken is reflected to the aggressor with a certain chance."
charm_t8.type = CHARM_DEFENSIVE
charm_t8.damageType = COMBAT_PHYSICALDAMAGE
charm_t8.chance = 10
charm_t8.messageCancel = "You parry the attack."
charm_t8.messageServerLog = "[Parry charm]"
charm_t8.effect = CONST_ME_EXPLOSIONAREA
charm_t8.points = 1000

Bestiaryregister(charm_8, charm_t8)
--
-- Dodge charm
--
local charm_9 = Game.createBestiaryCharm(8)
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.messageCancel = "You dodge the attack."
charm_t9.effect = CONST_ME_POFF
charm_t9.points = 600

Bestiaryregister(charm_9, charm_t9)
--
-- Adrenaline burst charm
--
local charm_10 = Game.createBestiaryCharm(9)
local charm_t10 = {}

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.messageCancel = "Your movements where bursted."
charm_t10.points = 500

Bestiaryregister(charm_10, charm_t10)
--
-- Numb charm
--
local charm_11 = Game.createBestiaryCharm(10)
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.messageCancel = "You numb the monster."
charm_t11.points = 20

Bestiaryregister(charm_11, charm_t11)
--
-- Cleanse charm
--
local charm_12 = Game.createBestiaryCharm(11)
local charm_t12 = {}

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.messageCancel = "You purified the attack."
charm_t12.points = 20

Bestiaryregister(charm_12, charm_t12)
--
-- Bless charm
--
local charm_13 = Game.createBestiaryCharm(12)
local charm_t13 = {}

charm_t13.name = "Bless"
charm_t13.description = "Blesses you and reduces skill and xp loss by 10% \z
when killed by the chosen creature."
charm_t13.type = CHARM_PASSIVE
charm_t13.percent = 10
charm_t13.chance = 100
charm_t13.points = 20

Bestiaryregister(charm_13, charm_t13)

--
-- Scavenge charm
--
local charm_14 = Game.createBestiaryCharm(13)
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.points = 20

GLOBAL_CHARM_SCAVENGE = charm_t14.percent
Bestiaryregister(charm_14, charm_t14)
--
-- Gut charm
--
local charm_15 = Game.createBestiaryCharm(14)
local charm_t15 = {}

charm_t15.name = "Gut"
charm_t15.description = "Gutting the creature yields 20% more creature products."
charm_t15.type = CHARM_PASSIVE
charm_t15.percent = 20
charm_t15.points = 20

GLOBAL_CHARM_GUT = charm_t15.percent
Bestiaryregister(charm_15, charm_t15)
--
-- Low blow charm
--
local charm_16 = Game.createBestiaryCharm(15)
local charm_t16 = {}

charm_t16.name = "Low Blow"
charm_t16.description = "Adds 8% critical hit chance to attacks with critical hit weapons."
charm_t16.type = CHARM_PASSIVE
charm_t16.percent = 8
charm_t16.chance = 0
charm_t16.points = 20

Bestiaryregister(charm_16, charm_t16)
--
-- Divine wrath charm
--
local charm_17 = Game.createBestiaryCharm(16)
local charm_t17 = {}

charm_t17.name = "Divine Wrath"
charm_t17.description = "Triggers on a creature with a certain chance and deals 5% \z
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.messageCancel = "You divine the monster."
charm_t17.messageServerLog = "[Divine charm]"
charm_t17.effect = CONST_ME_HOLYDAMAGE
charm_t17.points = 20

Bestiaryregister(charm_17, charm_t17)
--
-- Vampiric embrace charm
--
local charm_18 = Game.createBestiaryCharm(17)
local charm_t18 = {}

charm_t18.name = "Vampiric Embrace"
charm_t18.description = "Adds 4% Life Leech to attacks if wearing equipment that \z
provides life leech."
charm_t18.type = CHARM_PASSIVE
charm_t18.percent = 4
charm_t18.chance = 0
charm_t18.points = 20

Bestiaryregister(charm_18, charm_t18)
--
-- Void's call charm
--
local charm_19 = Game.createBestiaryCharm(18)
local charm_t19 = {}

charm_t19.name = "Void's Call"
charm_t19.description = "Adds 2% Mana Leech to attacks if wearing equipment that \z
provides mana leech."
charm_t19.type = CHARM_PASSIVE
charm_t19.percent = 2
charm_t19.chance = 0
charm_t19.points = 20

Bestiaryregister(charm_19, charm_t19)

Prey

dofile('data/modules/scripts/prey_system/assets.lua')

Prey = {
Credits = "System remake: Westwol ~ Packet logic: Cjaker ~ Formulas: slavidodo ~ Revision: Rick, Sameshima, RodrigoSilva93",
Version = "6.4",
LastUpdate = "12/02/2021",
}

Prey.Difficulty = {
HARMLESS = 0,
TRIVIAL = 1,
EASY = 2,
MEDIUM = 3,
HARD = 4,
CHALLEGING = 5
}

CONST_PREY_SLOT_FIRST = 0
CONST_PREY_SLOT_SECOND = 1
CONST_PREY_SLOT_THIRD = 2

CONST_BONUS_DAMAGE_BOOST = 0
CONST_BONUS_DAMAGE_REDUCTION = 1
CONST_BONUS_XP_BONUS = 2
CONST_BONUS_IMPROVED_LOOT = 3

Prey.Config = {
PreyTime = 7200, -- Seconds
StoreSlotStorage = 63253,
ListRerollPrice = 150,
BonusRerollPrice = 1,
SelectWithWildCardPrice = 5,
}

Prey.S_Packets = {
ShowDialog = 0xED,
PreyRerollPrice = 0xE9,
PreyData = 0xE8,
PreyTimeLeft = 0xE7
}

Prey.StateTypes = {
LOCKED = 0,
INACTIVE = 1,
ACTIVE = 2,
SELECTION = 3,
SELECTION_CHANGE_MONSTER = 4,
SELECTION_WITH_WILDCARD = 6
}

Prey.UnlockTypes = {
PREMIUM_OR_STORE = 0,
STORE = 1,
NONE = 2
}

Prey.Actions = {
NEW_LIST = 0,
NEW_BONUS = 1,
SELECT = 2,
LIST_ALL_MONSTERS = 3,
SELECT_ALL_MONSTERS = 4,
TICK_LOCK = 5
}

Prey.C_Packets = {
RequestData = 0xED,
PreyAction = 0xEB
}

Prey.Bonuses = {
[CONST_BONUS_DAMAGE_BOOST] = {7, 9, 11, 13, 15, 17, 19, 21, 23, 25},
[CONST_BONUS_DAMAGE_REDUCTION] = {12, 14, 16, 18, 20, 22, 24, 26, 28, 30},
[CONST_BONUS_XP_BONUS] = {13, 16, 19, 22, 25, 28, 31, 34, 37, 40},
[CONST_BONUS_IMPROVED_LOOT] = {13, 16, 19, 22, 25, 28, 31, 34, 37, 40}
}

Prey.MonsterList = {
"Azure Frog", "Coral Frog", "Crimson Frog", "Filth Toad", "Infernal Frog", "Orchid Frog", "Salamander", "Toad",
"Abyssal Calamary", "Blood Crab", "Crab", "Deathling Scout", "Deathling Spellsinger", "Deepling Brawler",
"Deepling Elite", "Deepling Guard", "Deepling Master Librarian", "Deepling Scout", "Deepling Spellsinger",
"Deepling Tyrant", "Deepling Warrior", "Deepling Worker", "Deepsea Blood Crab", "Manta Ray", "Quara Constrictor",
"Quara Constrictor Scout", "Quara Hydromancer", "Quara Hydromancer Scout", "Quara Mantassin", "Quara Mantassin Scout",
"Quara Pincher", "Quara Pincher Scout", "Quara Predator", "Quara Predator Scout", "Shark", "Berserker Chicken",
"Demon Parrot", "Marsh Stalker", "Penguin", "Terror Bird", "Biting Book", "Clay Guardian", "Damaged Worker Golem",
"Diamond Servant", "Enraged Crystal Golem", "Eternal Guardian", "Glooth Golem", "Golden Servant", "Ice Golem",
"Infected Weeper", "Iron Servant", "Lava Golem","Metal Gargoyle", "Orewalker", "Rotten Golem", "Rustheap Golem",
"Sandstone Scorpion", "Stone Devourer", "Stone Golem", "Walker", "War Golem", "Weeper", "Worker Golem", "Askarak Demon",
"Askarak Lord", "Askarak Prince", "Brachiodemon", "Dark Torturer", "Dawnfire Asura", "Demon", "Demon Outcast",
"Destroyer", "Diabolic Imp", "Fire Devil", "Floating Savant", "Frost Flower Asura", "Fury", "Gozzler", "Grimeleech",
"Hellfire Fighter", "Hellflayer", "Hellhound", "Hellspawn", "Infernal Demon", "Juggernaut", "Many Faces",
"Midnight Asura", "Nightfiend", "Plaguesmith", "Shaburak Demon", "Shaburak Lord", "Shaburak Prince",
"True Dawnfire Asura", "True Frost Flower Asura", "True Midnight Asura", "Vexclaw", "Dragon", "Dragon Hatchling",
"Dragon Lord", "Dragon Lord Hatchling", "Draken Abomination", "Draken Elite", "Draken Spellweaver", "Draken Warmaster",
"Elder Wyrm", "Frost Dragon", "Frost Dragon Hatchling", "Ghastly Dragon", "Hydra", "Wyrm", "Cliff Strider",
"Earth Elemental", "Energy Elemental", "Fire Elemental", "High Voltage Elemental", "Ironblight",
"Knowledge Elemental", "Lava Lurker", "Massive Earth Elemental", "Massive Fire Elemental", "Massive Water Elemental",
"Ravenous Lava Lurker", "Turbulent Elemental", "Water Elemental", "Breach Brood", "Courage Leech", "Dread Intruder",
"Instable Breach Brood", "Instable Sparkion", "Reality Reaver", "Sparkion", "Stabilizing Dread Intruder",
"Stabilizing Reality Reaver", "Yielothax", "Arctic Faun", "Boogy", "Dark Faun", "Dryad", "Faun", "Nymph", "Percht",
"Pixie", "Pooka", "Schiach", "Swan Maiden", "Twisted Pooka", "Behemoth", "Cyclops", "Cyclops Drone",
"Cyclops Smith", "Frost Giant", "Frost Giantess", "Ogre Brute", "Ogre Rowdy", "Ogre Ruffian", "Ogre Sage",
"Ogre Savage", "Ogre Shaman", "Orclops Doomhauler", "Orclops Ravager", "Acolyte of the Cult", "Adept of the Cult",
"Adventurer", "Amazon", "Assassin", "Bandit", "Barbarian Bloodwalker", "Barbarian Brutetamer", "Barbarian Headsplitter",
"Barbarian Skullhunter", "Black Sphinx Acolyte", "Blood Hand", "Blood Priest", "Burning Gladiator", "Cobra Assassin",
"Cobra Scout", "Cobra Vizier", "Crazed Beggar", "Crypt Defiler", "Cult Believer", "Cult Enforcer", "Cult Scholar",
"Dark Apprentice", "Dark Magician", "Dark Monk", "Enlightened of the Cult", "Feverish Citizen", "Gang Member",
"Gladiator", "Glooth Bandit", "Glooth Brigand", "Goldhanded Cultist", "Grave Robber",
"Hero", "Hunter", "Ice Witch", "Infernalist", "Mad Scientist", "Misguided Thief", "Monk",
"Mutated Human", "Necromancer", "Nomad", "Nomad Female", "Novice of the Cult", "Pirate Buccaneer", "Pirate Corsair",
"Pirate Cutthroat", "Pirate Marauder", "Poacher", "Priestess", "Priestess of the Wild Sun", "Renegade Knight",
"Shadow Pupil", "Smuggler", "Stalker", "Valkyrie", "Vicious Squire", "Vile Grandmaster", "Warlock", "Wild Warrior",
"Witch", "Barkless Devotee", "Barkless Fanatic", "Broken Shaper", "Chakoya Toolshaper", "Chakoya Tribewarden",
"Chakoya Windcaller", "Corym Charlatan", "Corym Skirmisher", "Corym Vanguard", "Crazed Summer Rearguard",
"Crazed Summer Vanguard", "Crazed Winter Rearguard", "Crazed Winter Vanguard", "Dwarf", "Dwarf Geomancer",
"Dwarf Guard", "Dwarf Soldier", "Dworc Fleshhunter", "Dworc Venomsniper", "Dworc Voodoomaster", "Elf",
"Elf Arcanist", "Elf Scout", "Enslaved Dwarf", "Execowtioner", "Firestarter", "Frost Troll", "Furious Troll",
"Goblin", "Goblin Assassin", "Goblin Leader", "Goblin Scavenger", "Insane Siren", "Island Troll",
"Little Corym Charlatan", "Lost Basher", "Lost Berserker", "Lost Exile", "Lost Husher", "Lost Thrower", "Minotaur",
"Minotaur Amazon", "Minotaur Archer", "Minotaur Cult Follower", "Minotaur Cult Prophet", "Minotaur Cult Zealot",
"Minotaur Guard", "Minotaur Hunter", "Minotaur Invader", "Minotaur Mage", "Mooh'Tah Warrior", "Moohtant", "Orc",
"Orc Berserker", "Orc Cult Fanatic", "Orc Cult Inquisitor", "Orc Cult Minion", "Orc Cult Priest", "Orc Cultist",
"Orc Leader", "Orc Marauder", "Orc Rider", "Orc Shaman", "Orc Spearman", "Orc Warlord", "Orc Warrior",
"Pirat Cutthroat", "Pirat Scoundrel", "Shaper Matriarch", "Soul-Broken Harbinger", "Swamp Troll", "Troll",
"Troll Champion", "Troll Guard", "Troll", "Troll Legionnaire", "Twisted Shaper", "Worm Priestess", "Werebadger",
"Werebear", "Wereboar", "Werefox", "Werehyaena", "Werehyaena Shaman", "Werelion", "Werelioness", "Werewolf",
"Animated Feather", "Arachnophobica", "Armadile", "Blue Djinn", "Bog Raider", "Bonelord", "Brain Squid",
"Choking Fear", "Crypt Warden", "Crystal Spider", "Crystal Wolf", "Crystalcrusher", "Cursed Book", "Efreet",
"Elder Bonelord", "Energetic Book", "Energuardian of Tales", "Enfeebled Silencer",
"Feral Sphinx", "Feversleep", "Flying Book", "Forest Fury", "Frazzlemaw", "Gargoyle", "Gazer", "Gryphon",
"Guardian of Tales", "Guzzlemaw", "Icecold Book", "Lamassu", "Lumbering Carnivor", "Manticore", "Marid", "Medusa",
"Menacing Carnivor", "Midnight Panther", "Nightmare", "Nightmare Scion", "Nightstalker", "Phantasm", "Rage Squid",
"Retching Horror", "Rorc", "Shock Head", "Sight of Surrender", "Silencer", "Sphinx", "Spiky Carnivor",
"Squid Warden", "Terrorsleep", "Thanatursus", "Thornfire Wolf", "Weakened Frazzlemaw", "Badger", "Bat", "Bear",
"Boar", "Cave Rat", "Clomp", "Doom Deer", "Elephant", "Evil Sheep", "Evil Sheep Lord", "Exotic Bat", "Fox",
"Gloom Wolf", "Gnarlhound", "Hot Dog", "Killer Rabbit", "Kongra", "Lion", "Mammoth", "Merlkin", "Mole",
"Mutated Bat", "Mutated Rat", "Mutated Tiger", "Noble Lion", "Panda", "Polar Bear", "Rat", "Roaring Lion",
"Sibang", "Skunk", "Starving Wolf", "Stone Rhino", "Tiger", "Vulcongra", "War Wolf", "Water Buffalo",
"White Lion", "Winter Wolf", "Wolf", "Branchy Crawler", "Carniphila", "Cloak Of Terror", "Glooth Anemone",
"Haunted Treeling", "Hideous Fungus", "Humongous Fungus", "Leaf Golem", "Omnivora", "Spit Nettle", "Swampling",
"Wilting Leaf Golem", "Adult Goanna", "Cobra", "Crocodile", "Killer Caiman", "Lizard Chosen",
"Lizard Dragon Priest", "Lizard High Guard", "Lizard Legionnaire", "Lizard Magistratus", "Lizard Noble",
"Lizard Sentinel", "Lizard Snakecharmer", "Lizard Templar", "Lizard Zaogun", "Sea Serpent", "Seacrest Serpent",
"Serpent Spawn", "Snake", "Stampor", "Stonerefiner", "Thornback Tortoise", "Tortoise", "Wyvern", "Young Goanna",
"Young Sea Serpent", "Acid Blob", "Death Blob", "Defiler", "Devourer", "Glooth Blob", "Ink Blob", "Mercury Blob",
"Midnight Spawn", "Slime", "Son of Verminor", "Squidgy Slime", "Banshee", "Betrayed Wraith", "Blightwalker",
"Blood Beast", "Bonebeast", "Bony Sea Devil", "Braindeath", "Burster Spectre", "Capricious Phantom",
"Crypt Shambler", "Cursed Prospector", "Death Priest", "Demon Skeleton", "Distorted Phantom",
"Druid's Apparition", "Elder Mummy", "Evil Prospector", "Falcon Knight", "Falcon Paladin", "Flimsy Lost Soul",
"Freakish Lost Soul", "Gazer Spectre", "Ghost", "Ghost Wolf", "Ghoul", "Ghoulish Hyaena", "Grave Guard",
"Gravedigger", "Grim Reaper", "Hand of Cursed Fate", "Honour Guard", "Infernal Phantom", "Knight's Apparition",
"Lich", "Lost Soul", "Mean Lost Soul", "Mould Phantom", "Mummy", "Paladin's Apparition", "Pirate Ghost",
"Pirate Skeleton", "Putrid Mummy", "Ripper Spectre", "Rot Elemental", "Skeleton", "Skeleton Elite Warrior",
"Skeleton Warrior", "Sorcerer's Apparition", "Souleater", "Spectre", "Tarnished Spirit", "Tomb Servant",
"Undead Dragon", "Undead Elite Gladiator", "Undead Gladiator", "Vampire", "Vampire Bride", "Vampire Pig",
"Vampire Viscount", "Vibrant Phantom", "Vicious Manbat", "White Shade", "Zombie", "Ancient Scarab",
"Brimstone Bug", "Bug", "Carrion Worm", "Cave Devourer", "Centipede", "Crawler", "Deepworm", "Diremaw",
"Drillworm", "Emerald Damselfly", "Exotic Cave Spider", "Giant Spider", "Hibernal Moth", "Hive Overseer",
"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"
}

-- Communication functions
function Player.sendResource(self, resourceType, value)
local typeByte = 0
if resourceType == "bank" then
typeByte = 0x00
elseif resourceType == "inventory" then
typeByte = 0x01
elseif resourceType == "prey" then
typeByte = 0x0A
end
local msg = NetworkMessage()
msg:addByte(0xEE)
msg:addByte(typeByte)
msg:addU64(value)
msg:sendToPlayer(self)
end

function Player.sendErrorDialog(self, error)
local msg = NetworkMessage()
msg:addByte(Prey.S_Packets.ShowDialog)
msg:addByte(0x15)
msg:addString(error)
msg:sendToPlayer(self)
end

-- Core functions
function Player.setRandomBonusValue(self, slot, bonus, typeChange)
local type = self:getPreyBonusType(slot)
local bonusValue = math.random(1, 10)
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)
self:setPreyBonusValue(slot, value)
else
local upgradeStar = bonusGrade + starUP
if upgradeStar >= 10 then
upgradeStar = 10
end
local newBonus = Prey.Bonuses[type][upgradeStar]
self:setPreyBonusGrade(slot, upgradeStar)
self:setPreyBonusValue(slot, newBonus)
end
end
end

function Player.createMonsterList(self)
-- Do not allow repeated monsters
local repeatedList = {}
for slot = CONST_PREY_SLOT_FIRST, CONST_PREY_SLOT_THIRD do
if (self:getPreyCurrentMonster(slot) ~= '') then
repeatedList[#repeatedList + 1] = self:getPreyCurrentMonster(slot)
end
if (self:getPreyMonsterList(slot) ~= '') then
local currentList = self:getPreyMonsterList(slot):split(";")
for i = 1, #currentList do
repeatedList[#repeatedList + 1] = currentList
end
end
end
-- Generating monsterList
local monsters = {}
local counters = {
Trivial = 0,
Easy = 0,
Medium = 0,
Hard = 0,
Challeging = 0
}
while (#monsters ~= 9) do
local randomMonster = Prey.MonsterList[math.random(#Prey.MonsterList)]
local difficulty = getMonsterDifficulty(randomMonster)
-- Verify that monster actually exists
if MonsterType(randomMonster) and not table.contains(monsters, randomMonster)
and not table.contains(repeatedList, randomMonster) then
if difficulty == Prey.Difficulty.TRIVIAL and counters.Trivial < getMaxMonster(self, Prey.Difficulty.TRIVIAL) then
monsters[#monsters + 1] = randomMonster
counters.Trivial = counters.Trivial + 1
elseif difficulty == Prey.Difficulty.EASY and counters.Easy < getMaxMonster(self, Prey.Difficulty.EASY) then
monsters[#monsters + 1] = randomMonster
counters.Easy = counters.Easy + 1
elseif difficulty == Prey.Difficulty.MEDIUM and counters.Medium < getMaxMonster(self, Prey.Difficulty.MEDIUM) then
monsters[#monsters + 1] = randomMonster
counters.Medium = counters.Medium + 1
elseif difficulty == Prey.Difficulty.HARD and counters.Hard < getMaxMonster(self, Prey.Difficulty.HARD) then
monsters[#monsters + 1] = randomMonster
counters.Hard = counters.Hard + 1
elseif difficulty == Prey.Difficulty.CHALLEGING and counters.Challeging < getMaxMonster(self, Prey.Difficulty.CHALLEGING) then
monsters[#monsters + 1] = randomMonster
counters.Challeging = counters.Challeging + 1
end
end
end
return table.concat(monsters, ";")
end

function Player.resetPreySlot(self, slot, from)
self:setPreyMonsterList(slot, self:createMonsterList())
self:setPreyCurrentMonster(slot, "")
self:setPreyState(slot, from)
return self:sendPreyData(slot)
end

function Player.getMinutesUntilFreeReroll(self, slot)
local currentTime = os.time()
if (self:getPreyNextUse(slot) <= currentTime) then
return 0
end

return math.floor((self:getPreyNextUse(slot) - currentTime))
end

function Player.getRerollPrice(self)
return (self:getLevel() * Prey.Config.ListRerollPrice)
end

function getNameByRace(race)
local mtype = MonsterType(race)
if mtype then
return mtype:getName()
end
end

function Player.getMonsterList(self)
local repeatedList = {}
local sortList = {}
local monsterList = {}

for slot = CONST_PREY_SLOT_FIRST, CONST_PREY_SLOT_THIRD do
if (self:getPreyCurrentMonster(slot) ~= '') then
repeatedList[#repeatedList + 1] = self:getPreyCurrentMonster(slot)
end
if (self:getPreyMonsterList(slot) ~= '') then
local currentList = self:getPreyMonsterList(slot):split(";")
for i = 1, #currentList do
repeatedList[#repeatedList + 1] = currentList
end
end
end

-- Insert the monstersId
for i = 1, #preyRaceIds do
table.insert(sortList, preyRaceIds)
end

-- Do not allow repeated monsters
for k, v in pairs(sortList) do
if not table.contains(repeatedList, getNameByRace(tonumber(v))) then
table.insert(monsterList, v)
end
end

return monsterList
end

function Player.setAutomaticBonus(self, slot)
local monster = self:getPreyCurrentMonster(slot)

-- Automatic Bonus Reroll
if self:getPreyTick(slot) == 1 and self:getPreyBonusRerolls() >= 1 then
self:setPreyBonusType(slot, self:getDiffBonus(slot))
self:setRandomBonusValue(slot, true, true)
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)
self:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("Your %s's prey time was automatically renewed.", monster:lower()))
self:setPreyTimeLeft(slot, Prey.Config.PreyTime)
else
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

function onRecvbyte(player, msg, byte)
if (byte == Prey.C_Packets.RequestData) then
player:sendPreyData(CONST_PREY_SLOT_FIRST)
player:sendPreyData(CONST_PREY_SLOT_SECOND)
player:sendPreyData(CONST_PREY_SLOT_THIRD)
elseif (byte == Prey.C_Packets.PreyAction) then
player:preyAction(msg)
end
end

function Player.preyAction(self, msg)

local slot = msg:getByte()
local action = msg:getByte()

if not slot then
return self:sendErrorDialog("Sorry, there was an issue, please relog-in.")
end

-- Verify whether the slot is unlocked
if (self:getPreyUnlocked(slot) ~= 2) then
return self:sendErrorDialog("Sorry, you don't have this slot unlocked yet.")
end

-- Listreroll
if (action == Prey.Actions.NEW_LIST) then

-- Verifying state
if (self:getPreyState(slot) ~= Prey.StateTypes.ACTIVE and self:getPreyState(slot) ~= Prey.StateTypes.SELECTION
and self:getPreyState(slot) ~= Prey.StateTypes.SELECTION_CHANGE_MONSTER)
and self:getPreyState(slot) ~= Prey.StateTypes.INACTIVE then
return self:sendErrorDialog("This is slot is not even active.")
end

-- If free reroll is available
if (self:getMinutesUntilFreeReroll(slot) == 0) then
self:setPreyNextUse(slot, os.time() + 20 * 60 * 60)
elseif (not self:removeMoneyNpc(self:getRerollPrice())) then
return self:sendErrorDialog("You do not have enough money to perform this action.")
end

self:setPreyCurrentMonster(slot, "")
self:setPreyMonsterList(slot, self:createMonsterList())
self:setPreyState(slot, Prey.StateTypes.SELECTION_CHANGE_MONSTER)

-- Listreroll with wildcards
elseif (action == Prey.Actions.LIST_ALL_MONSTERS) then

-- Removing bonus rerolls
self:setPreyBonusRerolls(self:getPreyBonusRerolls() - 5)

self:setPreyCurrentMonster(slot, "")
self:setPreyMonsterList(slot, "")
self:setPreyState(slot, Prey.StateTypes.SELECTION_WITH_WILDCARD)

-- Select monster from the list
elseif (action == Prey.Actions.SELECT_ALL_MONSTERS) then
local race = msg:getU16()
local race = getNameByRace(race)

-- Converts RaceID to String
self:setPreyCurrentMonster(slot, race)

self:setPreyState(slot, Prey.StateTypes.ACTIVE)
self:setPreyMonsterList(slot, "")
self:setPreyTimeLeft(slot, Prey.Config.PreyTime)

-- Bonus reroll
elseif (action == Prey.Actions.NEW_BONUS) then

-- Verifying state
if (self:getPreyState(slot) ~= Prey.StateTypes.ACTIVE) then
return self:sendErrorDialog("This is slot is not even active.")
end

if (self:getPreyBonusRerolls() < 1) then
return self:sendErrorDialog("You don't have any bonus rerolls.")
end

-- Removing bonus rerolls
self:setPreyBonusRerolls(self:getPreyBonusRerolls() - 1)

-- Calculating new bonus
local oldType = self:getPreyBonusType(slot)
self:setPreyBonusType(slot, math.random(CONST_BONUS_DAMAGE_BOOST, CONST_BONUS_IMPROVED_LOOT))
self:setRandomBonusValue(slot, true, false)
self:setPreyTimeLeft(slot, Prey.Config.PreyTime)

-- Select monster from list
elseif (action == Prey.Actions.SELECT) then

local selectedMonster = msg:getByte()
local monsterList = self:getPreyMonsterList(slot):split(";")

-- Verify if the monster exists.
local monster = MonsterType(monsterList[selectedMonster + 1])
if not monster then
return self:sendPreyData(slot)
end

-- Verifying slot state
if (self:getPreyState(slot) ~= Prey.StateTypes.SELECTION
and self:getPreyState(slot) ~= Prey.StateTypes.SELECTION_CHANGE_MONSTER) then
return self:sendErrorDialog("This slot can't select monsters.")
end

-- Proceeding to prey monster selection
self:selectPreyMonster(slot, monsterList[selectedMonster + 1])

-- Automatic Reroll/Lock
elseif (action == Prey.Actions.TICK_LOCK) then

local button = msg:getByte()
if button == 1 then
self:setPreyTick(slot, 1)
elseif button == 2 then
self:setPreyTick(slot, 2)
else
self:setPreyTick(slot, 0)
end
end

-- Perfom slot update
return self:sendPreyData(slot)
end

function Player.selectPreyMonster(self, slot, monster)

-- Verify if the monster exists.
local monster = MonsterType(monster)
if not monster then
return self:sendPreyData(slot)
end

local msg = NetworkMessage()

-- Only first/expired selection list gets new prey bonus
if (self:getPreyState(slot) == Prey.StateTypes.SELECTION) then
-- Generating random prey type
self:setPreyBonusType(slot, math.random(CONST_BONUS_DAMAGE_BOOST, CONST_BONUS_IMPROVED_LOOT))
-- Generating random bonus stats
self:setRandomBonusValue(slot, true, true)
elseif (self:getPreyBonusGrade(slot) == 0) then
-- Generating random prey type
self:setPreyBonusType(slot, math.random(CONST_BONUS_DAMAGE_BOOST, CONST_BONUS_IMPROVED_LOOT))
-- Generating random bonus stats
self:setRandomBonusValue(slot, true, true)
end

-- Setting current monster
self:setPreyCurrentMonster(slot, monster:getName())
-- Setting preySlot state
self:setPreyState(slot, Prey.StateTypes.ACTIVE)
-- Cleaning up monsterList
self:setPreyMonsterList(slot, "")
-- Time left
self:setPreyTimeLeft(slot, Prey.Config.PreyTime)
end

function Player.sendPreyData(self, slot)
-- Unlock First Slot
if self:getPreyState(CONST_PREY_SLOT_FIRST) == 0 then
self:setPreyUnlocked(CONST_PREY_SLOT_FIRST, 2)
self:setPreyState(CONST_PREY_SLOT_FIRST, 1)
end

-- Unlock/lock second slot (premium status)
if self:isPremium() then
if self:getPreyState(CONST_PREY_SLOT_SECOND) == 0 then
self:setPreyUnlocked(CONST_PREY_SLOT_SECOND, 2)
self:setPreyState(CONST_PREY_SLOT_SECOND, 1)
end
else
self:setPreyUnlocked(CONST_PREY_SLOT_SECOND, 0)
self:setPreyState(CONST_PREY_SLOT_SECOND, 0)
end

-- Unlock store slot
if self:getPreyState(CONST_PREY_SLOT_THIRD) == 0 then
if self:getStorageValue(Prey.Config.StoreSlotStorage) == 1 then
self:setPreyUnlocked(CONST_PREY_SLOT_THIRD, 2)
self:setPreyState(CONST_PREY_SLOT_THIRD, 1)
else
self:setPreyUnlocked(CONST_PREY_SLOT_THIRD, 1)
self:setPreyState(CONST_PREY_SLOT_THIRD, 0)
end
end

local slotState = self:getPreyState(slot)
local tickState = self:getPreyTick(slot)

local msg = NetworkMessage()
msg:addByte(Prey.S_Packets.PreyData) -- packet header

if slotState == Prey.StateTypes.SELECTION_CHANGE_MONSTER then
msg:addByte(slot) -- slot number
msg:addByte(slotState)
msg:addByte(self:getPreyBonusType(slot))
msg:addU16(self:getPreyBonusValue(slot))
msg:addByte(self:getPreyBonusGrade(slot))

local monsterList = self:getPreyMonsterList(slot):split(";")
msg:addByte(#monsterList)
for i = 1, #monsterList do
local monster = MonsterType(monsterList)
if monster then
msg:addString(monster:getName())
msg:addU16(monster:getOutfit().lookType or 21)
msg:addByte(monster:getOutfit().lookHead or 0x00)
msg:addByte(monster:getOutfit().lookBody or 0x00)
msg:addByte(monster:getOutfit().lookLegs or 0x00)
msg:addByte(monster:getOutfit().lookFeet or 0x00)
msg:addByte(monster:getOutfit().lookAddons or 0x00)
else
return self:resetPreySlot(slot, Prey.StateTypes.SELECTION_CHANGE_MONSTER)
end
end

elseif slotState == Prey.StateTypes.SELECTION then
msg:addByte(slot)
msg:addByte(slotState)

local preyMonsterList = self:getPreyMonsterList(slot)
if preyMonsterList == '' then
self:setPreyMonsterList(slot, self:createMonsterList())
return self:sendPreyData(slot)
end

local monsterList = preyMonsterList:split(";")
msg:addByte(#monsterList)
for i = 1, #monsterList do
local monster = MonsterType(monsterList)
if monster then
msg:addString(monster:getName())
msg:addU16(monster:getOutfit().lookType or 21)
msg:addByte(monster:getOutfit().lookHead or 0x00)
msg:addByte(monster:getOutfit().lookBody or 0x00)
msg:addByte(monster:getOutfit().lookLegs or 0x00)
msg:addByte(monster:getOutfit().lookFeet or 0x00)
msg:addByte(monster:getOutfit().lookAddons or 0x00)
else
return self:resetPreySlot(slot, Prey.StateTypes.SELECTION)
end
end

elseif slotState == Prey.StateTypes.ACTIVE then
msg:addByte(slot)
msg:addByte(slotState)
local monster = MonsterType(self:getPreyCurrentMonster(slot))
if monster and self:getPreyTimeLeft(slot) > 0 then
msg:addString(monster:getName())
msg:addU16(monster:getOutfit().lookType or 21)
msg:addByte(monster:getOutfit().lookHead or 0x00)
msg:addByte(monster:getOutfit().lookBody or 0x00)
msg:addByte(monster:getOutfit().lookLegs or 0x00)
msg:addByte(monster:getOutfit().lookFeet or 0x00)
msg:addByte(monster:getOutfit().lookAddons or 0x00)
msg:addByte(self:getPreyBonusType(slot))
msg:addU16(self:getPreyBonusValue(slot))
msg:addByte(self:getPreyBonusGrade(slot))
msg:addU16(self:getPreyTimeLeft(slot))
else
return self:resetPreySlot(slot, Prey.StateTypes.SELECTION)
end

elseif slotState == Prey.StateTypes.INACTIVE then
msg:addByte(slot) -- slot number
msg:addByte(slotState) -- slot state
self:setRandomBonusValue(slot, true, true)

elseif slotState == Prey.StateTypes.LOCKED then
msg:addByte(slot)
msg:addByte(slotState)
msg:addByte(self:getPreyUnlocked(slot))

elseif slotState == Prey.StateTypes.SELECTION_WITH_WILDCARD then
local raceList = self:getMonsterList()

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) -- raceID
end
end

-- Next free reroll
if self:getClient().version >= 1200 then
msg:addU32(self:getMinutesUntilFreeReroll(slot))
-- Automatic Reroll/Lock Prey
msg:addByte(tickState)
else
msg:addU16(self:getMinutesUntilFreeReroll(slot)/60)
end

-- send prey message
msg:sendToPlayer(self)

-- close emb window
self:closeImbuementWindow()

-- Send resources
self:sendResource("prey", self:getPreyBonusRerolls())
self:sendResource("bank", self:getBankBalance())
self:sendResource("inventory", self:getMoney())

-- Send reroll price
self:sendPreyRerollPrice()
end

function Player:sendPreyRerollPrice()
local msg = NetworkMessage()

msg:addByte(Prey.S_Packets.PreyRerollPrice)
msg:addU32(self:getRerollPrice())
if self:getClient().version >= 1200 then
msg:addByte(Prey.Config.BonusRerollPrice) -- wildcards
msg:addByte(Prey.Config.SelectWithWildCardPrice) -- select directly

-- Feature unavailable
msg:addU32(0)
msg:addU32(0)
msg:addByte(0)
msg:addByte(0)
end

msg:sendToPlayer(self)
end

function getMonsterDifficulty(monster)
local stars
if MonsterType(monster) == nil or MonsterType(monster):experience() == 0 then
return 0
else
stars = MonsterType(monster):BestiaryStars()
end
return stars
end

function getMaxMonster(self, tier)
local level = self:getLevel()

if(tier == Prey.Difficulty.HARMLESS) then return 0 end

if level >=8 and level <= 100 then
if tier == Prey.Difficulty.TRIVIAL then return 1
elseif tier == Prey.Difficulty.EASY then return 4
elseif tier == Prey.Difficulty.MEDIUM then return 4
elseif tier == Prey.Difficulty.HARD then return 4
elseif tier == Prey.Difficulty.CHALLEGING then return 1 end
elseif level >= 101 and level <= 250 then
if tier == Prey.Difficulty.TRIVIAL then return 1
elseif tier == Prey.Difficulty.EASY then return 3
elseif tier == Prey.Difficulty.MEDIUM then return 5
elseif tier == Prey.Difficulty.HARD then return 4
elseif tier == Prey.Difficulty.CHALLEGING then return 1 end
else
if tier == Prey.Difficulty.TRIVIAL then return 1
elseif tier == Prey.Difficulty.EASY then return 3
elseif tier == Prey.Difficulty.MEDIUM then return 4
elseif tier == Prey.Difficulty.HARD then return 5
elseif tier == Prey.Difficulty.CHALLEGING then return 1 end
end
end

 
Solution
Hola amigos eh tenido algunos problemas no encuentro como multiplicar el besteary alguien podria ayudarme con esto
ahorita esta por 1 como puedo multiplicarlo x5?


Prey

Hola,

El Bestiary, te refieres a la categoria de Charms ? multiplicarlo x5, seria la misma cosa que dividir /5.
En este caso, debes de entrar en cada fichero de cada monstruo y encontrar la parte:

Code:
monster.raceId = 268
monster.Bestiary = {
    class = "Amphibic",
    race = BESTY_RACE_AMPHIBIC,
    toKill = 500,
    FirstUnlock = 25,
    SecondUnlock = 250,
    CharmsPoints = 15,
    Stars = 2,
    Occurrence = 0,
    Locations = "Meriana, Laguna Islands, and other Shattered Isles."
    }

Cambiar 3 Números:
toKill = 500 --> Cuantos Máximos debes de...
Hola amigos eh tenido algunos problemas no encuentro como multiplicar el besteary alguien podria ayudarme con esto
ahorita esta por 1 como puedo multiplicarlo x5?


Prey

Hola,

El Bestiary, te refieres a la categoria de Charms ? multiplicarlo x5, seria la misma cosa que dividir /5.
En este caso, debes de entrar en cada fichero de cada monstruo y encontrar la parte:

Code:
monster.raceId = 268
monster.Bestiary = {
    class = "Amphibic",
    race = BESTY_RACE_AMPHIBIC,
    toKill = 500,
    FirstUnlock = 25,
    SecondUnlock = 250,
    CharmsPoints = 15,
    Stars = 2,
    Occurrence = 0,
    Locations = "Meriana, Laguna Islands, and other Shattered Isles."
    }

Cambiar 3 Números:
toKill = 500 --> Cuantos Máximos debes de matar para alcanzar el máximo de kills
FirstUnlock = 25, Cuantos para matar el primer Grado
SecondUnlock = 250, Cuantos para matar el segundo Grado
CharmsPoints= 15, El numero de charms points que dará

Para lo que es de los Preys para el bonus, no me lo hé mirado no lo sé en donde se cambiaria, habría que encontrar pienso una Línea en donde dice que al matarlo hace +1 o -1, y en este caso cambiar el numero a 5.
 
Solution

Tibia Server Lists

#1 FEATURED US Ultron OT 1,601 / 5,000Online EXPStages PROTO8.6 ENGINEUltron OT RANK PTS5.9 +100% VOTES0 #2 FEATURED US Nefera 131 / 0Online EXPx1 PROTO15.20 ENGINECrystal Server RANK PTS5.1 +100% VOTES0 #3 FEATURED ES Deixis 1 / 0Online EXPStages PROTO1098 ENGINETFS RANK PTS3.7 +100% VOTES1 #4 FEATURED ES Maeli 3 / 150Online EXPx10 PROTO10.98 ENGINETFS 1.4.2 RANK PTS3.7 +100% VOTES0 #5 MX Marlboro War 32 / 300Online EXP999 PROTO8.6 ENGINETFS 0.3.7 RANK PTS5.5 -33% VOTES0 #6 BR Tibinha YurOts 18 / 150Online EXPStages PROTO7.4 ENGINEYurOTS 1.5 RANK PTS5.2 -14% VOTES0 #7 US Halera 2 / 0Online EXPStages PROTO10.98 ENGINETFS 1.4.2 RANK PTS4.9 -84% VOTES0 #8 BR Exordion Legacy 55 / 2,000Online EXPx2 PROTO7.72 ENGINEExordion RANK PTS4.9 +100% VOTES0 #9 PL Lubelski 8 / 1,000Online EXP200 PROTO7.6 ENGINELubelskiOTS 2.56.0 RANK PTS4.6 -15% VOTES0 #10 ES JustRL FreeTC 1530 38 / 250Online EXPx2 PROTO15.30 ENGINECrystal Server RANK PTS4.3 +100% VOTES0 #11 DE DBU Online 0 / 400Online EXP11 PROTO8.6 ENGINETFS 1.0 RANK PTS4.3 +100% VOTES0 #12 PL ReWar 0 / 2,000Online EXPcustom PROTO8.6 ENGINEOther RANK PTS4.3 0% VOTES0 #13 PL Velesta 0 / 1,000Offline EXP20 PROTO8.0 ENGINETFS 1.4.2 RANK PTS4.3 -99% VOTES0 #14 ES Farlia Global 2026 0 / 333Offline EXPx5 PROTO15.25 ENGINEFarliaServ 1.525 RANK PTS3.9 -22% VOTES0 #15 SE MortalisOT Custom 0 / 500Offline EXP100x -1.2x PROTO10.98 ENGINEMortalisOT V1 RANK PTS3.8 +100% VOTES0 #16 US Rommania 0 / 500Online EXPstages, x10 PROTO7.4 ENGINETFS 0.4 RANK PTS3.6 +100% VOTES0 #17 US BerethaOnline 1 / 2,000Online EXPStages PROTO10.98 ENGINETFS RANK PTS3.5 +100% VOTES0
Top