Merge branch '32-introduce-7-92-client-support' into 'master'

Resolve "Introduce 7.92 Client Support"

Closes #32

See merge request ErikasKontenis/Sabrehaven!28
This commit is contained in:
Erikas Kontenis 2020-07-26 10:26:14 +00:00
commit 1d16e69dee
288 changed files with 91189 additions and 4531 deletions

View File

@ -1 +1 @@
next: 17584
next: 17723

View File

@ -1,20 +1,13 @@
# Nostalrius 7.7
Nostalrius is a 7.7 clone project that has been in development for a long time, it is based on TheForgottenServer 1.2 fork.
# Sabrehaven
Sabrehaven is a 7.8-7.92 clone project that has been in development for a long time, it is based on TheForgottenServer 1.2 fork and Nostalrius 7.7.
- You can find here the most complete 7.72 Tibia replica that has ever been made
- Formulas, monsters behavior, the map, everything!
# Sabrehaven Tools
- https://gitlab.com/ErikasKontenis/SabrehavenMapEditor
- https://gitlab.com/ErikasKontenis/sabrehavenitemeditor
- https://gitlab.com/ErikasKontenis/sabrehavenxmllooteditor
# Credits
- Alejandro Mujica (Ezzz in otland) - I'm the main developer and programmer of this game server
- Kevin Luiz (long time friendship, also helped get everything fixed and stable)
- Zakaria Ziady (compromised myself into getting the true formulas of the game server)
# Map Editor
- https://github.com/TwistedScorpio/Map-Editor
# Donations
- If you would like to support my work and also to continue to keep me motivated in updating missing details, please, consider donating
- kenshin2565@hotmail.com
- Erikas Kontenis for the Sabrehaven Platform
- Nostalrius and TheForgottenServer Team

View File

@ -8,6 +8,7 @@ removeChargesFromRunes = true
stairJumpExhaustion = 0
experienceByKillingPlayers = false
expFromPlayersLevelRange = 75
distanceWeaponsDropOnGround = false
-- Skull System
banLength = 30 * 24 * 60 * 60
@ -37,6 +38,7 @@ replaceKickOnLogin = true
maxPacketsPerSecond = -1
autoStackCumulatives = false
moneyRate = 1
clientVersion = 792
-- Deaths
-- NOTE: Leave deathLosePercent as -1 if you want to use the default
@ -68,8 +70,8 @@ mysqlSock = ""
allowChangeOutfit = true
freePremium = true
kickIdlePlayerAfterMinutes = 15
maxMessageBuffer = 4
showMonsterLoot = false
maxMessageBuffer = 8
showMonsterLoot = true
blockHeight = false
dropItems = false

512
data/XML/quests.xml Normal file
View File

@ -0,0 +1,512 @@
<?xml version="1.0" encoding="UTF-8"?>
<quests>
<quest name="Factions" startstorageid="278" startstoragevalue="1">
<mission name="The Marid and the Efreet - Djinn Greeting" storageid="278" startvalue="1" endvalue="1" ignoreendvalue="true">
<missionstate id="1" description="Melchior told you the word &quot;Djanni'hah&quot; which can be used to talk to Djinns. Be aware that once you become an ally of one Djinn race, you cannot switch sides anymore." />
</mission>
<mission name="The Marid and the Efreet - Marid Faction" storageid="278" startvalue="2" endvalue="2">
<missionstate id="2" description="You have joined the Marid. These friendly, blue Djinns are honest and fair allies. You have pledged eternal loyalty to King Gabel and may enter Asha'daramai freely. Djanni'hah!" />
</mission>
<mission name="The Marid and the Efreet - Efreet Faction" storageid="278" startvalue="3" endvalue="3">
<missionstate id="3" description="You have joined the Efreet. These evil, green Djinns are always up to mischievous pranks. You have pledged eternal loyalty to King Malor and may enter Mal'ouquah freely. Djanni'hah!" />
</mission>
</quest>
<quest name="Friends and Traders" startstorageid="17595" startstoragevalue="1">
<mission name="The Sweaty Cyclops" storageid="17500" startvalue="1" endvalue="2">
<missionstate id="1" description="Big Ben, the cyclops in Ab'Dendriel sends you to bring him 3 bast skirts for his woman. After this he will help you to forge different steel." />
<missionstate id="2" description="Big Ben, the cyclops in Ab'Dendriel will help you to forge different steel now. Just ask him if you need something." />
</mission>
<mission name="The Mermaid Marina" storageid="17504" startvalue="1" endvalue="2">
<missionstate id="1" description="Marina, the mermaid north of Sabrehaven sends you to bring her 50 honeycombs. After this she will help you create spool of yarn." />
<missionstate id="2" description="Marina, the mermaid north of Sabrehaven will help you to create a spool of yarn from 10 pieces of spider silk. Just ask her if you need something." />
</mission>
<mission name="The Blessed Stake" storageid="17576" startvalue="1" endvalue="12">
<missionstate id="1" description="Quentin told you about an old prayer which can bind holy energy to an object. Each of its ten lines has to be recited by a different priest though. Bring Quentin a wooden stake from Gamon to start." />
<missionstate id="2" description="You received Quentin's prayer: &quot;Light shall be near - and darkness afar&quot;. Now, bring your stake to Tibra in the Carlin church for the next line of the prayer." />
<missionstate id="3" description="You received Tibra's prayer: &quot;Hope may fill your heart - doubt shall be banned&quot;. Now, bring your stake to Maealil in the Elven settlement for the next line of the prayer." />
<missionstate id="4" description="You received Maealil's prayer: &quot;Peace may fill your soul - evil shall be cleansed&quot;. Now, bring your stake to Yberius in the Venore temple for the next line of the prayer." />
<missionstate id="5" description="You received Yberius' prayer: &quot;Protection will be granted - from dangers at hand&quot;. Now, bring your stake to Isimov in the dwarven settlement for the next line of the prayer." />
<missionstate id="6" description="You received Isimov's prayer: &quot;Unclean spirits shall be repelled&quot;. Now, bring your stake to Amanda in Edron for the next line of the prayer." />
<missionstate id="7" description="You received Amanda's prayer: &quot;Wicked curses shall be broken&quot;. Now, bring your stake to Kasmir in Darashia for the next line of the prayer." />
<missionstate id="8" description="You received Kasmir's prayer: &quot;Let there be honour and humility&quot;. Now, bring your stake to Rahkem in Ankrahmun for the next line of the prayer." />
<missionstate id="9" description="You received Rahkem's prayer: &quot;Let there be power and compassion&quot;. Now, bring your stake to Brewster in Port Hope for the next line of the prayer." />
<missionstate id="10" description="You received Brewster's prayer: &quot;Your hand shall be guided - your feet shall walk in harmony&quot;. Now, bring your stake to Tyrias in Liberty Bay for the next line of the prayer." />
<missionstate id="11" description="You received Tyrias' prayer: &quot;Your mind shall be a vessel for joy, light and wisdom&quot;. He wasn't exactly happy though and said that if you need some mumbo jumbo again, you should rather go to Chondur." />
<missionstate id="12" description="Chondur was surprised to hear that you had to travel through all of Tibia to have your wooden stake blessed. He offered you help with the blessing if you should need one again in the future." />
</mission>
</quest>
<quest name="Outfit and Addon Quests" startstorageid="17594" startstoragevalue="1">
<mission name="Assassin Addon: The Red Death" storageid="17562" startvalue="18" endvalue="19" ignoreendvalue="true">
<missionstate id="18" description="Atrad wants only two items from you for his old katana: a behemoth claw and a nose ring, both at the same time. He also told you about a &quot;horned fox&quot; who wears such as nose ring" />
<missionstate id="19" description="You have received the second assassin addon." />
</mission>
<mission name="Citizen Addon: Backpack" storageid="18502" startvalue="1" endvalue="3">
<missionstate id="1" description="Collect 100 pieces of minotaur leather and bring it to either Amber or Lubo to have them make a backpack addon for you." />
<missionstate id="2" description="You delivered 100 pieces of minotaur leather. Some time is needed to make the backpack for you though. You should check back later and ask either Amber or Lubo for your backpack." />
<missionstate id="3" description="You got the outfit!" />
</mission>
<mission name="Citizen Addon: Feather Hat" storageid="18501" startvalue="1" endvalue="2">
<missionstate id="1" description="Collect a legion helmet, 100 chicken feathers and 50 honeycombs and bring them to either Hanna or Norma to have them make a feather hat addon for you." />
<missionstate id="2" description="You got the outfit!" />
</mission>
<mission name="Barbarian Outfit Quest" storageid="17532" startvalue="1" endvalue="17">
<missionstate id="1" description="Bron told you that his brother Ajax in Northport needs to learn that violence is not always the answer. He told you to make his brother angry, then show him that all he needed to do was say 'please' to fix the situation." />
<missionstate id="2" description="You will need to leave Ajax alone for an hour, then return to him." />
<missionstate id="3" description="Ajax told you that he has thought about it, and that violence is not always good. Return to Bron now, and tell him that Ajax said fist not always good" />
<missionstate id="4" description="Bron mentioned that he has someone in his house that he doesn't like, and he wants you to get advice from Ajax about how to handle the situation. Go back to Ajax and ask him about Gelagos" />
<missionstate id="5" description="Ajax told you his brother needs Fighting Spirit, and that you should get some from a Djinn and give it to him." />
<missionstate id="6" description="You brought Bron the Fighting Spirit. He acted a little strange." />
<missionstate id="7" description="In order to make a shirt as a present for Ajax, Bron wants you to bring him 50 Pieces of Red Cloth and 50 Pieces of Green Cloth." />
<missionstate id="8" description="Bron wants you to bring him 10 Spider Silk Yarn." />
<missionstate id="9" description="Bron wants you to bring him the Warrior's Sweat." />
<missionstate id="10" description="You brought him all required items! accept it!" />
<missionstate id="11" description="You got the Barbarian Wig Addon! Bring now the present from Bron to Ajax!" />
<missionstate id="12" description="Bring Ajax in Northport 100 Iron Ore." />
<missionstate id="13" description="Bring Ajax 1 Huge Chunk of Crude Iron." />
<missionstate id="14" description="Bring Ajax 50 Perfect Behemoth Fang" />
<missionstate id="15" description="Bring Ajax 50 Lizard Leather" />
<missionstate id="16" description="Come later in 2 hours and ask Ajax for the axe." />
<missionstate id="17" description="You got the Axe Addon!" />
</mission>
<mission name="Beggar Outfit: The Newest Fashion" storageid="17563" startvalue="1" endvalue="6">
<missionstate id="1" description="Your current task is to bring Hugo 20 pieces of brown cloth, like the worn and ragged ghoul clothing." />
<missionstate id="2" description="Your current task is to bring 50 pieces of minotaur leather to Hugo. If you don't know how to get leather, you should ask Kalvin." />
<missionstate id="3" description="Your current task is to bring 10 bat wings to Hugo." />
<missionstate id="4" description="Your current task is to bring 30 heaven blossoms to Hugo. Elves are said to cultivate these flowers." />
<missionstate id="5" description="You brought all items required for the &quot;poor man's look&quot; to Hugo. He told you to come back to him after a whole day has passed, then the outfit should be finished." />
<missionstate id="6" description="You got the outfit!" />
</mission>
<mission name="Druid Outfit Quest" storageid="17535" startvalue="1" endvalue="10">
<missionstate id="1" description="Ceiron sends you to collect a sample of the blooming Griffinclaw." />
<missionstate id="2" description="Ask Ceiron for task." />
<missionstate id="3" description="Take Ceirons waterskin and try to fill it with water from this special trickle. In the mountains between Ankrahmun and Tiquanda are two hydra lairs." />
<missionstate id="4" description="Ask Ceiron for task." />
<missionstate id="5" description="Bring Ceiron 100 ounces of demon dust." />
<missionstate id="6" description="Ask Ceiron for task." />
<missionstate id="7" description="The last mission is to find and retrieve Ceiron's Wolf Tooth Chain lost inside the Orc Fortress." />
<missionstate id="8" description="Ask Ceiron for Faolan." />
<missionstate id="9" description="Head over to Cormaya, find A Majestic Warwolf's Cave and ask her about an addon." />
<missionstate id="10" description="You got the Outfit!" />
</mission>
<mission name="Hunter Outfit Quest" storageid="17539" startvalue="1" endvalue="5">
<missionstate id="1" description="Elane sends you to Liberty Bay to bring her the Crossbow from the Cult." />
<missionstate id="2" description="Bring Elane 100 pieces of lizard leather and 100 pieces of red dragon leather." />
<missionstate id="3" description="Bring Elane 5 enchanted chicken wings." />
<missionstate id="4" description="Bring Elane one piece of royal steel, draconian steel and hell steel each." />
<missionstate id="5" description="You got the Outfit!" />
</mission>
<mission name="Knight Addon: Helmet" storageid="17542" startvalue="1" endvalue="6">
<missionstate id="1" description="Your current task is to bring 100 perfect behemoth fangs to Gregor in Thais." />
<missionstate id="2" description="Your current task is to retrieve the helmet of Ramsay the Reckless from Banuta. These pesky apes steal everything they can get their dirty hands on." />
<missionstate id="3" description="Your current task is to obtain a flask of warrior's sweat, which can be magicially extracted from headgear worn by a true warrior, but only in small amounts. Djinns are said to be good at this." />
<missionstate id="4" description="Your current task is to bring royal steel to Gregor in Thais. Royal steel can only be refined by very skilled smiths." />
<missionstate id="5" description="You have delivered all items required for the helmet addon. Go talk to Sam and tell him Gregor sent you. He will be glad to refine your helmet." />
<missionstate id="6" description="You got the Outfit!" />
</mission>
<mission name="Mage &amp; Summoner Addon: Wand" storageid="17549" startvalue="1" endvalue="7">
<missionstate id="1" description="You found Angelina in a Prison. She told you a secret: Lynda in Thais can create a blessed wand. Greet her from Angelina, maybe she will aid you." />
<missionstate id="2" description="Lynda send you to bring her a sample of all five wands and five rods (Snakebite, Moonlight, Volcanic, Quagmire, Tempest, Vortex, Dragonbreath, Plague, Cosmic Energy and Inferno)" />
<missionstate id="3" description="Bring Lynda 10 ounces of magic sulphur" />
<missionstate id="4" description="Bring Lynda the Necromancer's soul stone" />
<missionstate id="5" description="Bring Lynda 20 ankhs now to complete the ritual." />
<missionstate id="6" description="Lynda is currently preparing a ritual for you. Be patient and don't forget to check on it later!" />
<missionstate id="7" description="You got the Outfit!" />
</mission>
<mission name="Mage &amp; Summoner Addon: Fluid Belt" storageid="17546" startvalue="1" endvalue="1">
<missionstate id="1" description="You got the Outfit!" />
</mission>
<mission name="Mage Tiara and Summoner Cloak" storageid="17547" startvalue="1" endvalue="12">
<missionstate id="1" description="Your current task is to bring 70 bat wings to Myra in Port Hope." />
<missionstate id="2" description="Your current task is to bring 20 pieces of red cloth to Myra in Port Hope. These are said to make an excellent material for a cape." />
<missionstate id="3" description="Your current task is to bring 40 pieces of ape fur to Myra in Port Hope." />
<missionstate id="4" description="Your current task is to bring 35 holy orchids to Myra in Port Hope. Elves are said to cultivate these." />
<missionstate id="5" description="Your current task is to bring 10 spools of spider silk yarn to Myra in Port Hope. Only very large spiders produce silk which is strong enough to be yarned by mermaids." />
<missionstate id="6" description="Your current task is to bring 60 lizard scales to Myra in Port Hope. Lizard scales are great for all sort of magical potions." />
<missionstate id="7" description="Your current task is to bring 40 red dragon scales to Myra in Port Hope." />
<missionstate id="8" description="Your current task is to bring 15 ounces of magic sulphur to Myra in Port Hope. Djinns are said to be good at extracting magic sulphur." />
<missionstate id="9" description="Your current task is to bring 30 ounces of vampire dusts to Myra in Port Hope. You might need to ask a priest for a special blessed stake to turn vampires into dust." />
<missionstate id="10" description="You finally collected all of the items which Myra asked for. You should ask about reward from her." />
<missionstate id="11" description="Go talk to Zoltan in Edron and tell him that Myra nominated you for an award." />
<missionstate id="12" description="You got the Outfit!" />
</mission>
<mission name="Warrior Addon: Shoulder Spike" storageid="17558" startvalue="1" endvalue="7">
<missionstate id="1" description="Your current task is to bring 100 hardened bones to Trisha in Carlin. They can sometimes be extracted from creatures that consist only of - you guessed it, bones. You need an obsidian knife though." />
<missionstate id="2" description="Your current task is to bring 100 turtle shells to Trisha in Carlin. Turtles can be found on some idyllic islands which have recently been discovered." />
<missionstate id="3" description="Your current task is to show that you have fighting spirit. Maybe someone grants you a wish...?" />
<missionstate id="4" description="Your current task is to obtain a dragon claw. You cannot get this special claw from any common dragons in Tibia. It requires a special one, a lord among the lords." />
<missionstate id="5" description="You have delivered all items requried for the shoulder spike addon. Go talk to Cornelia and tell her Trisha sent you. She will be glad to create the should spikes." />
<missionstate id="6" description="Cornelia is currently creating the should spikes for you. Be patient and don't forget to check on it later!" />
<missionstate id="7" description="You have obtained the shoulder spike addon." />
</mission>
<mission name="Wizard Outfits Quest" storageid="17561" startvalue="1" endvalue="7">
<missionstate id="1" description="Bring Lugri the Medusa shield!" />
<missionstate id="2" description="Bring Lugri the Dragon Scale Mail!" />
<missionstate id="3" description="Bring Lugri the Crown Legs!" />
<missionstate id="4" description="Bring Lugri the Ring of the Sky!" />
<missionstate id="5" description="You got the first Outfit Addon!" />
<missionstate id="6" description="Bring The Queen Of The Banshees 50 Holy Orchids and she will reward you with the second addon." />
<missionstate id="7" description="You got the second Outfit Addon!" />
</mission>
<mission name="Pirate Outfit Quest (Sabre)" storageid="17567" startvalue="1" endvalue="5">
<missionstate id="1" description="Bring Duncan 100 Eye Patches from pirates!" />
<missionstate id="2" description="Bring Duncan 100 peg legs from pirates!" />
<missionstate id="3" description="Bring Duncan 100 pirate hooks from pirates!" />
<missionstate id="4" description="Go to Morgan and tell him this codeword: 'firebird' to get the outfit addon!" />
<missionstate id="5" description="You got the Outfit Addon!" />
</mission>
<mission name="Oriental Addon: Hipwear" storageid="17555" startvalue="1" endvalue="2">
<missionstate id="1" description="Your current task is to find a mermaid's comb. If you have ever encountered a mermaid, you should ask her. Bring the comb to Habdel if you are male or to Ishina if you are female." />
<missionstate id="2" description="You have received the first oriental addon." />
</mission>
<mission name="Oriental Addon: Headgear" storageid="17557" startvalue="1" endvalue="5">
<missionstate id="1" description="Your current task is to bring 100 pieces of ape fur to Razan if you are male, or to Miraia if you are female." />
<missionstate id="2" description="Your current task is to bring 100 fish fins to Razan if you are male, or to Miraia if you are female." />
<missionstate id="3" description="Your current task is to bring 2 enchanted chicken wings to Razan if you are male, or to Miraia if you are female." />
<missionstate id="4" description="Your current task is to bring 100 pieces of blue cloth to Razan if you are male, or to Miraia if you are female." />
<missionstate id="5" description="You have received the second oriental addon." />
</mission>
<mission name="Shaman Addon: Staff" storageid="17570" startvalue="2" endvalue="3" ignoreendvalue="true">
<missionstate id="2" description="Try to find a monster which sometimes lurks in the Tiquandian jungle as the revenge of the jungle against mankind. Bring the rare root it carries to Chondur as well as 5 voodoo dolls." />
<missionstate id="3" description="You have received the first shaman addon." />
</mission>
<mission name="Shaman Addon: Mask" storageid="17570" startvalue="4" endvalue="5" ignoreendvalue="true">
<missionstate id="4" description="Your current task is to collect 5 tribal masks from the dworcs and 5 banana staves from the apes. Bring them to Chondur to earn your shamanic mask." />
<missionstate id="5" description="You have received the second shaman addon." />
</mission>
</quest>
<quest name="Sam's Old Backpack" startstorageid="289" startstoragevalue="1">
<mission name="Old And Used Backpack Quest" storageid="289" startvalue="1" endvalue="2">
<missionstate id="1" description="Sam sends you to see Kroox in Kazordoon to get a special dwarven armor. Just tell him, his old buddy Sam is sending you." />
<missionstate id="2" description="You have the permission to retrive a dwarven armor from the mines. The problem is, some giant spiders made the tunnels where the storage is their new home." />
</mission>
<mission name="Dwarven Armor Quest" storageid="290" startvalue="1" endvalue="1" description="You have completed Dwarven Armor Quest!" />
</quest>
<quest name="The Ancient Tombs" startstorageid="267" startstoragevalue="1">
<mission name="Omruc's Treasure" storageid="267" startvalue="1" endvalue="1" description="You defeated Omruc and received a helmet adornment" />
<mission name="Thalas' Treasure" storageid="262" startvalue="1" endvalue="1" description="You defeated Thalas and received a Gem Holder" />
<mission name="Diphtrah's Treasure" storageid="265" startvalue="1" endvalue="1" description="You defeated Dipthrah and received a Damaged Helmet" />
<mission name="Mahrdis' Treasure" storageid="261" startvalue="1" endvalue="1" description="You defeated Mahrdis and received a Helmet Ornament" />
<mission name="Vashresamun's Treasure" storageid="264" startvalue="1" endvalue="1" description="You solved the musical riddles of Vashresamun's Tomb and received a left horn." />
<mission name="Morguthis' Treasure" storageid="263" startvalue="1" endvalue="1" description="You defeated Morguthis and received a Right Horn" />
<mission name="Rahemos' Treasure" storageid="266" startvalue="1" endvalue="1" description="You defeated Rahemos and received a Helmet Piece" />
</quest>
<quest name="The Ape City" startstorageid="293" startstoragevalue="1">
<mission name="Hairycles' Missions" storageid="293" startvalue="1" endvalue="18">
<missionstate id="1" description="Find whisper moss in the dworc settlement south of Port Hope and bring it back to Hairycles." />
<missionstate id="2" description="You have completed the first mission. Hairycles was happy about the whisper moss you gave to him. He might have another mission for you." />
<missionstate id="3" description="Hairycles asked you to bring him cough syrup from a human settlement. A healer might know more about this medicine." />
<missionstate id="4" description="You have completed the second mission. Hairycles was happy about the cough syrup you gave to him. He might have another mission for you." />
<missionstate id="5" description="Hairycles asked you to bring him a magical scroll from the lizard settlement Chor." />
<missionstate id="6" description="You have completed the third mission. Hairycles appreciated that you brought the scroll to him and will try to read it. Maybe he has another mission for you later." />
<missionstate id="7" description="Since Hairycles was not able to read the scroll you brought him, he asked you dig for a tomb in the desert to the east. Proceed in this tomb until you find an obelisk between red stones and read it." />
<missionstate id="8" description="You have completed the fourth mission. Hairycles read your mind and can now translate the lizard scroll. He might have another mission for you." />
<missionstate id="9" description="Hairycles wants to create a life charm for the ape people. He needs a hydra egg since it has strong regenerating powers." />
<missionstate id="10" description="You have completed the fifth mission. Hairycles attempts to create a might charm for the protection of the ape people. He might have another mission for you later." />
<missionstate id="11" description="Hairycles need a witches' cap mushroom which is supposed to be hidden in a dungeon deep under Fibula." />
<missionstate id="12" description="You have completed the sixth mission. You brought the witches' cap mushroom back to Hairycles. He might have another mission for you." />
<missionstate id="13" description="Hairycles is worried about an ape cult which drinks some strange fluid that the lizards left behind. Go to the old lizard temple under Banuta and destroy three of the casks there with a crowbar." />
<missionstate id="14" description="You have completed the seventh mission. You found the old lizard ruins under Banuta and destroyed three of the casks with snake blood. Hairycles might have another mission for you." />
<missionstate id="15" description="The apes now need a symbol of their faith. Speak with the blind prophet in a cave to the northeast and go to the Forbidden Land. Find a hair of the giant, holy ape Bong and bring it back." />
<missionstate id="16" description="You completed the eighth mission. Hairycles gladly accepted the hair of the ape god which you brought him. He told you to have one final mission for you." />
<missionstate id="17" description="Go into the deepest catacombs under Banuta and destroy the monument of the snake god with the hammer that Hairycles gave to you." />
<missionstate id="18" description="You successfully destroyed the monument of the snake god. As reward, you can buy sacred statues from Hairycles. If you haven't done so yet, you should also ask him for a shaman outfit." />
</mission>
</quest>
<quest name="The Djinn War - Efreet Faction" startstorageid="286" startstoragevalue="1">
<mission name="Efreet Mission 1: The Supply Thief" storageid="286" startvalue="1" endvalue="3">
<missionstate id="1" description="Travel to Thais and keep your eyes open for something that might give you a clue on the supply thief." />
<missionstate id="2" description="You have found the potential supply thief - Partos in Thais seemed very suspicious. Baa'leal might be interested in this matter." />
<missionstate id="3" description="You have reported the case to Baa'leal. He seemed very satisfied and told you that Alesar might have another mission for you." />
</mission>
<mission name="Efreet Mission 2: The Tear of Daraman" storageid="287" startvalue="1" endvalue="3">
<missionstate id="1" description="Sneak into Ashta'daramai and steal a &quot;Tear of Daraman&quot;. For more information about these gems visit the Efreet library." />
<missionstate id="2" description="You have successfully managed to steal a Tear of Daraman from Ashta'daramai. Bring it to Alesar." />
<missionstate id="3" description="You have delivered Daraman's Tear. Alesar seemed very satisfied and told you that Malor himself might have another mission for you." />
</mission>
<mission name="Efreet Mission 3: The Sleeping Lamp" storageid="288" startvalue="1" endvalue="3">
<missionstate id="1" description="Malor asked you to find Fa'hradin's sleeping lamp in the orc fortress at Ulderek's Rock. Then, sneak into Ashta'daramai and exchange Gabel's sleeping lamp with Fa'hradin's lamp." />
<missionstate id="2" description="You successfully exchanged the lamps. Malor will be happy to hear about this." />
<missionstate id="3" description="The Efreet are very satisfied with your help. King Malor allowed you to trade with Yaman and Alesar." />
</mission>
</quest>
<quest name="The Djinn War - Marid Faction" startstorageid="280" startstoragevalue="1">
<mission name="Marid Mission 1: The Dwarven Kitchen" storageid="280" startvalue="1" endvalue="2">
<missionstate id="1" description="Bring a cookbook of the dwarven kitchen to Bo'ques." />
<missionstate id="2" description="You have delivered the cookbook. Bo'ques seemed very satisfied and told you that Fa'hradin might have another mission for you." />
</mission>
<mission name="Marid Mission 2: The Spyreport" storageid="281" startvalue="1" endvalue="2">
<missionstate id="1" description="Fa'hradin asked you to sneak into the Efreet fortress Mal'ouqhah and find their undercover spy. The codeword is PIEDPIPER." />
<missionstate id="2" description="You have delivered the spyreport. Fa'hradin seemed impressed and told you that Gabel himself might have another mission for you." />
</mission>
<mission name="Rata'Mari and the Cheese" storageid="282" startvalue="1" endvalue="2">
<missionstate id="1" description="You have promised Rata'Mari cheese. Once you deliver some to him, he will hand over his spyreport." />
<missionstate id="2" description="You got Rata'Mari's spyreport. He seems to be quite happy with the cheese you brought him." />
</mission>
<mission name="Marid Mission 3: The Sleeping Lamp" storageid="283" startvalue="1" endvalue="3">
<missionstate id="1" description="Gabel asked you to find Fa'hradin's sleeping lamp in the orc fortress at Ulderek's Rock. Then, sneak into Mal'ouqhah and exchange Malor's sleeping lamp with Fa'hradin's lamp." />
<missionstate id="2" description="You successfully exchanged the lamps. Gabel will be happy to hear about this." />
<missionstate id="3" description="The Marid deeply appreciate your help. King Gabel allowed you to trade with Haroun and Nah'bob." />
</mission>
</quest>
<quest name="The Postman Missions" startstorageid="227" startstoragevalue="1">
<mission name="Mission 1 - Check Postal Routes" storageid="227" startvalue="1" endvalue="6">
<missionstate id="1" description="Kevin wants you to travel with Captain Bluebear to Carlin." />
<missionstate id="2" description="Kevin wants you to travel with Uzon in Femor Hills to Edron." />
<missionstate id="3" description="Kevin wants you to travel with Captain Seahorse to Venore." />
<missionstate id="4" description="Kevin wants you to travel with Brodrosch to Cormaya" />
<missionstate id="5" description="You have checked the Postal Routes, report back to Kevin!" />
<missionstate id="6" description="You have reported back that you have completed the mission." />
</mission>
<mission name="Mission 2 - Fix Mailbox" storageid="228" startvalue="1" endvalue="3">
<missionstate id="1" description="Kevin wants you to fix one of their Mailboxes located on Folda with a crowbar." />
<missionstate id="2" description="You have fixed the mailbox, report back to Kevin!" />
<missionstate id="3" description="You have reported back that you have completed the mission." />
</mission>
<mission name="Mission 3 - Bill Delivery" storageid="229" startvalue="1" endvalue="4">
<missionstate id="1" description="Kevin wants you to deliver a bill to the stage magician David Brassacres. He's hiding from his creditors somewhere in Venore." />
<missionstate id="2" description="You have found the David Brassacres, deliver him the bill!" />
<missionstate id="3" description="You have delivered the bill to the stage magician David Brassacres, report back to Kevin!" />
<missionstate id="4" description="You have reported back that you have completed the mission." />
</mission>
<mission name="Mission 4 - Aggressive Dogs" storageid="230" startvalue="1" endvalue="21">
<missionstate id="1" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="2" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="3" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="4" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="5" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="6" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="7" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="8" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="9" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="10" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="11" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="12" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="13" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="14" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="15" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="16" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="17" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="18" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="19" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="20" description="Kevin has asked you to deliver 20 Bones to him." />
<missionstate id="21" description="You have delivered 20 Bones to Kevin." />
</mission>
<mission name="Mission 5 - Present Delivery" storageid="231" startvalue="1" endvalue="3">
<missionstate id="1" description="Kevin has asked you to retrieve the present behind the door on the lower right side of his room and deliver it to Dermot in Fibula." />
<missionstate id="2" description="You have delivered the present to Dermot, report back to Kevin!" />
<missionstate id="3" description="You have reported back that you have completed the mission." />
</mission>
<mission name="Mission 6 - New Uniforms" storageid="233" startvalue="1" endvalue="11">
<missionstate id="1" description="Kevin has asked you to travel to Venore and negotiate with Hugo for new uniforms." />
<missionstate id="2" description="Hugo said that his dog ate the last dress pattern they used and he has no clue where Kevin Postner got it from, go ask Kevin." />
<missionstate id="3" description="Kevin wants you to ask the great Technomancer Talphion in Kazordoon for the technical details." />
<missionstate id="4" description="Talphion will send a copy to Kevin, report back to Kevin." />
<missionstate id="5" description="Kevin wants you tk ask Queen Eloise of Carlin for the perfect colours." />
<missionstate id="6" description="Queen Eloise said she will send some color samples via mail to Kevin, report back to Kevin." />
<missionstate id="7" description="Kevin has asked you to go to Noodles and find out what he dislikes the most: mouldy cheese, a piece of fur or a banana skin." />
<missionstate id="8" description="You have found out what Noodles dislike! Report back to Kevin." />
<missionstate id="9" description="Kevin wants you to tell Hugo that they order those uniforms." />
<missionstate id="10" description="Hugo has agreed to make the uniforms, report back to Kevin!" />
<missionstate id="11" description="You have reported back that you have completed the mission." />
</mission>
<mission name="Mission 7 - Measurements" storageid="234" startvalue="1" endvalue="8">
<missionstate id="1" description="Kevin wants you to bring him the measurements of Ben, Lokur, Dove, Liane, Chrystal and Olrik." />
<missionstate id="2" description="You have received the measurements from 1 of 6 postofficers." />
<missionstate id="3" description="You have received the measurements from 2 of 6 postofficers." />
<missionstate id="4" description="You have received the measurements from 3 of 6 postofficers." />
<missionstate id="5" description="You have received the measurements from 4 of 6 postofficers." />
<missionstate id="6" description="You have received the measurements from 5 of 6 postofficers." />
<missionstate id="7" description="You have received all measurements, report back to Kevin!" />
<missionstate id="8" description="You have reported back that you have completed the mission." />
</mission>
<mission name="Mission 8 - Missing Courier" storageid="242" startvalue="1" endvalue="2">
<missionstate id="1" description="Kevin wants you to find the missing courier Waldo or at least his posthorn." />
<missionstate id="2" description="You have reported back that you have completed the mission." />
</mission>
<mission name="Mission 9 - Dear Santa" storageid="244" startvalue="1" endvalue="3">
<missionstate id="1" description="Kevin wants you to deliver som letters to Santa Claus on Vega." />
<missionstate id="2" description="You have delivered the letters to Santa Claus on Vega." />
<missionstate id="3" description="You have reported back that you have completed the mission." />
</mission>
<mission name="Mission 10 - Mintwallin" storageid="245" startvalue="1" endvalue="3">
<missionstate id="1" description="Kevin wants you to deliver a letter to Markwin, king of Mintwallin from his mother." />
<missionstate id="2" description="You have delivered the letter to Markwin." />
<missionstate id="3" description="You have reported back that you have completed the mission." />
</mission>
<mission name="Postman Rank" storageid="250" startvalue="1" endvalue="5">
<missionstate id="1" description="Assistant Postman" />
<missionstate id="2" description="Postman" />
<missionstate id="3" description="Grand Postman" />
<missionstate id="4" description="Grand Postman for Special Operations" />
<missionstate id="5" description="Arch Postman" />
</mission>
</quest>
<quest name="The Shattered Isles" startstorageid="17593" startstoragevalue="1">
<mission name="A Djinn in Love" storageid="17502" startvalue="9" endvalue="13" ignoreendvalue="true">
<missionstate id="9" description="You need to return to Marina and ask her for a date with Ocelus." />
<missionstate id="10" description="You need to return to Ocelus with the bad news." />
<missionstate id="11" description="Ocelus told you to get a poem for him, if you didn't buy one already, head to Ab'Dendriel and buy a Love Poem from Elvith." />
<missionstate id="12" description="You need to go recite the poem to Marina and impress her with the Djinn's romantic and poetic abilities." />
<missionstate id="13" description="After reciting the poem to Marina, she decided to date Ocelus and release Ray Striker from her spell." />
</mission>
<mission name="A Poem for the Mermaid" storageid="17502" startvalue="7" endvalue="9" ignoreendvalue="true">
<missionstate id="7" description="You need to find the man-stealing mermaid and try to break her spell over poor Raymond, the mermaid Marina is near the northern coast of the island." />
<missionstate id="8" description="You discovered that she does in fact have a spell on him, and will not release him unless someone better comes along." />
<missionstate id="9" description="You are a true master in reciting love poems now. No mermaid will be able to resist if you ask for a date!" />
</mission>
<mission name="Access to Goroma" storageid="17501" startvalue="2" endvalue="2" description="After helping Jack Fate to collect the 30 woodpieces, Jack Fate in Liberty Bay will bring you to Goroma." />
<mission name="Access to Laguna Island" storageid="17502" startvalue="13" endvalue="13" ignoreendvalue="true" description="After arranging a date for Marina and Ocelus, you are allowed to use Marina's sea turtles. They will bring you to the idyllic Laguna Islands." />
<mission name="Access to Meriana" storageid="17502" startvalue="6" endvalue="6" ignoreendvalue="true" description="After earning the trust of the governor's daughter Eleonore, Captain Waverider in Liberty Bay will bring you to Meriana if you tell him the secret codeword 'peg leg'." />
<mission name="The Counterspell" storageid="17509" startvalue="2" endvalue="5">
<missionstate id="2" description="You have begun Chondur's ritual. Bring him a fresh dead chicken so that he can begin to create a counterspell which will allow you to pass the magical barrier on Goroma." />
<missionstate id="3" description="You have begun Chondur's ritual. Bring him a fresh dead rat so that he can continue creating a counterspell which will allow you to pass the magical barrier on Goroma." />
<missionstate id="4" description="You have begun Chondur's ritual. Bring him a fresh dead black sheep so that he can complete his counterspell which will allow you to pass the magical barrier on Goroma." />
<missionstate id="5" description="You may pass the energy barrier on Goroma. The counterspell Chondur created for you with his ritual will allow you to withstand the evil magic of the cultist." />
</mission>
<mission name="The Errand" storageid="17502" startvalue="3" endvalue="4" ignoreendvalue="true">
<missionstate id="3" description="You told Eleonore to run a small errand. Deliver the 200 gold pieces she gave to the herbalist Charlotta in the south-western part of Liberty Bay." />
<missionstate id="4" description="You delivered the gold to Charlotta. Return to Eleonore and tell her the secret password: peg leg" />
</mission>
<mission name="The Governor's Daughter" storageid="17502" startvalue="1" endvalue="2" ignoreendvalue="true">
<missionstate id="1" description="You promised to find Eleonore's lost ring. She told you that a parrot stole it from her dressing table and flew to the nearby mountains. You might need a rake to retrieve the ring." />
<missionstate id="2" description="You returned the ring to Eleonore." />
</mission>
</quest>
<quest name="The Queen of the Banshees" startstorageid="5" startstoragevalue="1">
<mission name="The Hidden Seal" storageid="5" startvalue="1" endvalue="1" description="You broke the first seal." />
<mission name="The Seal of Logic" storageid="10" startvalue="1" endvalue="1" description="You broke the sixth seal." />
<mission name="The Seal of True Path" storageid="9" startvalue="1" endvalue="1" description="You broke the fifth seal." />
<mission name="The Seal of Sacrifice" storageid="4" startvalue="1" endvalue="1" description="You broke the fourth seal." />
<mission name="The Seal of Demonrage" storageid="7" startvalue="1" endvalue="1" description="You broke the third seal." />
<mission name="The Plague Seal" storageid="6" startvalue="1" endvalue="1" description="You broke the second seal." />
<mission name="All Seals" storageid="11" startvalue="1" endvalue="1" description="You broke all the seals." />
</quest>
<quest name="The White Raven Monastery" startstorageid="62" startstoragevalue="2">
<mission name="Access to the Isle of Kings" storageid="62" endvalue="2">
<missionstate id="2" description="You are a friend of Dalbrect. Since you returned his family brooch he will sail you to the Isle of Kings unless you do something stupid." />
</mission>
<mission name="The Investigation" storageid="17584" startvalue="1" endvalue="2">
<missionstate id="1" description="Investigate the catacombs. Abbot Costello should be interested in information about brother Fugio." />
<missionstate id="2" description="You returned Fugio's Diary. Costello was very thankful about your help and gave you a blessed ankh as reward." />
</mission>
</quest>
<quest name="The Serpentine Tower" startstorageid="17596" startstoragevalue="1">
<mission name="The Academy of Magic Arts Disaster" storageid="17596" endvalue="2">
<missionstate id="1" description="The evil ancient gods teleported you to the Serpentine Tower. You must survive the disaster!" />
<missionstate id="2" description="The earthquake destroyed the Serpentine Tower. There must be a way to get in the undergrounds." />
</mission>
<mission name="The Reward of The Serpentine Tower" storageid="17604" endvalue="1">
<missionstate id="1" description="You have solved The Serpentine Tower live event quest!" />
</mission>
</quest>
<quest name="Killing in the Name of..." startstorageid="17607" startstoragevalue="1">
<!-- Daniel Steelsoul: level 6 to 49 -->
<mission name="Daniel Steelsoul: Trolls" storageid="17633" startvalue="0" endvalue="100" description="You already hunted |STATE|/100 trolls." />
<mission name="Daniel Steelsoul: Trolls" storageid="17633" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Daniel Steelsoul: Goblins" storageid="17634" startvalue="0" endvalue="150" description="You already hunted |STATE|/150 goblins." />
<mission name="Daniel Steelsoul: Goblins" storageid="17634" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Daniel Steelsoul: Rotworms" storageid="17635" startvalue="0" endvalue="150" description="You already hunted |STATE|/150 rotworms." />
<mission name="Daniel Steelsoul: Rotworms" storageid="17635" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Daniel Steelsoul: Cyclopes" storageid="17636" startvalue="0" endvalue="150" description="You already hunted |STATE|/150 cyclopes." />
<mission name="Daniel Steelsoul: Cyclopes" storageid="17636" startvalue="99999" endvalue="99999" description="You have finished the task." />
<!-- killing in the name of rank -->
<mission name="Paw and Fur: Member" storageid="17615" startvalue="0" endvalue="10" description="You are member of the Paw and Fur hunting elite. You currently have |STATE| Paw &amp; Fur points." />
<mission name="Paw and Fur: Ranger" storageid="17615" startvalue="11" endvalue="20" description="You are Ranger of the Paw and Fur hunting elite. You currently have |STATE| Paw &amp; Fur points." />
<mission name="Paw and Fur: Big Game Hunter" storageid="17615" startvalue="21" endvalue="40" description="You are Big Game Hunter in the Paw and Fur hunting elite. You currently have |STATE| Paw &amp; Fur points." />
<mission name="Paw and Fur: Trophy Hunter" storageid="17615" startvalue="41" endvalue="70" description="You are Trophy Hunter in the Paw and Fur hunting elite. You currently have |STATE| Paw &amp; Fur points. Ask Grizzly Adams for 'special task' he might have something for you." />
<mission name="Paw and Fur: Elite Hunter" storageid="17615" startvalue="71" endvalue="100" description="You have obtained the highest possible rank in the Paw and Fur hunting elite, you are Elite Hunter. You currently have |STATE| Paw &amp; Fur points. Ask Grizzly Adams for 'special task' he might have something for you." />
<!-- Grizzly Adams: level 6 to 49 -->
<mission name="Paw and Fur: Crocodiles" storageid="17609" startvalue="0" endvalue="100" description="You already hunted |STATE|/100 crocodiles." />
<mission name="Paw and Fur: Crocodiles" storageid="17609" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Tarantulas" storageid="17610" startvalue="0" endvalue="100" description="You already hunted |STATE|/100 tarantulas." />
<mission name="Paw and Fur: Tarantulas" storageid="17610" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Carniphilas" storageid="17611" startvalue="0" endvalue="50" description="You already hunted |STATE|/50 carniphilas." />
<mission name="Paw and Fur: Carniphilas" storageid="17611" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Apes" storageid="17612" startvalue="0" endvalue="100" description="You already hunted |STATE|/100 apes." />
<mission name="Paw and Fur: Apes" storageid="17612" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Thornback Tortoises" storageid="17613" startvalue="0" endvalue="100" description="You already hunted |STATE|/100 thornback tortoises." />
<mission name="Paw and Fur: Thornback Tortoises" storageid="17613" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Gargoyles" storageid="17614" startvalue="0" endvalue="65" description="You already hunted |STATE|/65 gargoyles." />
<mission name="Paw and Fur: Gargoyles" storageid="17614" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Frost Trolls" storageid="17697" startvalue="0" endvalue="100" description="You already hunted |STATE|/100 frost trolls." />
<mission name="Paw and Fur: Frost Trolls" storageid="17697" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Swamp Trolls" storageid="17698" startvalue="0" endvalue="100" description="You already hunted |STATE|/100 swamp trolls." />
<mission name="Paw and Fur: Swamp Trolls" storageid="17698" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Rats" storageid="17699" startvalue="0" endvalue="25" description="You already hunted |STATE|/25 rats." />
<mission name="Paw and Fur: Rats" storageid="17699" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Wolves" storageid="17700" startvalue="0" endvalue="100" description="You already hunted |STATE|/100 wolves." />
<mission name="Paw and Fur: Wolves" storageid="17700" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Wasps" storageid="17701" startvalue="0" endvalue="100" description="You already hunted |STATE|/100 wasps." />
<mission name="Paw and Fur: Wasps" storageid="17701" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Larvas" storageid="17702" startvalue="0" endvalue="100" description="You already hunted |STATE|/100 larvas." />
<mission name="Paw and Fur: Larvas" storageid="17702" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Dwarfs" storageid="17703" startvalue="0" endvalue="100" description="You already hunted |STATE|/100 dwarfs." />
<mission name="Paw and Fur: Dwarfs" storageid="17703" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Low Undeads" storageid="17704" startvalue="0" endvalue="100" description="You already hunted |STATE|/100 undeads." />
<mission name="Paw and Fur: Low Undeads" storageid="17704" startvalue="99999" endvalue="99999" description="You have finished the task." />
<!--Grizzly Adams: level 50 to 79 -->
<mission name="Paw and Fur: Quara Scouts" storageid="17616" startvalue="0" endvalue="200" description="You already hunted |STATE|/200 quara scouts." />
<mission name="Paw and Fur: Quara Scouts" storageid="17616" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Ancient Scarabs" storageid="17617" startvalue="0" endvalue="125" description="You already hunted |STATE|/125 ancient scarabs." />
<mission name="Paw and Fur: Ancient Scarabs" storageid="17617" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Wyverns" storageid="17618" startvalue="0" endvalue="100" description="You already hunted |STATE|/100 wyverns." />
<mission name="Paw and Fur: Wyverns" storageid="17618" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Bonebeasts" storageid="17619" startvalue="0" endvalue="100" description="You already hunted |STATE|/100 bonebeasts." />
<mission name="Paw and Fur: Bonebeasts" storageid="17619" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Dragons" storageid="17620" startvalue="0" endvalue="200" description="You already hunted |STATE|/200 dragons." />
<mission name="Paw and Fur: Dragons" storageid="17620" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Medium Class Orcs" storageid="17712" startvalue="0" endvalue="300" description="You already hunted |STATE|/300 orcs." />
<mission name="Paw and Fur: High Class Minotaurs" storageid="17713" startvalue="0" endvalue="300" description="You already hunted |STATE|/300 minotaurs." />
<mission name="Paw and Fur: Lizards" storageid="17714" startvalue="0" endvalue="300" description="You already hunted |STATE|/300 lizards." />
<mission name="Paw and Fur: High Class Dwarfs" storageid="17715" startvalue="0" endvalue="300" description="You already hunted |STATE|/300 dwarfs." />
<mission name="Paw and Fur: Medium Undeads" storageid="17716" startvalue="0" endvalue="200" description="You already hunted |STATE|/200 undeads." />
<!--Grizzly Adams: level 80 to 129 -->
<mission name="Paw and Fur: Quara" storageid="17621" startvalue="0" endvalue="600" description="You already hunted |STATE|/600 quara." />
<mission name="Paw and Fur: Giant Spiders" storageid="17622" startvalue="0" endvalue="500" description="You already hunted |STATE|/500 giant spiders." />
<mission name="Paw and Fur: Banshees" storageid="17623" startvalue="0" endvalue="300" description="You already hunted |STATE|/300 banshees." />
<mission name="Paw and Fur: Lichs" storageid="17624" startvalue="0" endvalue="500" description="You already hunted |STATE|/500 lichs." />
<mission name="Paw and Fur: Cults" storageid="17625" startvalue="0" endvalue="500" description="You already hunted |STATE|/500 cults." />
<mission name="Paw and Fur: High Class Orcs" storageid="17717" startvalue="0" endvalue="125" description="You already hunted |STATE|/125 orcs." />
<mission name="Paw and Fur: High Class Orcs" storageid="17717" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Heros" storageid="17718" startvalue="0" endvalue="150" description="You already hunted |STATE|/150 heros." />
<mission name="Paw and Fur: Heros" storageid="17718" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Necromancers" storageid="17719" startvalue="0" endvalue="300" description="You already hunted |STATE|/300 necromancers." />
<mission name="Paw and Fur: Necromancers" storageid="17719" startvalue="99999" endvalue="99999" description="You have finished the task." />
<!--Grizzly Adams: level 130+ -->
<mission name="Paw and Fur: Hydras" storageid="17626" startvalue="0" endvalue="650" description="You already hunted |STATE|/650 hydras." />
<mission name="Paw and Fur: Hydras" storageid="17626" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Serpent Spawns" storageid="17627" startvalue="0" endvalue="800" description="You already hunted |STATE|/800 serpent spawns." />
<mission name="Paw and Fur: Serpent Spawns" storageid="17627" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Behemoths" storageid="17628" startvalue="0" endvalue="700" description="You already hunted |STATE|/700 behemoths." />
<mission name="Paw and Fur: Behemoths" storageid="17628" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Dragon Lords" storageid="17629" startvalue="0" endvalue="600" description="You already hunted |STATE|/600 dragon lords." />
<mission name="Paw and Fur: Dragon Lords" storageid="17629" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Hand of Cursed Fates" storageid="17630" startvalue="0" endvalue="200" description="You already hunted |STATE|/200 hand of cursed fates." />
<mission name="Paw and Fur: Hand of Cursed Fates" storageid="17630" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Juggernauts" storageid="17631" startvalue="0" endvalue="200" description="You already hunted |STATE|/200 juggernauts." />
<mission name="Paw and Fur: Juggernauts" storageid="17631" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Nightmares" storageid="17720" startvalue="0" endvalue="150" description="You already hunted |STATE|/150 nightmares." />
<mission name="Paw and Fur: Nightmares" storageid="17720" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Warlocks" storageid="17721" startvalue="0" endvalue="300" description="You already hunted |STATE|/300 warlocks." />
<mission name="Paw and Fur: Warlocks" storageid="17721" startvalue="99999" endvalue="99999" description="You have finished the task." />
<mission name="Paw and Fur: Demons" storageid="17722" startvalue="0" endvalue="6666" description="You already hunted |STATE|/6666 demons." />
<mission name="Paw and Fur: Demons" storageid="17722" startvalue="99999" endvalue="99999" description="You have finished the task." />
</quest>
<quest name="Young Mage Tasks" startstorageid="17646" startstoragevalue="1">
<mission name="Proof of the trustworthy" storageid="17645" startvalue="0" endvalue="50" description="You already hunted |STATE|/50 amazons." />
<mission name="Reward of the trustworthy" storageid="17646" startvalue="2" endvalue="2" description="You have proved your trustworthy and claimed the reward." />
</quest>
<quest name="Young Paladin Tasks" startstorageid="17647" startstoragevalue="1">
<mission name="Proof of the trustworthy" storageid="17648" startvalue="0" endvalue="50" description="You already hunted |STATE|/50 minotaurs." />
<mission name="Reward of the trustworthy" storageid="17647" startvalue="2" endvalue="2" description="You have proved your trustworthy and claimed the reward." />
</quest>
<quest name="Young Knight Tasks" startstorageid="17650" startstoragevalue="1">
<mission name="Proof of the trustworthy" storageid="17651" startvalue="0" endvalue="50" description="You already hunted |STATE|/50 orcs." />
<mission name="Reward of the trustworthy" storageid="17650" startvalue="2" endvalue="2" description="You have proved your trustworthy and claimed the reward." />
</quest>
</quests>

View File

@ -1,9 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<stages>
<config enabled="1"/>
<stage minlevel="1" maxlevel="20" multiplier="10" />
<stage minlevel="21" maxlevel="40" multiplier="7" />
<stage minlevel="41" maxlevel="60" multiplier="5" />
<stage minlevel="61" maxlevel="80" multiplier="3" />
<stage minlevel="81" multiplier="2" />
<stage minlevel="1" maxlevel="20" multiplier="15" />
<stage minlevel="21" maxlevel="40" multiplier="12" />
<stage minlevel="41" maxlevel="60" multiplier="10" />
<stage minlevel="61" maxlevel="80" multiplier="6" />
<stage minlevel="81" maxlevel="100" multiplier="3" />
<stage minlevel="101" multiplier="2" />
</stages>

View File

@ -85,6 +85,26 @@
<action actionid="82" script="nostalrius/82.lua" />
<action actionid="83" script="nostalrius/83.lua" />
<!-- Pits of Inferno -->
<action actionid="17642" script="pits_of_inferno/oil.lua" />
<action fromaid="17653" toaid="17656" script="pits_of_inferno/hall_of_the_four_ways.lua" />
<action fromaid="2050" toaid="2065" script="pits_of_inferno/levers.lua" />
<action fromaid="3301" toaid="3302" script="pits_of_inferno/ladderLevers.lua" />
<action actionid="50160" script="pits_of_inferno/mazeStone.lua" />
<action actionid="3300" script="pits_of_inferno/stoneLever.lua" />
<action actionid="3304" script="pits_of_inferno/trapLever.lua" />
<action actionid="50106" script="pits_of_inferno/fireThroneLever.lua" />
<action fromaid="50095" toaid="50104" script="pits_of_inferno/bazirWrongLevers.lua" />
<action actionid="50105" script="pits_of_inferno/bazirMazeLever.lua" />
<action fromaid="39511" toaid="39512" script="pits_of_inferno/bazirMirror.lua" />
<!-- Serpentine Tower -->
<action actionid="17597" script="serpentine_tower/release_fire_elemental.lua" />
<action actionid="17598" script="serpentine_tower/release_vampire.lua" />
<action actionid="17599" script="serpentine_tower/release_behemoth.lua" />
<action actionid="17600" script="serpentine_tower/behemoth_lever.lua" />
<action actionid="17601" script="serpentine_tower/vampire_lever.lua" />
<!-- Meriana Quest -->
<action actionid="17525" script="meriana_quest/tortoise_egg.lua" />
<action fromaid="17528" toaid="17530" script="meriana_quest/pirate_map.lua" />
@ -93,16 +113,19 @@
<action fromid="6087" toid="6090" script="liberty_bay/cult_hymn.lua"/>
<action actionid="33216" script="liberty_bay/cult_piano_teleport.lua"/>
<!-- Nostalrius Default Actions -->
<!-- Sabrehaven Default Actions -->
<!-- Furniture Parcels -->
<action fromid="2775" toid="2812" script="misc/furniture_parcels.lua" />
<action fromid="5086" toid="5088" script="misc/furniture_parcels.lua" />
<action fromid="6114" toid="6115" script="misc/furniture_parcels.lua" />
<action fromid="6371" toid="6372" script="misc/furniture_parcels.lua" />
<!-- Instruments -->
<action fromid="2948" toid="2950" script="misc/instruments.lua" />
<action fromid="2952" toid="2965" script="misc/instruments.lua" />
<action itemid="3219" script="misc/instruments.lua" />
<action itemid="5786" script="misc/instruments.lua" />
<action itemid="6572" script="misc/instruments.lua" />
<!-- Strange Levers -->
<action fromid="2566" toid="2567" script="misc/strange_lever.lua" />
@ -145,6 +168,7 @@
<action itemid="4852" script="misc/ectoplasm_container.lua" />
<action itemid="3217" script="misc/letter_bag.lua" />
<action fromid="3603" toid="3605" script="misc/baking.lua" />
<action itemid="6276" script="misc/baking.lua" />
<action itemid="5466" script="misc/distilling_rum.lua" />
<action fromid="3264" toid="3276" script="misc/weapons.lua" />
<action fromid="3278" toid="3286" script="misc/weapons.lua" />
@ -154,16 +178,30 @@
<action fromid="3309" toid="3329" script="misc/weapons.lua" />
<action fromid="3331" toid="3348" script="misc/weapons.lua" />
<action itemid="3208" script="misc/weapons.lua" />
<action itemid="6101" script="misc/weapons.lua" />
<action itemid="6527" script="misc/weapons.lua" />
<action itemid="6553" script="misc/weapons.lua" />
<action itemid="3059" script="misc/spellbook.lua" />
<action fromid="5792" toid="5797" script="misc/dice.lua" />
<action itemid="3114" script="misc/skull_candle.lua" />
<action itemid="5957" script="misc/lottery_ticket.lua" />
<action itemid="5776" script="misc/sabrehaven_talon.lua" />
<action itemid="5928" script="misc/catch_fish.lua" />
<action itemid="6279" script="misc/party_cake.lua" />
<action itemid="6387" script="misc/christmas_card.lua" />
<action itemid="6558" script="misc/concentrated_demonic_blood.lua" />
<action itemid="6561" script="misc/ceremonial_ankh.lua" />
<action itemid="6576" script="misc/fireworks_rocket.lua" />
<action itemid="6578" script="misc/party_hat.lua" />
<action itemid="6549" script="misc/djinn_quest_pass.lua" />
<action itemid="6551" script="misc/djinn_quest_pass.lua" />
<action itemid="3252" script="misc/postman_quest_pass.lua" />
<!-- Dolls -->
<action itemid="5080" script="misc/dolls.lua" />
<action itemid="5668" script="misc/dolls.lua" />
<action itemid="5791" script="misc/dolls.lua" />
<action itemid="6511" script="misc/dolls.lua" />
<!-- Keys -->
<action fromid="2967" toid="2973" script="misc/key.lua" />
@ -174,7 +212,8 @@
<action itemid="2668" script="misc/time.lua" />
<action itemid="2771" script="misc/time.lua" />
<action itemid="2906" script="misc/time.lua" />
<action itemid="6092" script="misc/time.lua" />
<!-- Tools -->
<action itemid="3003" script="misc/rope.lua" />
<action itemid="3304" script="misc/crowbar.lua" />
@ -197,6 +236,9 @@
<action itemid="4863" script="misc/butterfly_conservation_kit.lua" />
<action itemid="5467" script="misc/fire_bug.lua" />
<action itemid="5938" script="misc/ceirons_waterskin.lua" />
<action itemid="3031" script="misc/changegold.lua" />
<action itemid="3035" script="misc/changegold.lua" />
<action itemid="3043" script="misc/changegold.lua" />
<!-- Chests -->
<action itemid="2479" script="misc/chests.lua" />
@ -298,6 +340,18 @@
<action itemid="5096" script="misc/food.lua" />
<action itemid="5678" script="misc/food.lua" />
<action itemid="6125" script="misc/food.lua" />
<action itemid="6277" script="misc/food.lua" />
<action itemid="6278" script="misc/food.lua" />
<action itemid="6392" script="misc/food.lua" />
<action itemid="6393" script="misc/food.lua" />
<action itemid="6500" script="misc/food.lua" />
<action itemid="6541" script="misc/food.lua" />
<action itemid="6542" script="misc/food.lua" />
<action itemid="6543" script="misc/food.lua" />
<action itemid="6544" script="misc/food.lua" />
<action itemid="6545" script="misc/food.lua" />
<action itemid="6569" script="misc/food.lua" />
<action itemid="6574" script="misc/food.lua" />
<!-- Passthrough -->
<action fromid="2334" toid="2341" script="misc/doors.lua" />
@ -325,6 +379,10 @@
<action itemid="5280" script="misc/doors.lua" />
<action itemid="5732" script="misc/doors.lua" />
<action itemid="5735" script="misc/doors.lua" />
<action itemid="6191" script="misc/doors.lua" />
<action itemid="6194" script="misc/doors.lua" />
<action itemid="6248" script="misc/doors.lua" />
<action itemid="6251" script="misc/doors.lua" />
<!-- Level Doors -->
<action itemid="1646" script="misc/doors.lua" />
@ -341,6 +399,10 @@
<action itemid="5129" script="misc/doors.lua" />
<action itemid="5291" script="misc/doors.lua" />
<action itemid="5293" script="misc/doors.lua" />
<action itemid="6205" script="misc/doors.lua" />
<action itemid="6207" script="misc/doors.lua" />
<action itemid="6262" script="misc/doors.lua" />
<action itemid="6264" script="misc/doors.lua" />
<!-- Quest Doors -->
<action itemid="1642" script="misc/doors.lua" />
@ -359,6 +421,10 @@
<action itemid="5289" script="misc/doors.lua" />
<action itemid="5745" script="misc/doors.lua" />
<action itemid="5749" script="misc/doors.lua" />
<action itemid="6201" script="misc/doors.lua" />
<action itemid="6203" script="misc/doors.lua" />
<action itemid="6258" script="misc/doors.lua" />
<action itemid="6260" script="misc/doors.lua" />
<!-- Closed Normal Doors -->
<action itemid="2177" script="misc/doors.lua" />
@ -400,6 +466,14 @@
<action itemid="5516" script="misc/doors.lua" />
<action itemid="5733" script="misc/doors.lua" />
<action itemid="5736" script="misc/doors.lua" />
<action itemid="6192" script="misc/doors.lua" />
<action itemid="6195" script="misc/doors.lua" />
<action itemid="6197" script="misc/doors.lua" />
<action itemid="6199" script="misc/doors.lua" />
<action itemid="6249" script="misc/doors.lua" />
<action itemid="6252" script="misc/doors.lua" />
<action itemid="6254" script="misc/doors.lua" />
<action itemid="6256" script="misc/doors.lua" />
<!-- Open Vertical Doors -->
<action itemid="1630" script="misc/doors.lua" />
@ -437,6 +511,14 @@
<action itemid="5515" script="misc/doors.lua" />
<action itemid="5737" script="misc/doors.lua" />
<action itemid="5748" script="misc/doors.lua" />
<action itemid="6193" script="misc/doors.lua" />
<action itemid="6198" script="misc/doors.lua" />
<action itemid="6202" script="misc/doors.lua" />
<action itemid="6206" script="misc/doors.lua" />
<action itemid="6250" script="misc/doors.lua" />
<action itemid="6255" script="misc/doors.lua" />
<action itemid="6259" script="misc/doors.lua" />
<action itemid="6263" script="misc/doors.lua" />
<!-- Open Horizontal Doors -->
<action itemid="1633" script="misc/doors.lua" />
@ -474,4 +556,12 @@
<action itemid="5517" script="misc/doors.lua" />
<action itemid="5734" script="misc/doors.lua" />
<action itemid="5746" script="misc/doors.lua" />
<action itemid="6196" script="misc/doors.lua" />
<action itemid="6200" script="misc/doors.lua" />
<action itemid="6204" script="misc/doors.lua" />
<action itemid="6208" script="misc/doors.lua" />
<action itemid="6253" script="misc/doors.lua" />
<action itemid="6257" script="misc/doors.lua" />
<action itemid="6261" script="misc/doors.lua" />
<action itemid="6265" script="misc/doors.lua" />
</actions>

View File

@ -1,5 +1,5 @@
local ovens = {
2535, 2537, 2539, 2541, 3510
2535, 2537, 2539, 2541, 3510, 6355, 6357, 6359, 6361
}
local milestone = {
@ -29,6 +29,12 @@ function onUse(player, item, fromPosition, target, toPosition)
item:remove(1)
return true
end
elseif item:getId() == 6276 then
if table.contains(ovens, target:getId()) then
Game.createItem(6277, 1, target:getPosition())
item:remove(1)
return true
end
elseif item:getId() == 3605 then
if table.contains(milestone, target:getId()) then
local parent = item:getParent()

View File

@ -0,0 +1,16 @@
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
if target.itemid ~= 5553 then
return false
end
if math.random(2) ~= 1 then
player:say("The golden fish escaped.", TALKTYPE_MONSTER_SAY)
return true
end
player:say("You catch a golden fish in the bowl.", TALKTYPE_MONSTER_SAY)
item:transform(5929)
target:remove()
toPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE)
return true
end

View File

@ -0,0 +1,18 @@
local blessings = {
{key = 101, value = 1, name = 'Wisdom of Solitude'},
{key = 102, value = 1, name = 'Spark of the Phoenix'},
{key = 103, value = 3, name = 'Fire of the Suns'},
{key = 104, value = 1, name = 'Spiritual Shielding'},
{key = 105, value = 1, name = 'Embrace of Tibia'}
}
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
local result, bless = 'Received blessings:'
for i = 1, #blessings do
bless = blessings[i]
result = (player:getStorageValue(bless.key) == bless.value) and result .. '\n' .. bless.name or result
end
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 20 > result:len() and 'No blessings received.' or result)
return true
end

View File

@ -0,0 +1,35 @@
local config = {
[3031] = {changeTo = 3035},
[3035] = {changeBack = 3031, changeTo = 3043},
[3043] = {changeBack = 3035}
}
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
local ring = player:getSlotItem(CONST_SLOT_RING)
if ring == nil or ring:getId() ~= 3007 then
return false
end
local ringCharges = ring:getAttribute(ITEM_ATTRIBUTE_CHARGES)
local coin = config[item:getId()]
if coin.changeTo and item.type == 100 then
item:remove()
player:addItem(coin.changeTo, 1)
if ringCharges > 1 then
ring:setAttribute(ITEM_ATTRIBUTE_CHARGES,(ringCharges-1))
else
ring:remove(1)
end
elseif coin.changeBack then
item:remove(1)
player:addItem(coin.changeBack, 100)
if ringCharges > 1 then
ring:setAttribute(ITEM_ATTRIBUTE_CHARGES,(ringCharges-1))
else
ring:remove(1)
end
else
return false
end
return true
end

View File

@ -0,0 +1,5 @@
function onUse(player, item, fromPosition, target, toPosition)
item:getPosition():sendMagicEffect(CONST_ME_SOUND_YELLOW)
item:getPosition():sendMonsterSay("Merry Christmas, " .. player:getName() .. "!")
return true
end

View File

@ -0,0 +1,5 @@
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
item:getPosition():sendMagicEffect(CONST_ME_DRAWBLOOD)
item:transform(2874, math.random(10, 11))
return true
end

View File

@ -0,0 +1,26 @@
local greenDjinnItem = 6549
local blueDjinnItem = 6551
function onUse(player, item, fromPosition, target, toPosition)
if player:getStorageValue(278) > 1 then
player:sendTextMessage(MESSAGE_INFO_DESCR, "You have already finished one of the djinn quest or your quest is in-progress.")
return true
end
if item:getId() == greenDjinnItem then
player:setStorageValue(278, 3)
player:setStorageValue(286, 3)
player:setStorageValue(287, 3)
player:setStorageValue(288, 3)
elseif item:getId() == blueDjinnItem then
player:setStorageValue(278, 2)
player:setStorageValue(280, 2)
player:setStorageValue(281, 2)
player:setStorageValue(282, 2)
player:setStorageValue(283, 3)
end
item:getPosition():sendMagicEffect(3)
item:remove()
return true
end

View File

@ -18,6 +18,14 @@ local dolls = {
"Grooaaaaar*cough*",
"Aaa... CHOO!",
"You... will.... burn!!"
},
[6511] = {
"Ho ho ho",
"Jingle bells, jingle bells...",
"Have you been naughty?",
"Have you been nice?",
"Merry Christmas!",
"Can you stop squeezing me now... I'm starting to feel a little sick."
}
}
@ -41,10 +49,23 @@ function onUse(player, item, fromPosition, target, toPosition, isHotkey)
elseif random == 5 then
doTargetCombatHealth(0, player, COMBAT_PHYSICALDAMAGE, -1, -1, CONST_ME_EXPLOSIONHIT)
end
if configManager.getNumber(configKeys.CLIENT_VERSION) >= 790 then
item:transform(6566)
item:decay()
end
elseif item.itemid == 5668 then
fromPosition:sendMagicEffect(CONST_ME_MAGIC_RED)
item:transform(item.itemid + 1)
item:decay()
elseif item.itemid == 5080 then
if configManager.getNumber(configKeys.CLIENT_VERSION) >= 790 then
item:transform(6568)
item:decay()
end
elseif item.itemid == 6511 then
item:transform(6567)
item:decay()
end
sound = sound:gsub('|PLAYERNAME|', player:getName())

View File

@ -1,5 +1,5 @@
local lockedDoors = {
1628, 1631, 1650, 1653, 1668, 1671, 1682, 1691, 5006, 5007, 5097, 5106, 5115, 5124, 5133, 5136, 5139, 5142, 5277, 5280, 5732, 5735
1628, 1631, 1650, 1653, 1668, 1671, 1682, 1691, 5006, 5007, 5097, 5106, 5115, 5124, 5133, 5136, 5139, 5142, 5277, 5280, 5732, 5735, 6191, 6194, 6248, 6251
}
local closedNormalDoors = {
@ -43,6 +43,14 @@ local closedNormalDoors = {
[5516] = 5517,
[5733] = 5734,
[5736] = 5737,
[6192] = 6193,
[6195] = 6196,
[6197] = 6198,
[6199] = 6200,
[6249] = 6250,
[6252] = 6253,
[6254] = 6255,
[6256] = 6257,
}
local openVerticalDoors = {
@ -81,6 +89,14 @@ local openVerticalDoors = {
[5515] = 5514,
[5737] = 5736,
[5748] = 5749,
[6193] = 6192,
[6198] = 6197,
[6202] = 6201,
[6206] = 6205,
[6250] = 6249,
[6255] = 6254,
[6259] = 6258,
[6263] = 6262,
}
local openHorizontalDoors = {
@ -119,6 +135,14 @@ local openHorizontalDoors = {
[5517] = 5516,
[5734] = 5733,
[5746] = 5745,
[6196] = 6195,
[6200] = 6199,
[6204] = 6203,
[6208] = 6207,
[6253] = 6252,
[6257] = 6256,
[6261] = 6260,
[6265] = 6264,
}
local levelDoors = {
@ -131,12 +155,15 @@ local levelDoors = {
[1687] = 1688,
[1696] = 1697,
[5102] = 5103,
[5104] = 5105,
[5111] = 5112,
[5120] = 5121,
[5129] = 5130,
[5291] = 5292,
[5293] = 5294,
[6205] = 6206,
[6207] = 6208,
[6262] = 6263,
[6264] = 6265,
}
local questDoors = {
@ -148,6 +175,7 @@ local questDoors = {
[1676] = 1677,
[1689] = 1690,
[1698] = 1699,
[5104] = 5105,
[5113] = 5114,
[5122] = 5123,
[5131] = 5132,
@ -155,6 +183,10 @@ local questDoors = {
[5289] = 5290,
[5745] = 5746,
[5749] = 5748,
[6201] = 6202,
[6203] = 6204,
[6258] = 6259,
[6260] = 6261,
}
local passthrough = {

View File

@ -0,0 +1,17 @@
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
if fromPosition.x ~= CONTAINER_POSITION then
fromPosition:sendMagicEffect(math.random(CONST_ME_FIREWORK_YELLOW, CONST_ME_FIREWORK_BLUE))
else
local pos = player:getPosition()
pos:sendMagicEffect(CONST_ME_HITBYFIRE)
pos:sendMagicEffect(CONST_ME_EXPLOSIONAREA)
player:say("Ouch! Rather place it on the ground next time.", TALKTYPE_MONSTER_SAY)
if (player:getHealth() > 10) then
player:addHealth(-10)
end
end
item:remove()
return true
end

View File

@ -90,7 +90,11 @@ function onUse(player, item, fromPosition, target, toPosition)
elseif item:getFluidType() == FLUID_NONE then
player:sendTextMessage(MESSAGE_STATUS_SMALL, "It is empty.")
else
if item:getFluidType() == FLUID_BLOOD and target:getActionId() == 17639 then
doRelocate({x = 32791, y = 32334, z = 09}, {x = 32791, y = 32332, z = 10})
Position({x = 32791, y = 32332, z = 10}):sendMonsterSay("Muahahahaha...")
end
Game.createItem(2886, item.type, toPosition):decay()
item:transform(item:getId(), 0)
end

View File

@ -1,3 +1,60 @@
local foods = {
[3250] = "Crunch.", -- the carrot of doom
[3577] = "Munch.", -- meat
[3578] = "Munch.", -- fish
[3579] = "Mmmm.", -- salmon
[3580] = "Munch.", -- fish
[3581] = "Gulp.", -- shrimp
[3582] = "Chomp.", -- ham
[3583] = "Chomp.", -- dragon ham
[3584] = "Yum.", -- pear
[3585] = "Yum.", -- red apple
[3586] = "Yum.", -- orange
[3587] = "Yum.", -- banana
[3588] = "Yum.", -- blueberry
[3589] = "Slurp.", -- coconut
[3590] = "Yum.", -- cherry
[3591] = "Yum.", -- strawberry
[3592] = "Yum.", -- grapes
[3593] = "Yum.", -- melon
[3594] = "Munch.", -- pumpkin
[3595] = "Crunch.", -- carrot
[3596] = "Munch.", -- tomato
[3597] = "Crunch.", -- corncob
[3598] = "Crunch.", -- cookie
[3599] = "Munch.", -- candy cane
[3600] = "Crunch.", -- bread
[3601] = "Crunch.", -- roll
[3602] = "Crunch.", -- brown bread
[3606] = "Gulp.", -- egg
[3607] = "Smack.", -- cheese
[3723] = "Munch.", -- white mushroom
[3724] = "Munch.", -- red mushroom
[3725] = "Munch.", -- brown mushroom
[3726] = "Munch.", -- orange mushroom
[3727] = "Munch.", -- wood mushroom
[3728] = "Munch.", -- dark mushroom
[3729] = "Munch.", -- some mushrooms
[3730] = "Munch.", -- some mushrooms
[3731] = "Munch.", -- fire mushroom
[3732] = "Munch.", -- green mushroom
[5096] = "Yum.", -- mango
[5678] = "Gulp.", -- tortoise egg
[6125] = "Gulp.", -- tortoise egg from Nargor
[6277] = "Mmmm.", -- cake
[6278] = "Mmmm.", -- cake
[6392] = "Mmmm.", -- valentine's cake
[6393] = "Mmmm.", -- cream cake
[6500] = "Mmmm.", -- gingerbreadman
[6541] = "Gulp.", -- coloured egg
[6542] = "Gulp.", -- coloured egg
[6543] = "Gulp.", -- coloured egg
[6544] = "Gulp.", -- coloured egg
[6545] = "Gulp.", -- coloured egg
[6569] = "Mmmm.", -- candy
[6574] = "Mmmm.", -- bar of chocolate
}
function onUse(player, item, fromPosition, target, toPosition)
local itemType = ItemType(item:getId())
local condition = player:getCondition(CONDITION_REGENERATION, CONDITIONID_DEFAULT)
@ -6,6 +63,10 @@ function onUse(player, item, fromPosition, target, toPosition)
else
player:feed(itemType:getNutrition() * 12)
item:remove(1)
if configManager.getNumber(configKeys.CLIENT_VERSION) >= 790 then
player:say(foods[item:getId()] or "Munch.", TALKTYPE_MONSTER_SAY)
end
end
return true

View File

@ -40,6 +40,10 @@ local parcels = {
[5086] = 5046,
[5087] = 5055,
[5088] = 5056,
[6114] = 6111,
[6115] = 6109,
[6371] = 6355,
[6372] = 6367,
}
function onUse(player, item, fromPosition, target, toPosition)

View File

@ -17,6 +17,11 @@ function onUse(player, item, fromPosition, target, toPosition)
else
item:getPosition():sendMagicEffect(CONST_ME_SOUND_YELLOW)
end
elseif item:getId() == 6572 then
item:getPosition():sendMagicEffect(CONST_ME_SOUND_GREEN)
item:getPosition():sendMonsterSay("TOOOOOOT")
item:transform(6573)
item:decay()
end
return true

View File

@ -39,6 +39,14 @@ local closedDoors = {
[5733] = 5732,
[5735] = 5737,
[5736] = 5735,
[6191] = 6193,
[6192] = 6191,
[6194] = 6196,
[6195] = 6194,
[6248] = 6250,
[6249] = 6248,
[6251] = 6253,
[6252] = 6251,
}
local openDoors = {
@ -62,6 +70,10 @@ local openDoors = {
[5282] = 5280,
[5734] = 5732,
[5737] = 5735,
[6193] = 6191,
[6196] = 6194,
[6250] = 6248,
[6253] = 6251,
}
function onUse(player, item, fromPosition, target, toPosition)

View File

@ -1,3 +1,5 @@
local fruits = {3584, 3585, 3586, 3587, 3588, 3589, 3590, 3591, 3592, 3593, 3595, 3596, 5096}
function onUse(player, item, fromPosition, target, toPosition)
if not target:isItem() then
return false
@ -7,6 +9,11 @@ function onUse(player, item, fromPosition, target, toPosition)
target:transform(2977, 1)
target:decay()
return true
elseif isInArray(fruits, target:getId()) and player:removeItem(6277, 1) then
target:remove(1)
player:addItem(6278, 1)
player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN)
return true
end
return false
end
end

View File

@ -0,0 +1,6 @@
function onUse(player, item, fromPosition, target, toPosition)
item:getPosition():sendMagicEffect(CONST_ME_POFF)
item:transform(6278, 1)
item:getPosition():sendMonsterSay(player:getName() .. " blew out the candle.")
return true
end

View File

@ -0,0 +1,9 @@
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
local slot = player:getSlotItem(CONST_SLOT_HEAD)
if slot and item.uid == slot.uid then
player:getPosition():sendMagicEffect(CONST_ME_GIFT_WRAPS)
return true
end
return false
end

View File

@ -1,3 +1,51 @@
local pitsOfInfernoLava = {
Position(32808, 32336, 11),
Position(32809, 32336, 11),
Position(32810, 32336, 11),
Position(32808, 32334, 11),
Position(32807, 32334, 11),
Position(32807, 32335, 11),
Position(32807, 32336, 11),
Position(32807, 32337, 11),
Position(32806, 32337, 11),
Position(32805, 32337, 11),
Position(32805, 32338, 11),
Position(32805, 32339, 11),
Position(32806, 32339, 11),
Position(32806, 32338, 11),
Position(32807, 32338, 11),
Position(32808, 32338, 11),
Position(32808, 32337, 11),
Position(32809, 32337, 11),
Position(32810, 32337, 11),
Position(32811, 32337, 11),
Position(32811, 32338, 11),
Position(32806, 32338, 11),
Position(32810, 32338, 11),
Position(32810, 32339, 11),
Position(32809, 32339, 11),
Position(32809, 32338, 11),
Position(32811, 32336, 11),
Position(32811, 32335, 11),
Position(32810, 32335, 11),
Position(32809, 32335, 11),
Position(32808, 32335, 11),
Position(32809, 32334, 11),
Position(32809, 32333, 11),
Position(32810, 32333, 11),
Position(32811, 32333, 11),
Position(32806, 32338, 11),
Position(32810, 32334, 11),
Position(32811, 32334, 11),
Position(32812, 32334, 11),
Position(32813, 32334, 11),
Position(32812, 32333, 11),
Position(32810, 32334, 11),
Position(32812, 32335, 11),
Position(32813, 32335, 11),
Position(32813, 32333, 11)
}
function onUse(player, item, fromPosition, target, toPosition)
local tile = Tile(toPosition)
if not tile then
@ -29,6 +77,13 @@ function onUse(player, item, fromPosition, target, toPosition)
Game.sendMagicEffect({x = 32356, y = 32074, z = 10}, 3)
doTargetCombatHealth(0, player, COMBAT_PHYSICALDAMAGE, -50, -50)
return true
elseif target:getActionId() == 17643 then
for i = 1, #pitsOfInfernoLava do
Game.createItem(5815, 1, pitsOfInfernoLava[i])
end
target:transform(3141)
toPosition:sendMagicEffect(CONST_ME_POFF)
return true
end
return false
end

View File

@ -0,0 +1,22 @@
function onUse(player, item, fromPosition, target, toPosition)
if player:getStorageValue(250) == 5 then
player:sendTextMessage(MESSAGE_INFO_DESCR, "You have already finished The Postman Missions.")
return true
end
player:setStorageValue(227, 6)
player:setStorageValue(228, 3)
player:setStorageValue(229, 4)
player:setStorageValue(230, 21)
player:setStorageValue(231, 3)
player:setStorageValue(233, 11)
player:setStorageValue(234, 8)
player:setStorageValue(242, 2)
player:setStorageValue(244, 3)
player:setStorageValue(245, 3)
player:setStorageValue(250, 5)
item:getPosition():sendMagicEffect(CONST_ME_SOUND_GREEN)
item:remove()
return true
end

View File

@ -1,6 +1,6 @@
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
-- The Shattered Isles Parrot ring
if target.itemid == 6094 then
if target:getId() == 6094 then
if player:getStorageValue(17502) == 1 and player:getStorageValue(17503) ~= 1 then
toPosition:sendMagicEffect(CONST_ME_POFF)
Game.createItem(6093, 1, Position(32422, 32770, 1))

View File

@ -1,11 +1,9 @@
function onUse(player, item, fromPosition, target, toPosition)
if item:getId() == 2772 and Game.isItemThere({x = 33148, y = 32867, z = 09}, 2129) and Game.isItemThere ({x = 33149, y = 32867, z = 09}, 2129) and Game.isItemThere ({x = 33148, y = 32868, z = 09}, 2129) and Game.isItemThere ({x = 33149, y = 32868, z = 09}, 2129) then
if item:getId() == 2772 and Game.isItemThere({x = 33148, y = 32867, z = 09}, 2129) and Game.isItemThere ({x = 33149, y = 32867, z = 09}, 2129) then
item:transform(2773, 1)
item:decay()
Game.removeItemOnMap({x = 33148, y = 32867, z = 09}, 2129)
Game.removeItemOnMap({x = 33149, y = 32867, z = 09}, 2129)
Game.removeItemOnMap({x = 33148, y = 32868, z = 09}, 2129)
Game.removeItemOnMap({x = 33149, y = 32868, z = 09}, 2129)
elseif item:getId() == 2772 then
item:transform(2773, 1)
item:decay()
@ -17,12 +15,8 @@ function onUse(player, item, fromPosition, target, toPosition)
item:decay()
doRelocate({x = 33148, y = 32867, z = 09}, {x = 33148, y = 32869, z = 09})
doRelocate({x = 33149, y = 32867, z = 09}, {x = 33149, y = 32869, z = 09})
doRelocate({x = 33148, y = 32868, z = 09}, {x = 33148, y = 32869, z = 09})
doRelocate({x = 33149, y = 32868, z = 09},{x = 33149, y = 32869, z = 09})
Game.createItem(2129, 1, {x = 33148, y = 32867, z = 09})
Game.createItem(2129, 1, {x = 33149, y = 32867, z = 09})
Game.createItem(2129, 1, {x = 33148, y = 32868, z = 09})
Game.createItem(2129, 1, {x = 33149, y = 32868, z = 09})
end
return true
end

View File

@ -1,7 +1,15 @@
function onUse(player, item, fromPosition, target, toPosition)
if item:getId() == 2772 then
if item:getId() == 2772 and Game.isItemThere({x = 33147, y = 32862, z = 9}, 3246) and Game.isItemThere({x = 33144, y = 32868, z = 8}, 1653) and getGlobalStorageValue(21411) == -1 then
item:transform(2773, 1)
item:decay()
Game.sendMagicEffect({x = 33147, y = 32862, z = 9}, CONST_ME_SOUND_WHITE)
Game.sendMagicEffect({x = 33145, y = 32870, z = 8}, CONST_ME_SOUND_YELLOW)
doRelocate({x = 33147, y = 32862, z = 9}, {x = 33145, y = 32870, z = 8})
Game.removeItemOnMap({x = 33144, y = 32868, z = 8}, 1653)
Game.createItem(1654, 1, {x = 33144, y = 32868, z = 8})
setGlobalStorageValue(21411, 1)
player:setStorageValue(17605, 1)
broadcastMessage("The player " .. player:getName() .. " have solved the Serpentine Tower!", MESSAGE_STATUS_WARNING)
elseif item:getId() == 2773 then
item:transform(2772, 1)
item:decay()

View File

@ -0,0 +1,11 @@
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
local portal = Tile(Position(32816, 32345, 13)):getItemById(1949)
if not portal then
local item = Game.createItem(1949, 1, Position(32816, 32345, 13))
item:setMovementId(17686)
else
portal:remove()
end
item:transform(item.itemid == 2772 and 2773 or 2772)
return true
end

View File

@ -0,0 +1,30 @@
local config = {
[39511] = {
fromPosition = Position(32739, 32392, 14),
toPosition = Position(32739, 32391, 14)
},
[39512] = {
teleportPlayer = true,
fromPosition = Position(32739, 32391, 14),
toPosition = Position(32739, 32392, 14)
}
}
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
local useItem = config[item:getActionId()]
if not useItem then
return true
end
if useItem.teleportPlayer then
player:teleportTo(Position(32712, 32392, 13))
player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
player:say('Beauty has to be rewarded! Muahahaha!', TALKTYPE_MONSTER_SAY)
end
local tapestry = Tile(useItem.fromPosition):getItemById(6433)
if tapestry then
tapestry:moveTo(useItem.toPosition)
end
return true
end

View File

@ -0,0 +1,8 @@
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
if item.itemid == 2772 then
player:teleportTo(Position(32806, 32328, 15))
player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
item:transform(2773)
end
return true
end

View File

@ -0,0 +1,20 @@
local lava = {
Position(32912, 32209, 15),
Position(32913, 32209, 15),
Position(32912, 32210, 15),
Position(32913, 32210, 15)
}
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
local lavaTile
for i = 1, #lava do
lavaTile = Tile(lava[i]):getGround()
if lavaTile and isInArray({410, 727}, lavaTile.itemid) then
lavaTile:transform(lavaTile.itemid == 727 and 410 or 727)
lava[i]:sendMagicEffect(CONST_ME_POFF)
end
end
item:transform(item.itemid == 2772 and 2773 or 2772)
return true
end

View File

@ -0,0 +1,37 @@
local config = {
[17653] = { doorPosition = {x = 32833, y = 32333, z = 11}, vocationIds = {4, 8} },
[17656] = { doorPosition = {x = 32835, y = 32333, z = 11}, vocationIds = {1, 5} },
[17655] = { doorPosition = {x = 32831, y = 32333, z = 11}, vocationIds = {3, 7} },
[17654] = { doorPosition = {x = 32837, y = 32333, z = 11}, vocationIds = {2, 6} }
}
local function doTransformDoors(position)
local tile = Tile(Position(position))
if tile then
local lockedDoor = tile:getItemById(1628)
local closedDoor = tile:getItemById(1629)
local openDoor = tile:getItemById(1630)
if lockedDoor then
lockedDoor:transform(1629, 1)
lockedDoor:decay()
elseif closedDoor then
closedDoor:transform(1628, 1)
closedDoor:decay()
elseif openDoor then
openDoor:transform(1628, 1)
openDoor:decay()
end
end
end
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
local configValue = config[item:getActionId()];
if isInArray(configValue.vocationIds, player:getVocation():getId()) then
doTransformDoors(configValue.doorPosition)
Position(configValue.doorPosition):sendMagicEffect(CONST_ME_FIREAREA)
item:transform(item.itemid == 2772 and 2773 or 2772)
return true
end
return false
end

View File

@ -0,0 +1,30 @@
local pos = { Position(32861, 32305, 11), Position(32860, 32313, 11) }
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
if item:getId() ~= 2772 then
return false
end
item:transform(2773)
if item:getActionId() == 3301 then
local lava = Tile(pos[1]):getItemById(727)
if lava then
lava:transform(1771)
end
local dirtId, dirtItem = { 4797, 4799 }
for i = 1, #dirtId do
dirtItem = Tile(pos[1]):getItemById(dirtId[i])
if dirtItem then
dirtItem:remove()
end
end
elseif item:getActionId() == 3302 then
local item = Tile(pos[2]):getItemById(389)
if item then
item:remove()
end
end
return true
end

View File

@ -0,0 +1,62 @@
local text = {
[1] = 'first', [2] = 'second', [3] = 'third', [4] = 'fourth', [5] = 'fifth',
[6] = 'sixth', [7] = 'seventh', [8] = 'eighth', [9] = 'ninth', [10] = 'tenth',
[11] = 'eleventh', [12] = 'twelfth', [13] = 'thirteenth', [14] = 'fourteenth', [15] = 'fifteenth'
}
local stonePositions = {
Position(32851, 32333, 12),
Position(32852, 32333, 12)
}
local function createStones()
for i = 1, #stonePositions do
Game.createItem(1791, 1, stonePositions[i])
end
setGlobalStorageValue(17657, 0)
end
local function revertLever(position)
local leverItem = Tile(position):getItemById(2773)
if leverItem then
leverItem:transform(2772)
end
end
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
if item:getId() ~= 2772 then
return false
end
local leverCount = math.max(0, getGlobalStorageValue(17657))
if item:getActionId() > 2049 and item:getActionId() < 2065 then
local number = item:getActionId() - 2049
if leverCount + 1 ~= number then
return false
end
setGlobalStorageValue(17657, number)
player:say('You flipped the ' .. text[number] .. ' lever. Hurry up and find the next one!', TALKTYPE_MONSTER_SAY, false, player, toPosition)
elseif item:getActionId() == 2065 then
if leverCount ~= 15 then
player:say('The final lever won\'t budge... yet.', TALKTYPE_MONSTER_SAY)
return true
end
local stone
for i = 1, #stonePositions do
stone = Tile(stonePositions[i]):getItemById(1791)
if stone then
stone:remove()
stonePositions[i]:sendMagicEffect(CONST_ME_EXPLOSIONAREA)
end
end
addEvent(createStones, 15 * 60 * 1000)
end
item:transform(2773)
addEvent(revertLever, 15 * 60 * 1000, toPosition)
return true
end

View File

@ -0,0 +1,16 @@
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
if item.itemid == 2773 then
return false
end
toPosition.x = toPosition.x - 1
toPosition.y = toPosition.y + 1
local stone = Tile(toPosition):getItemById(1791)
if stone then
stone:remove()
end
item:transform(2773)
return true
end

View File

@ -0,0 +1,33 @@
local bridgePosition = Position(32801, 32336, 11)
local function revertBridge()
Tile(bridgePosition):getItemById(409):transform(622)
end
local function revertLever(position)
local leverItem = Tile(position):getItemById(2773)
if leverItem then
leverItem:transform(2772)
end
end
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
if item.itemid ~= 2772 then
return false
end
if not Tile(Position(32795, 32337, 11)):getItemById(2886, FLUID_OIL) then
player:say('The lever is creaking and rusty.', TALKTYPE_MONSTER_SAY)
return true
end
local water = Tile(bridgePosition):getItemById(622)
if water then
water:transform(409)
addEvent(revertBridge, 10 * 60 * 1000)
end
item:transform(2773)
addEvent(revertLever, 10 * 60 * 1000, toPosition)
return true
end

View File

@ -0,0 +1,12 @@
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
if item.itemid == 2772 then
local stonePosition = Position(32849, 32282, 10)
local stoneItem = Tile(stonePosition):getItemById(1791)
if stoneItem then
stoneItem:remove()
stonePosition:sendMagicEffect(CONST_ME_EXPLOSIONAREA)
item:transform(2773)
end
end
return true
end

View File

@ -0,0 +1,14 @@
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
item:transform(item.itemid == 2772 and 2773 or 2772)
if item.itemid ~= 2772 then
return true
end
local stoneItem = Tile(Position(32826, 32274, 11)):getItemById(1772)
if stoneItem then
stoneItem:remove()
end
return true
end

View File

@ -0,0 +1,22 @@
function onUse(player, item, fromPosition, target, toPosition)
if item:getId() == 2772 and Game.isItemThere ({x = 33148, y = 32868, z = 09}, 2129) and Game.isItemThere ({x = 33149, y = 32868, z = 09}, 2129) then
item:transform(2773, 1)
item:decay()
Game.removeItemOnMap({x = 33148, y = 32868, z = 09}, 2129)
Game.removeItemOnMap({x = 33149, y = 32868, z = 09}, 2129)
elseif item:getId() == 2772 then
item:transform(2773, 1)
item:decay()
elseif item:getId() == 2773 and Game.isItemThere({x = 33148, y = 32868, z = 9}, 2129) then
item:transform(2772, 1)
item:decay()
elseif item:getId() == 2773 then
item:transform(2772, 1)
item:decay()
doRelocate({x = 33148, y = 32868, z = 09}, {x = 33148, y = 32869, z = 09})
doRelocate({x = 33149, y = 32868, z = 09},{x = 33149, y = 32869, z = 09})
Game.createItem(2129, 1, {x = 33148, y = 32868, z = 09})
Game.createItem(2129, 1, {x = 33149, y = 32868, z = 09})
end
return true
end

View File

@ -0,0 +1,9 @@
function onUse(player, item, fromPosition, target, toPosition)
if item:getId() == 2931 and Game.isItemThere({x = 33151, y = 32864, z = 8},1345) then
Game.removeItemOnMap({x = 33151, y = 32864, z = 8}, 1345)
Game.sendMagicEffect({x = 33146, y = 32871, z = 8}, 14)
elseif item:getId() == 2931 then
Game.sendMagicEffect({x = 33146, y = 32871, z = 8}, 3)
end
return true
end

View File

@ -0,0 +1,9 @@
function onUse(player, item, fromPosition, target, toPosition)
if item:getId() == 2929 and Game.isItemThere({x = 33151, y = 32866, z = 08},1345) then
Game.removeItemOnMap({x = 33151, y = 32866, z = 08}, 1345)
Game.sendMagicEffect({x = 33148, y = 32861, z = 8}, 14)
elseif item:getId() == 2929 then
Game.sendMagicEffect({x = 33148, y = 32861, z = 8}, 3)
end
return true
end

View File

@ -0,0 +1,9 @@
function onUse(player, item, fromPosition, target, toPosition)
if item:getId() == 2931 and Game.isItemThere({x = 33151, y = 32868, z = 8}, 1345) then
Game.removeItemOnMap({x = 33151, y = 32868, z = 8}, 1345)
Game.sendMagicEffect({x = 33145, y = 32865, z = 8}, 14)
elseif item:getId() == 2931 then
Game.sendMagicEffect({x = 33145, y = 32865, z = 8}, 3)
end
return true
end

View File

@ -0,0 +1,7 @@
function onUse(player, item, fromPosition, target, toPosition)
if item:getId() == 2772 and Game.isItemThere({x = 33145, y = 32863, z = 8}, 1650) then
Game.removeItemOnMap({x = 33145, y = 32863, z = 8}, 1650)
Game.createItem(1651, 1, {x = 33145, y = 32863, z = 8})
end
return true
end

View File

@ -6,4 +6,7 @@
<event type="login" name="FirstItems" script="firstitems.lua"/>
<event type="login" name="RegenerateStamina" script="regeneratestamina.lua" />
<event type="death" name="PlayerDeath" script="playerdeath.lua"/>
<!-- Killing In The Name Of Quest -->
<event type="kill" name="KillingInTheNameOfKills" script="killing_in_the_name_of.lua" />
</creaturescripts>

View File

@ -3,16 +3,31 @@ function onLogin(player)
player:setStorageValue(17571, 1)
-- Items
if player:getSex() == PLAYERSEX_FEMALE then
player:addItem(3562, 1, true, -1, CONST_SLOT_ARMOR)
else
player:addItem(3561, 1, true, -1, CONST_SLOT_ARMOR)
end
player:addItem(3270, 1, true, -1, CONST_SLOT_LEFT)
player:addItem(2920, 1, true, -1, CONST_SLOT_RIGHT)
player:addItem(3355, 1, true, -1, CONST_SLOT_HEAD)
player:addItem(3361, 1, true, -1, CONST_SLOT_ARMOR)
player:addItem(3559, 1, true, -1, CONST_SLOT_LEGS)
player:addItem(3552, 1, true, -1, CONST_SLOT_FEET)
player:addItem(3412, 1, true, -1, CONST_SLOT_LEFT)
player:addItem(3007, 1, true, 100, CONST_SLOT_RING)
player:addItem(2920, 1, true, -1, CONST_SLOT_AMMO)
local container = Game.createItem(2853, 1)
if player:getVocation():getId() == 1 then
player:addItem(3074, 1, true, -1, CONST_SLOT_RIGHT)
elseif player:getVocation():getId() == 2 then
player:addItem(3066, 1, true, -1, CONST_SLOT_RIGHT)
elseif player:getVocation():getId() == 3 then
player:addItem(3277, 1, true, 5, CONST_SLOT_RIGHT)
elseif player:getVocation():getId() == 4 then
local weapons = { 3300, 3286, 3276 }
player:addItem(weapons[math.random(#weapons)], 1, true, -1, CONST_SLOT_RIGHT)
end
local container = Game.createItem(2854, 1)
container:addItem(3585, 1)
container:addItem(3031, 25)
container:addItem(3725, 5)
container:addItem(3003, 1)
container:addItem(3457, 1)
player:addItemEx(container, true, CONST_SLOT_BACKPACK)
@ -22,11 +37,6 @@ function onLogin(player)
else
player:setOutfit({lookType = 128, lookHead = 78, lookBody = 106, lookLegs = 58, lookFeet = 95})
end
local town = Town("Rookgaard")
player:teleportTo(town:getTemplePosition())
player:setTown(town)
player:setDirection(DIRECTION_SOUTH)
end
return true
end

View File

@ -0,0 +1,149 @@
local tasks = {
-- Grizzly Adams
['crocodile'] = {taskerStorage = 17608, progressStorage = 17609, killsRequired = 100},
['tarantula'] = {taskerStorage = 17608, progressStorage = 17610, killsRequired = 100},
['carniphila'] = {taskerStorage = 17608, progressStorage = 17611, killsRequired = 50},
['merlkin'] = {taskerStorage = 17608, progressStorage = 17612, killsRequired = 100},
['kongra'] = {taskerStorage = 17608, progressStorage = 17612, killsRequired = 100},
['sibang'] = {taskerStorage = 17608, progressStorage = 17612, killsRequired = 100},
['thornback tortoise'] = {taskerStorage = 17608, progressStorage = 17613, killsRequired = 100},
['gargoyle'] = {taskerStorage = 17608, progressStorage = 17614, killsRequired = 65},
['quara constrictor scout'] = {taskerStorage = 17608, progressStorage = 17616, killsRequired = 200},
['quara hydromancer scout'] = {taskerStorage = 17608, progressStorage = 17616, killsRequired = 200},
['quara mantassin scout'] = {taskerStorage = 17608, progressStorage = 17616, killsRequired = 200},
['quara pincher scout'] = {taskerStorage = 17608, progressStorage = 17616, killsRequired = 200},
['quara predator scout'] = {taskerStorage = 17608, progressStorage = 17616, killsRequired = 200},
['ancient scarab'] = {taskerStorage = 17608, progressStorage = 17617, killsRequired = 125},
['wyvern'] = {taskerStorage = 17608, progressStorage = 17618, killsRequired = 100},
['bonebeast'] = {taskerStorage = 17608, progressStorage = 17619, killsRequired = 100},
['dragon'] = {taskerStorage = 17608, progressStorage = 17620, killsRequired = 200},
['quara constrictor'] = {taskerStorage = 17608, progressStorage = 17621, killsRequired = 600},
['quara hydromancer'] = {taskerStorage = 17608, progressStorage = 17621, killsRequired = 600},
['quara mantassin'] = {taskerStorage = 17608, progressStorage = 17621, killsRequired = 600},
['quara pincher'] = {taskerStorage = 17608, progressStorage = 17621, killsRequired = 600},
['quara predator'] = {taskerStorage = 17608, progressStorage = 17621, killsRequired = 600},
['giant spider'] = {taskerStorage = 17608, progressStorage = 17622, killsRequired = 500},
['banshee'] = {taskerStorage = 17608, progressStorage = 17623, killsRequired = 300},
['lich'] = {taskerStorage = 17608, progressStorage = 17624, killsRequired = 500},
['acolyte of the cult'] = {taskerStorage = 17608, progressStorage = 17625, killsRequired = 500},
['adept of the cult'] = {taskerStorage = 17608, progressStorage = 17625, killsRequired = 500},
['enlightened of the cult'] = {taskerStorage = 17608, progressStorage = 17625, killsRequired = 500},
['novice of the cult'] = {taskerStorage = 17608, progressStorage = 17625, killsRequired = 500},
['hydra'] = {taskerStorage = 17608, progressStorage = 17626, killsRequired = 650},
['serpent spawn'] = {taskerStorage = 17608, progressStorage = 17627, killsRequired = 800},
['behemoth'] = {taskerStorage = 17608, progressStorage = 17628, killsRequired = 700},
['dragon lord'] = {taskerStorage = 17608, progressStorage = 17629, killsRequired = 600},
['hand of cursed fate'] = {taskerStorage = 17608, progressStorage = 17630, killsRequired = 200},
['juggernaut'] = {taskerStorage = 17608, progressStorage = 17631, killsRequired = 200},
['frost troll'] = {taskerStorage = 17608, progressStorage = 17697, killsRequired = 100},
['swamp troll'] = {taskerStorage = 17608, progressStorage = 17698, killsRequired = 100},
['rat'] = {taskerStorage = 17608, progressStorage = 17699, killsRequired = 25},
['cave rat'] = {taskerStorage = 17608, progressStorage = 17699, killsRequired = 25},
['wolf'] = {taskerStorage = 17608, progressStorage = 17700, killsRequired = 100},
['wasp'] = {taskerStorage = 17608, progressStorage = 17701, killsRequired = 100},
['larva'] = {taskerStorage = 17608, progressStorage = 17702, killsRequired = 100},
['dwarf'] = {taskerStorage = 17608, progressStorage = 17703, killsRequired = 100},
['skeleton'] = {taskerStorage = 17608, progressStorage = 17704, killsRequired = 100},
['ghoul'] = {taskerStorage = 17608, progressStorage = 17704, killsRequired = 100},
['orc spearman'] = {taskerStorage = 17608, progressStorage = 17712, killsRequired = 300},
['orc shaman'] = {taskerStorage = 17608, progressStorage = 17712, killsRequired = 300},
['orc rider'] = {taskerStorage = 17608, progressStorage = 17712, killsRequired = 300},
['orc warrior'] = {taskerStorage = 17608, progressStorage = 17712, killsRequired = 300},
['orc berserker'] = {taskerStorage = 17608, progressStorage = 17712, killsRequired = 300},
['minotaur archer'] = {taskerStorage = 17608, progressStorage = 17713, killsRequired = 300},
['minotaur guard'] = {taskerStorage = 17608, progressStorage = 17713, killsRequired = 300},
['minotaur mage'] = {taskerStorage = 17608, progressStorage = 17713, killsRequired = 300},
['lizard templar'] = {taskerStorage = 17608, progressStorage = 17714, killsRequired = 300},
['lizard sentinel'] = {taskerStorage = 17608, progressStorage = 17714, killsRequired = 300},
['lizard snakecharmer'] = {taskerStorage = 17608, progressStorage = 17714, killsRequired = 300},
['dwarf soldier'] = {taskerStorage = 17608, progressStorage = 17715, killsRequired = 300},
['dwarf guard'] = {taskerStorage = 17608, progressStorage = 17715, killsRequired = 300},
['dwarf geomancer'] = {taskerStorage = 17608, progressStorage = 17715, killsRequired = 300},
['ghost'] = {taskerStorage = 17608, progressStorage = 17716, killsRequired = 200},
['demon skeleton'] = {taskerStorage = 17608, progressStorage = 17716, killsRequired = 200},
['vampire'] = {taskerStorage = 17608, progressStorage = 17716, killsRequired = 200},
['orc leader'] = {taskerStorage = 17608, progressStorage = 17717, killsRequired = 125},
['orc warlord'] = {taskerStorage = 17608, progressStorage = 17717, killsRequired = 125},
['hero'] = {taskerStorage = 17608, progressStorage = 17718, killsRequired = 150},
['necromancer'] = {taskerStorage = 17608, progressStorage = 17719, killsRequired = 300},
['priestess'] = {taskerStorage = 17608, progressStorage = 17719, killsRequired = 300},
['nightmare'] = {taskerStorage = 17608, progressStorage = 17720, killsRequired = 150},
['warlock'] = {taskerStorage = 17608, progressStorage = 17721, killsRequired = 300},
['demon'] = {taskerStorage = 17608, progressStorage = 17722, killsRequired = 6666},
-- Daniel Steelsoul
['troll'] = {taskerStorage = 17632, progressStorage = 17633, killsRequired = 100},
['goblin'] = {taskerStorage = 17632, progressStorage = 17634, killsRequired = 150},
['rotworm'] = {taskerStorage = 17632, progressStorage = 17635, killsRequired = 150},
['carrion worm'] = {taskerStorage = 17632, progressStorage = 17635, killsRequired = 150},
['cyclops'] = {taskerStorage = 17632, progressStorage = 17636, killsRequired = 150},
-- Young Vocation Tasks
['amazon'] = {taskerStorage = 17644, progressStorage = 17645, killsRequired = 50},
['minotaur'] = {taskerStorage = 17649, progressStorage = 17648, killsRequired = 50},
['orc'] = {taskerStorage = 17652, progressStorage = 17651, killsRequired = 50},
}
local function randomSort(arr)
local sorted = {}
local rand2
local rand
local mem
for i=1,#arr do
sorted[i] = arr[i]
end
if (#arr <= 1) then
return sorted;
end
for i=1,(#arr)^2 do
repeat
rand = math.random(1,#sorted)
rand2 = math.random(1,#sorted)
until rand ~= rand2
mem = sorted[rand]
sorted[rand] = pgtss[rand2]
sorted[rand2] = mem
end
return sorted
end
local maxPlayersInPartyShare = 2
-- not tested probably nothing is working
function onKill(player, target)
if target:isPlayer() or target:getMaster() then
return true
end
local targetName = target:getName():lower()
local task = tasks[targetName]
if task ~= nil then
local players
local party = player:getParty()
if party ~= nil and party:isSharedExperienceEnabled() then
players = party:getMembers() -- all members of the party
players[#players + 1] = party:getLeader() -- don't forget the leader
if #players > maxPlayersInPartyShare then -- if more than 4 players are in party than shuffle the table and give task bonus only for the first 4 players
players = randomSort(players)
end
else
players = { player } -- no party? then just the player
end
for i, member in ipairs(players) do
print(i)
if i < maxPlayersInPartyShare then
local inProgressQuest = member:getStorageValue(task.taskerStorage)
if inProgressQuest == task.progressStorage then
local playerQuestKills = member:getStorageValue(task.progressStorage)
if playerQuestKills < task.killsRequired then
member:setStorageValue(task.progressStorage, playerQuestKills + 1)
member:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "[Task Tracker] You have killed " .. playerQuestKills + 1 .. "/" .. task.killsRequired .. " " .. targetName .. ".")
end
end
end
end
end
return true
end

View File

@ -58,6 +58,7 @@ function onLogin(player)
player:registerEvent("PlayerLogout")
player:registerEvent("FirstItems")
player:registerEvent("RegenerateStamina")
player:registerEvent("KillingInTheNameOfKills")
return true
end

View File

@ -183,14 +183,20 @@ function Player:onGainExperience(source, exp, rawExp)
if configManager.getBoolean(configKeys.STAMINA_SYSTEM) then
useStamina(self)
if self:getStorageValue(17582) > os.time() then
exp = exp * 1.1
end
local staminaMinutes = self:getStamina()
if staminaMinutes > 2400 and self:getStorageValue(17582) > os.time() then
exp = exp * 1.5
elseif staminaMinutes <= 840 then
if staminaMinutes <= 840 then
exp = exp * 0.5
end
end
if getGlobalStorageValue(17589) > os.time() then
exp = exp * (1 + getGlobalStorageValue(17585) / 100)
end
return exp
end
@ -204,7 +210,20 @@ function Player:onGainSkillTries(skill, tries)
end
if skill == SKILL_MAGLEVEL then
return tries * configManager.getNumber(configKeys.RATE_MAGIC)
tries = tries * configManager.getNumber(configKeys.RATE_MAGIC)
if getGlobalStorageValue(17591) > os.time() then
tries = tries * (1 + getGlobalStorageValue(17587) / 100)
end
return tries
end
return tries * configManager.getNumber(configKeys.RATE_SKILL)
tries = tries * configManager.getNumber(configKeys.RATE_SKILL)
if getGlobalStorageValue(17590) > os.time() then
tries = tries * (1 + getGlobalStorageValue(17586) / 100)
end
return tries
end

View File

@ -2,6 +2,6 @@
<globalevents>
<globalevent type="startup" name="ServerStartup" script="startup.lua"/>
<globalevent type="record" name="PlayerRecord" script="record.lua"/>
<globalevent name="Server Save" time="08:55:00" script="serversave.lua" />
<globalevent name="Server Save" time="07:55:00" script="serversave.lua" />
<globalevent name="Rookgaard Book" interval="5000" script="rookgaard_book.lua"/>
</globalevents>

View File

@ -1,3 +1,22 @@
local function spawnRashid()
local rashidSpawns = {
['Monday'] = Position(32349, 32231, 6),
['Tuesday'] = Position(32306, 32835, 7),
['Wednesday'] = Position(32579, 32754, 7),
['Thursday'] = Position(33065, 32879, 6),
['Friday'] = Position(33233, 32484, 7),
['Saturday'] = Position(33168, 31810, 6),
['Sunday'] = Position(32328, 31782, 6),
}
local position = rashidSpawns[os.date("%A")]
local rashid = Game.createNpc("rashid", position)
if rashid ~= nil then
rashid:setMasterPos(position)
position:sendMagicEffect(CONST_ME_MAGIC_RED)
end
end
local function setBloomingGriffinclaw()
local position = {x = 32024, y = 32830, z = 4}
if Game.isItemThere(position,5687) then
@ -70,4 +89,7 @@ function onStartup()
addEvent(setBloomingGriffinclaw, 10000)
end
end
spawnRashid()
setGlobalStorageValue(17657, 0) -- reset POI levers
end

View File

@ -13413,8 +13413,9 @@ Attributes = {Weight=40,SlotType=RING}
TypeID = 3007
Name = "a crystal ring"
Flags = {Take}
Attributes = {Weight=90,SlotType=RING}
Description = "The magical ring will convert the gold you touch"
Flags = {Take,ShowDetail}
Attributes = {Weight=90,SlotType=RING,TotalUses=100}
TypeID = 3008
Name = "a crystal necklace"
@ -13712,9 +13713,9 @@ Attributes = {MinimumLevel=26,Weight=2650,Brightness=2,LightColor=67,Vocations=
TypeID = 3066
Name = "a snakebite rod"
Description = "It seems to twitch and quiver as if trying to escape your grip"
Description = "It seems to twitch and quiver as if trying to escape your grip. The rod has magical powers inside and requires no mana consumption"
Flags = {Take,Wand}
Attributes = {MinimumLevel=7,Weight=4300,Vocations=2,Range=4,ManaConsumption=2,AttackStrength=13,AttackVariation=5,DamageType=Poison,MissileEffect=15}
Attributes = {MinimumLevel=7,Weight=4300,Vocations=2,Range=4,AttackStrength=13,AttackVariation=5,DamageType=Poison,MissileEffect=15}
TypeID = 3067
Name = "a tempest rod"
@ -13759,9 +13760,9 @@ Attributes = {MinimumLevel=26,Weight=2300,Brightness=2,LightColor=205,Vocations
TypeID = 3074
Name = "a wand of vortex"
Description = "Surges of energy rush through the tip of this wand"
Description = "Surges of energy rush through the tip of this wand. The wand has magical powers inside and requires no mana consumption"
Flags = {Take,Wand}
Attributes = {MinimumLevel=7,Weight=2300,Brightness=2,LightColor=23,Vocations=1,ManaConsumption=2,AttackStrength=13,AttackVariation=5,DamageType=Energy,Range=3,MissileEffect=5}
Attributes = {MinimumLevel=7,Weight=2300,Brightness=2,LightColor=23,Vocations=1,AttackStrength=13,AttackVariation=5,DamageType=Energy,Range=3,MissileEffect=5}
TypeID = 3075
Name = "a wand of dragonbreath"
@ -13837,7 +13838,7 @@ Attributes = {Weight=80,SlotType=RING,ManaShield=1,ExpireTarget=0,TotalExpireTi
TypeID = 3089
Name = "a life ring"
Flags = {Take,Expire,ShowDetail}
Attributes = {Weight=80,SlotType=RING,HealthTicks=2000,HealthGain=3,ManaTicks=2000,ManaGain=3,ExpireTarget=0,TotalExpireTime=1200,DeEquipTarget=3052}
Attributes = {Weight=80,SlotType=RING,HealthTicks=6000,HealthGain=2,ManaTicks=6000,ManaGain=8,ExpireTarget=0,TotalExpireTime=1200,DeEquipTarget=3052}
TypeID = 3090
Name = "a time ring"
@ -13892,7 +13893,7 @@ Attributes = {Weight=110,SlotType=RING,SuppressDrunk=1,ExpireTarget=0,TotalExpi
TypeID = 3100
Name = "a ring of healing"
Flags = {Take,Expire,ShowDetail}
Attributes = {Weight=80,SlotType=RING,HealthTicks=2000,HealthGain=1,ManaTicks=2000,ManaGain=1,ExpireTarget=0,TotalExpireTime=450,DeEquipTarget=3098}
Attributes = {Weight=80,SlotType=RING,HealthTicks=6000,HealthGain=6,ManaTicks=6000,ManaGain=24,ExpireTarget=0,TotalExpireTime=450,DeEquipTarget=3098}
TypeID = 3101
Name = "a screaming spellbook"
@ -26816,7 +26817,7 @@ Flags = {Container,Take}
Attributes = {Capacity=8,Weight=800,SlotType=BACKPACK}
TypeID = 5928
Name = "an empty goldfish bowl" # TODO: implement functionality like in tibia wiki
Name = "an empty goldfish bowl"
Flags = {Take}
Attributes = {Weight=3200}
@ -26971,7 +26972,7 @@ Attributes = {Weight=200}
TypeID = 5957
Name = "a lottery ticket"
Description = "It has not been used yet" # TODO: Implement like in tibia wiki
Description = "It has not been used yet"
Flags = {Take}
Attributes = {Weight=120}
@ -27649,7 +27650,7 @@ Attributes = {Weight=50}
TypeID = 6092
Name = "a very noble-looking watch"
Flags = {Take,Expire}
Attributes = {Weight=50,ExpireTarget=6091,TotalExpireTime=259200} # TODO: Implement functionality like in tibia wiki
Attributes = {Weight=50,ExpireTarget=6091,TotalExpireTime=259200}
TypeID = 6093
Name = "a crystal ring"
@ -27762,14 +27763,14 @@ Attributes = {Weight=50}
TypeID = 6114
Name = "an armor rack kit"
Description = "Use it in your house to construct an armor rack" # TODO: Implement like in tibia wiki
Flags = {Take,Unpass}
Description = "Use it in your house to construct an armor rack"
Flags = {UseEvent,Avoid,Take,Height}
Attributes = {Weight=3500}
TypeID = 6115
Name = "a weapon rack kit"
Description = "Use it in your house to construct a weapon rack" # TODO: Implement like in tibia wiki
Flags = {Take,Unpass}
Description = "Use it in your house to construct a weapon rack"
Flags = {UseEvent,Avoid,Take,Height}
Attributes = {Weight=3500}
TypeID = 6116

29876
data/items792/items.srv Normal file

File diff suppressed because it is too large Load Diff

View File

@ -25,3 +25,25 @@ end
function Container.isTile(self)
return false
end
function Container.getItemsById(self, itemId)
local list = {}
for index = 0, (self:getSize() - 1) do
local item = self:getItem(index)
if item then
if item:isContainer() then
local rlist = item:getItemsById(itemId)
if type(rlist) == 'table' then
for _, v in pairs(rlist) do
table.insert(list, v)
end
end
else
if item:getId() == itemId then
table.insert(list, item)
end
end
end
end
return list
end

View File

@ -72,4 +72,28 @@ function Position:moveRel(x, y, z)
self.y = self.y + y
self.z = self.z + z
return self
end
function Position:isInRange(from, to)
-- No matter what corner from and to is, we want to make
-- life easier by calculating north-west and south-east
local zone = {
nW = {
x = (from.x < to.x and from.x or to.x),
y = (from.y < to.y and from.y or to.y),
z = (from.z < to.z and from.z or to.z)
},
sE = {
x = (to.x > from.x and to.x or from.x),
y = (to.y > from.y and to.y or from.y),
z = (to.z > from.z and to.z or from.z)
}
}
if self.x >= zone.nW.x and self.x <= zone.sE.x
and self.y >= zone.nW.y and self.y <= zone.sE.y
and self.z >= zone.nW.z and self.z <= zone.sE.z then
return true
end
return false
end

View File

@ -26,7 +26,7 @@
<attack name="physical" chance="17" range="7" radius="1" target="1" min="-70" max="-185">
<attribute key="shootEffect" value="energy" />
</attack>
<attack name="speed" chance="10" range="7" speedchange="-220" duration="5000">
<attack name="speed" chance="10" range="7" speedchange="-80" duration="5000">
</attack>
</attacks>
<defenses armor="15" defense="20">

View File

@ -23,7 +23,7 @@
<attack name="physical" chance="25" length="8" spread="0" min="-0" max="-580">
<attribute key="areaEffect" value="mortarea" />
</attack>
<attack name="speed" chance="15" range="7" speedchange="-850" duration="50000">
<attack name="speed" chance="15" range="7" speedchange="-400" duration="50000">
<attribute key="areaEffect" value="whitenote" />
</attack>
<attack name="physical" chance="20" target="0" radius="7" min="-500" max="-800">
@ -34,7 +34,7 @@
<defense name="healing" chance="20" min="250" max="750">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
<defense name="speed" chance="80" speedchange="808" duration="6000">
<defense name="speed" chance="80" speedchange="404" duration="6000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
</defenses>

View File

@ -28,7 +28,7 @@
<attack name="lifedrain" chance="8" range="7" target="1" min="-45" max="-170">
<attribute key="areaEffect" value="redshimmer" />
</attack>
<attack name="speed" chance="10" range="7" speedchange="-600" duration="5000">
<attack name="speed" chance="10" range="7" speedchange="-100" duration="5000">
</attack>
</attacks>
<defenses armor="15" defense="18">

View File

@ -28,7 +28,7 @@
<attack name="lifedrain" chance="8" range="7" target="1" min="-0" max="-170">
<attribute key="areaEffect" value="redshimmer" />
</attack>
<attack name="speed" chance="10" range="7" speedchange="-600" duration="5000">
<attack name="speed" chance="10" range="7" speedchange="-100" duration="5000">
</attack>
</attacks>
<defenses armor="15" defense="18">

View File

@ -21,7 +21,7 @@
<defense name="invisible" chance="25" duration="2000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
<defense name="speed" chance="10" speedchange="800" duration="5000">
<defense name="speed" chance="10" speedchange="65" duration="5000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
</defenses>

View File

@ -16,7 +16,7 @@
<flag runonhealth="0" />
</flags>
<attacks skill="50" attack="80">
<attack name="speed" chance="10" range="1" speedchange="-600" duration="3000">
<attack name="speed" chance="10" range="1" speedchange="-100" duration="3000">
<attribute key="areaEffect" value="redshimmer" />
</attack>
</attacks>

View File

@ -16,7 +16,7 @@
<flag runonhealth="0" />
</flags>
<attacks skill="75" attack="80">
<attack name="speed" chance="12" range="1" speedchange="-600" duration="3000">
<attack name="speed" chance="12" range="1" speedchange="-100" duration="3000">
<attribute key="areaEffect" value="redshimmer" />
</attack>
</attacks>

View File

@ -18,7 +18,7 @@
<attacks skill="30" attack="235">
</attacks>
<defenses armor="40" defense="45">
<defense name="speed" chance="15" speedchange="210">
<defense name="speed" chance="15" speedchange="75">
<attribute key="areaEffect" value="greenshimmer" />
</defense>
<defense name="healing" chance="12" min="200" max="240">

View File

@ -23,7 +23,7 @@
<attack name="poisonfield" chance="19" range="7" radius="3" target="0">
<attribute key="shootEffect" value="poison" />
</attack>
<attack name="speed" chance="10" range="7" target="1" speedchange="-600" duration="20000">
<attack name="speed" chance="10" range="7" target="1" speedchange="-100" duration="20000">
<attribute key="shootEffect" value="snowball" />
</attack>
<attack name="lifedrain" chance="20" range="7" target="1" min="-108" max="-137">

View File

@ -20,7 +20,7 @@
<attribute key="shootEffect" value="poison" />
<attribute key="areaEffect" value="poison" />
</attack>
<attack name="speed" chance="20" range="7" target="1" speedchange="-850" duration="30000">
<attack name="speed" chance="20" range="7" target="1" speedchange="-100" duration="30000">
<attribute key="shootEffect" value="poison" />
<attribute key="areaEffect" value="greenspark" />
</attack>
@ -30,7 +30,7 @@
</attacks>
<defenses armor="30" defense="31">
<defense name="ultimate healing" chance="35" min="600" max="800" />
<defense name="speed" chance="10" speedchange="800" duration="5000">
<defense name="speed" chance="10" speedchange="80" duration="5000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
</defenses>

View File

@ -0,0 +1,58 @@
<monster name="Apprentice Sheng" nameDescription="Apprentice Sheng" race="blood" experience="150" speed="45" manacost="0">
<health now="95" max="95" />
<look type="23" corpse="5981" />
<targetchange interval="1000" chance="50" />
<targetstrategy nearest="100" weakest="0" mostdamage="0" random="0" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="0" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="4" />
<flag runonhealth="20" />
</flags>
<attacks attack="15" skill="18">
<attack name="energyfield" interval="1000" chance="8" range="7" radius="1" target="1">
<attribute key="shootEffect" value="energy" />
</attack>
<attack name="energy" interval="1000" chance="14" range="7" min="0" max="-25">
<attribute key="shootEffect" value="energy" />
<attribute key="areaEffect" value="energy" />
</attack>
<attack name="fire" interval="2000" chance="10" range="7" min="0" max="-45">
<attribute key="shootEffect" value="fire" />
<attribute key="areaEffect" value="firearea" />
</attack>
</attacks>
<defenses armor="12" defense="13">
<defense name="healing" interval="4000" chance="15" min="10" max="20">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
</defenses>
<immunities>
<immunity energy="1" />
<immunity invisible="1" />
</immunities>
<summons maxSummons="2">
<summon name="Hyaena" interval="5000" chance="30" />
</summons>
<voices interval="2000" chance="7">
<voice sentence="I will protect the secrets of my master!" />
<voice sentence="This isle will become ours alone!" />
<voice sentence="Kaplar!" />
<voice sentence="You already know too much." />
</voices>
<loot>
<item id="5878" chance="1000" /> <!-- minotaur leather -->
<item id="3046" chance="800" /> <!-- magic lightwand -->
<item id="3031" countmax="10" chance="300" /> <!-- gold coin -->
<item id="2920" countmax="2" chance="300" /> <!-- torch -->
<item id="3559" chance="200" /> <!-- leather legs -->
<item id="3291" chance="100" /> <!-- knife -->
<item id="3355" chance="100" /> <!-- leather helmet -->
</loot>
</monster>

View File

@ -0,0 +1,67 @@
<monster name="Betrayed Wraith" nameDescription="a betrayed wraith" race="undead" experience="3500" speed="115" manacost="0">
<health now="4200" max="4200" />
<look type="233" corpse="6315" />
<targetchange interval="1000" chance="5" />
<targetstrategy nearest="70" weakest="0" mostdamage="30" random="0" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="0" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="300" />
</flags>
<attacks attack="80" skill="100">
<attack name="speed" interval="2000" chance="20" range="7" target="1" speedchange="-100" duration="3000">
<attribute key="shootEffect" value="death" />
<attribute key="areaEffect" value="mortarea" />
</attack>
</attacks>
<defenses armor="55" defense="55">
<defense name="healing" interval="2000" chance="30" min="350" max="600">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
<defense name="invisible" interval="2000" chance="10" duration="5000">
<attribute key="areaEffect" value="redspark" />
</defense>
<defense name="speed" interval="2000" chance="15" speedchange="57" duration="5000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
</defenses>
<immunities>
<immunity fire="1" />
<immunity energy="1" />
<immunity earth="1" />
<immunity lifedrain="1" />
<immunity paralyze="1" />
<immunity invisible="1" />
</immunities>
<voices interval="2000" chance="7">
<voice sentence="Rrrah!" />
<voice sentence="Gnarr!" />
<voice sentence="Tcharrr!" />
</voices>
<loot>
<item id="3031" countmax="198" chance="1000" /> <!-- gold coin -->
<item id="3035" countmax="8" chance="1000" /> <!-- platinum coin -->
<item id="6558" chance="652" /> <!-- concentrated demonic blood -->
<item id="3450" countmax="15" chance="500" /> <!-- power bolt -->
<!-- demonic essence -->
<!-- unholy bone -->
<!-- great mana potion -->
<!-- ultimate health potion -->
<item id="3028" countmax="4" chance="118" /> <!-- small diamond -->
<!-- assassin star -->
<item id="5944" chance="90" /> <!-- soul orb -->
<item id="5021" countmax="2" chance="80" /> <!-- orichalcum pearl -->
<!-- mercenary sword -->
<item id="6299" chance="4" /> <!-- death ring -->
<item id="5741" chance="4" /> <!-- skull helmet -->
<item id="5799" chance="1" /> <!-- golden figurine -->
<!-- bloody edge -->
</loot>
</monster>

View File

@ -0,0 +1,69 @@
<monster name="Blightwalker" nameDescription="a blightwalker" race="undead" experience="5850" speed="125" manacost="0">
<health now="8900" max="8900" />
<look type="246" corpse="6353" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="0" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="800" />
</flags>
<attacks attack="90" skill="100">
<attack name="earth" interval="2000" chance="20" range="7" target="1" min="-220" max="-405">
<attribute key="shootEffect" value="poison" />
</attack>
<attack name="lifedrain" interval="2000" chance="15" target="0" radius="4" min="-65" max="-135">
<attribute key="areaEffect" value="greenshimmer" />
</attack>
<attack name="drunk" interval="2000" chance="10" target="0" radius="3" duration="5000">
<attribute key="areaEffect" value="greenspark" />
</attack>
<attack name="speed" interval="2000" chance="15" range="7" speedchange="-100" duration="30000">
<attribute key="shootEffect" value="poison" />
</attack>
</attacks>
<defenses armor="50" defense="50" />
<immunities>
<immunity paralyze="1" />
<immunity earth="1" />
<immunity invisible="1" />
</immunities>
<voices interval="2000" chance="7">
<voice sentence="I can see you decaying!" />
<voice sentence="Let me taste your mortality!" />
<voice sentence="Your lifeforce is waning!" />
</voices>
<loot>
<item id="3031" countmax="197" chance="1000" /> <!-- gold coin -->
<item id="3035" countmax="5" chance="1000" /> <!-- platinum coin -->
<item id="3605" chance="500" /> <!-- bunch of wheat -->
<!-- great mana potion -->
<!-- demonic essence -->
<item id="3147" countmax="2" chance="262" /> <!-- blank rune -->
<item id="5944" chance="237" /> <!-- soul orb -->
<!-- bundle of cursed straw -->
<!-- ultimate health potion -->
<item id="3067" chance="100" /> <!-- hailstorm rod -->
<!-- assassin star -->
<!-- gold ingot -->
<!-- giant shimmering pearl -->
<!-- giant shimmering pearl -->
<!-- seeds -->
<item id="3453" chance="30" /> <!-- scythe -->
<!-- terra legs -->
<item id="3083" chance="20" /> <!-- garlic necklace -->
<item id="3063" chance="18" /> <!-- gold ring -->
<item id="3324" chance="15" /> <!-- skull staff -->
<item id="6299" chance="14" /> <!-- death ring -->
<!-- terra mantle -->
<item id="3306" chance="3" /> <!-- golden sickle -->
<item id="3057" chance="1" /> <!-- amulet of loss -->
</loot>
</monster>

View File

@ -0,0 +1,45 @@
<monster name="Countess Sorrow" nameDescription="Countess Sorrow" race="undead" experience="5150" speed="125" manacost="0">
<health now="7200" max="7200" />
<look type="241" head="20" corpse="6343" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="0" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="0" />
</flags>
<attacks skill="70" attack="90" poison="50">
<attack name="poison" interval="1000" chance="10" range="7" radius="4" target="1" min="-150" max="-350">
<attribute key="shootEffect" value="poison" />
<attribute key="areaEffect" value="poison" />
</attack>
<attack name="poisonfield" interval="1000" chance="17" range="7" radius="3" target="1">
<attribute key="shootEffect" value="poison" />
</attack>
<attack name="manadrain" interval="1000" chance="25" range="7" min="-100" max="-400">
<attribute key="areaEffect" value="redshimmer" />
</attack>
</attacks>
<defenses armor="25" defense="20">
<defense name="healing" interval="1000" chance="50" min="409" max="812">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
</defenses>
<immunities>
<immunity physical="1" />
<immunity poison="1" />
<immunity lifedrain="1" />
<immunity paralyze="1" />
<immunity invisible="1" />
</immunities>
<loot>
<item id="6536" chance="1000" /><!-- countess sorrow's frozen tear -->
</loot>
</monster>

View File

@ -0,0 +1,53 @@
<monster name="Dark Torturer" nameDescription="a dark torturer" race="undead" experience="4650" speed="120" manacost="0">
<health now="7350" max="7350" />
<look type="234" corpse="6330" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="0" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="0" />
</flags>
<attacks skill="90" attack="100">
<attack name="physical" interval="2000" chance="10" range="7" min="0" max="-781">
<attribute key="shootEffect" value="throwingknife" />
</attack>
</attacks>
<defenses armor="40" defense="40">
<defense name="healing" interval="2000" chance="10" min="200" max="250">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
</defenses>
<immunities>
<immunity fire="1" />
<immunity invisible="1" />
</immunities>
<voices interval="2000" chance="7">
<voice sentence="You like it, don't you?" />
<voice sentence="IahaEhheAie!" />
<voice sentence="It's party time!" />
<voice sentence="Harrr, Harrr!" />
<voice sentence="The torturer is in!" />
</voices>
<loot>
<item id="3031" countmax="100" chance="500" /><!-- gold coin -->
<item id="3031" countmax="99" chance="400" /><!-- gold coin -->
<item id="3582" countmax="2" chance="600" /><!-- ham -->
<item id="3035" countmax="8" chance="550" /><!-- platinum coin -->
<item id="6558" countmax="3" chance="333" /><!-- concentrated demonic blood -->
<item id="5944" chance="230" /><!-- soul orb -->
<item id="3554" chance="50" /><!-- steel boots -->
<item id="3461" chance="52" /><!-- saw -->
<item id="6299" chance="20" /><!-- death ring -->
<item id="5479" chance="22" /><!-- cat's paw -->
<item id="5021" countmax="2" chance="27" /><!-- orichalcum pearl -->
<item id="3364" chance="30" /><!-- golden legs -->
</loot>
</monster>

View File

@ -0,0 +1,65 @@
<monster name="Defiler" nameDescription="a defiler" race="venom" experience="3700" speed="115" manacost="0">
<health now="3650" max="3650" />
<look type="238" corpse="6532" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="1" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="85" />
</flags>
<attacks skill="50" attack="80" poison="150">
<attack name="poison" interval="2000" chance="20" range="7" min="-160" max="-270">
<attribute key="shootEffect" value="poison" />
</attack>
<attack name="poisoncondition" interval="2000" chance="15" target="0" radius="7" range="7" count="70" min="-400" max="-640">
<attribute key="areaEffect" value="greenspark" />
</attack>
<attack name="poison" interval="2000" chance="20" radius="3" target="0" min="-120" max="-170">
<attribute key="areaEffect" value="poison" />
</attack>
<attack name="poisoncondition" interval="2000" chance="10" length="8" spread="3" count="70" min="-500" max="-1000">
<attribute key="areaEffect" value="poison" />
</attack>
<attack name="speed" interval="2000" chance="15" length="8" spread="3" speedchange="-100" duration="15000">
<attribute key="areaEffect" value="mortarea" />
</attack>
</attacks>
<defenses armor="20" defense="20">
<defense name="healing" interval="2000" chance="10" min="280" max="350">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
</defenses>
<immunities>
<immunity earth="1" />
<immunity paralyze="1" />
<immunity invisible="1" />
</immunities>
<voices interval="2000" chance="7">
<voice sentence="Blubb" />
<voice sentence="Blubb Blubb" />
</voices>
<loot>
<item id="3031" countmax="100" chance="1000" /><!-- gold coin -->
<item id="3031" countmax="100" chance="1000" /><!-- gold coin -->
<item id="3031" countmax="72" chance="1000" /><!-- gold coin -->
<item id="3035" countmax="6" chance="950" /><!-- platinum coin -->
<item id="5944" chance="200" /><!-- soul orb -->
<item id="3034" chance="57" /><!-- talon -->
<item id="3041" chance="3" /><!-- blue gem -->
<item id="3032" countmax="3" chance="53" /><!-- small emeralds-->
<item id="3030" countmax="2" chance="30" /><!-- small rubies -->
<item id="6299" chance="30" /><!-- death ring-->
<item id="3028" countmax="2" chance="24" /><!-- small diamond -->
<item id="3039" chance="15" /><!-- red gem -->
<item id="3037" chance="12" /><!-- yellow gem -->
<item id="3038" chance="6" /><!-- green gem -->
</loot>
</monster>

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<monster name="Demon" nameDescription="a demon" race="blood" experience="25" speed="150" manacost="0">
<health now="50" max="50" />
<look type="35" corpse="5995" />
<targetchange interval="1000" chance="0" />
<targetstrategy nearest="100" weakest="0" mostdamage="0" random="0" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="0" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="15" />
</flags>
<attacks skill="10" attack="10">
<attack name="physical" interval="2000" chance="10" range="7" min="0" max="-25">
<attribute key="shootEffect" value="smallstone" />
</attack>
</attacks>
<defenses armor="10" defense="10" />
<loot>
<item id="3115" countmax="1" chance="120" /> <!-- a bone -->
<item id="3337" countmax="1" chance="50" /> <!-- a bone club -->
<item id="3267" countmax="1" chance="180" /> <!-- a dagger -->
<item id="3578" countmax="1" chance="130" /> <!-- a fish -->
<item id="3031" countmax="9" chance="500" /> <!-- a gold coin -->
<item id="3361" countmax="1" chance="75" /> <!-- a leather armor -->
<item id="3355" countmax="1" chance="100" /> <!-- a leather helmet -->
<item id="3120" countmax="1" chance="70" /> <!-- a moldy cheese -->
<item id="3294" countmax="1" chance="90" /> <!-- a short sword -->
<item id="3462" countmax="1" chance="100" /> <!-- a small axe -->
<item id="1781" countmax="3" chance="300" /> <!-- a small stone -->
</loot>
</monster>

View File

@ -0,0 +1,59 @@
<monster name="Destroyer" nameDescription="a destroyer" race="undead" experience="2500" speed="135" manacost="0">
<health now="3700" max="3700" />
<look type="236" corpse="6319" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="0" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="0" />
</flags>
<attacks skill="90" attack="100">
<attack name="physical" interval="2000" chance="15" range="7" min="0" max="-200">
<attribute key="shootEffect" value="largerock" />
</attack>
</attacks>
<defenses armor="30" defense="30">
<defense name="speed" interval="2000" chance="15" speedchange="70" duration="5000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
</defenses>
<immunities>
<immunity energy="1" />
<immunity paralyze="1" />
<immunity invisible="1" />
</immunities>
<voices interval="2000" chance="7">
<voice sentence="COME HERE AND DIE!" />
<voice sentence="Destructiooooon!" />
<voice sentence="It's a good day to destroy!" />
</voices>
<loot>
<item id="3031" countmax="100" chance="600" /><!-- gold coin -->
<item id="3031" countmax="100" chance="400" /><!-- gold coin -->
<item id="3031" countmax="100" chance="400" /><!-- gold coin -->
<item id="3031" countmax="41" chance="600" /><!-- gold coin -->
<item id="3577" countmax="6" chance="500" /><!-- meat -->
<item id="3304" chance="142" /><!-- crowbar -->
<item id="3449" countmax="12" chance="125" /><!-- burst arrow -->
<item id="3383" chance="100" /><!-- dark armor -->
<item id="3033" countmax="2" chance="76" /><!-- small amethyst -->
<item id="5944" chance="66" /><!-- soul orb-->
<item id="3456" chance="62" /><!-- pick -->
<item id="3357" chance="43" /><!-- plate armor -->
<item id="3035" countmax="3" chance="41" /><!-- platinum coin -->
<item id="3281" chance="16" /><!-- giant sword -->
<item id="3554" chance="9" /><!-- steel boots -->
<item id="3008" chance="5" /><!-- crystal necklace -->
<item id="3062" chance="5" /><!-- mind stone -->
<item id="6299" chance="1" /><!-- death ring -->
<item id="5741" chance="1" /><!-- skull helmet -->
</loot>
</monster>

View File

@ -0,0 +1,66 @@
<monster name="Diabolic Imp" nameDescription="a diabolic imp" race="fire" experience="1950" speed="110" manacost="0">
<health now="2900" max="2900" />
<look type="237" corpse="6363" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="0" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="4" />
<flag runonhealth="400" />
</flags>
<attacks skill="70" attack="60" poison="160">
<attack name="fire" interval="2000" chance="20" range="7" radius="4" target="1" min="-100" max="-240">
<attribute key="shootEffect" value="fire" />
<attribute key="areaEffect" value="firearea" />
</attack>
<attack name="fire" interval="2000" chance="10" range="7" radius="2" target="1" min="-300" max="-430">
<attribute key="shootEffect" value="fire" />
<attribute key="areaEffect" value="firearea" />
</attack>
</attacks>
<defenses armor="25" defense="25">
<defense name="healing" interval="2000" chance="10" min="650" max="800">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
<defense name="speed" interval="2000" chance="15" speedchange="50" duration="2000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
<defense name="invisible" interval="2000" chance="10" duration="1000">
<attribute key="areaEffect" value="teleport" />
</defense>
</defenses>
<immunities>
<immunity fire="1" />
<immunity lifedrain="1" />
<immunity paralyze="1" />
<immunity invisible="1" />
</immunities>
<voices interval="2000" chance="7">
<voice sentence="Muahaha!" />
<voice sentence="He he he." />
</voices>
<loot>
<item id="3031" countmax="100" chance="500" /><!-- gold coin -->
<item id="3031" countmax="97" chance="400" /><!-- gold coin -->
<item id="3451" chance="500" /><!-- pitchfork -->
<item id="6558" countmax="2" chance="250" /><!-- concentrated demonic blood -->
<item id="3147" countmax="2" chance="166" /><!-- blank rune -->
<item id="3415" chance="81" /><!-- guardian shield -->
<item id="3471" chance="88" /><!-- cleaver -->
<item id="3307" chance="56" /><!-- scimitar -->
<item id="5944" chance="72" /><!-- soul orb -->
<item id="3031" countmax="7" chance="33" /><!-- platinum coin -->
<item id="3033" countmax="3" chance="22" /><!-- small amethyst -->
<item id="3049" chance="27" /><!-- stealth ring -->
<item id="3275" chance="19" /><!-- double axe -->
<item id="6299" chance="1" /><!-- death ring -->
<item id="3069" chance="8" /><!-- necrotic rod -->
</loot>
</monster>

View File

@ -0,0 +1,60 @@
<monster name="Dracola" nameDescription="Dracola" race="undead" experience="11000" speed="205" manacost="0">
<health now="16200" max="16200" />
<look type="231" corpse="6305" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="0" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="0" />
</flags>
<attacks skill="100" attack="130">
<attack name="lifedrain" interval="3000" chance="20" length="8" spread="3" min="-800" max="-1000">
<attribute key="areaEffect" value="greenshimmer" />
</attack>
<attack name="poison" interval="2000" chance="20" range="7" radius="4" target="1" min="-120" max="-750">
<attribute key="shootEffect" value="poison" />
<attribute key="areaEffect" value="poison" />
</attack>
<attack name="drowncondition" interval="1000" chance="20" count="70" length="8" spread="3">
<attribute key="areaEffect" value="poff" />
</attack>
<attack name="physical" interval="2000" chance="20" range="7" radius="4" target="1" min="-300" max="-870">
<attribute key="shootEffect" value="fire" />
<attribute key="areaEffect" value="redspark" />
</attack>
<attack name="physical" interval="3000" chance="10" range="7" min="0" max="-750">
<attribute key="shootEffect" value="death" />
<attribute key="areaEffect" value="mortarea" />
</attack>
<attack name="poison" interval="1000" chance="23" range="7" radius="4" target="1" min="-50" max="-175">
<attribute key="shootEffect" value="poison" />
<attribute key="areaEffect" value="poison" />
</attack>
<attack name="manadrain" interval="2000" chance="10" range="7" min="-100" max="-200" />
</attacks>
<defenses armor="40" defense="39">
<defense name="healing" interval="4000" chance="10" min="500" max="1000">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
</defenses>
<immunities>
<immunity earth="1" />
<immunity paralyze="1" />
<immunity invisible="1" />
</immunities>
<voices interval="2000" chance="5">
<voice sentence="DEATH CAN'T STOP MY HUNGER!" yell="1" />
</voices>
<loot>
<item id="3035" countmax="8" chance="200" /><!-- platinum coin -->
<item id="6546" chance="1000" /><!-- dracola's eye -->
</loot>
</monster>

74
data/monster/790/fury.xml Normal file
View File

@ -0,0 +1,74 @@
<monster name="Fury" nameDescription="a fury" race="blood" experience="4500" speed="125" manacost="0">
<health now="4100" max="4100" />
<look type="149" head="94" body="77" legs="96" feet="0" addons="3" corpse="6081" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="1" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="0" />
</flags>
<attacks skill="50" attack="170">
<attack name="fire" interval="2000" chance="10" length="8" spread="3" min="-200" max="-300">
<attribute key="areaEffect" value="explosionarea" />
</attack>
<attack name="physical" interval="2000" chance="5" length="8" spread="0" min="-120" max="-700">
<attribute key="areaEffect" value="redspark" />
</attack>
<attack name="physical" interval="2000" chance="10" radius="4" target="0" min="-120" max="-300">
<attribute key="areaEffect" value="redspark" />
</attack>
<attack name="lifedrain" interval="2000" chance="10" radius="3" target="0" min="-120" max="-300">
<attribute key="areaEffect" value="blackspark" />
</attack>
<attack name="physical" interval="2000" chance="10" range="7" min="-125" max="-250">
<attribute key="shootEffect" value="death" />
<attribute key="areaEffect" value="mortarea" />
</attack>
<attack name="speed" interval="2000" chance="15" range="7" speedchange="-100" duration="30000">
<attribute key="shootEffect" value="death" />
<attribute key="areaEffect" value="mortarea" />
</attack>
</attacks>
<defenses armor="20" defense="20">
<defense name="speed" interval="2000" chance="15" speedchange="60" duration="5000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
</defenses>
<immunities>
<immunity paralyze="1" />
<immunity invisible="1" />
<immunity fire="1" />
</immunities>
<voices interval="2000" chance="7">
<voice sentence="Ahhhhrrrr!" />
<voice sentence="Waaaaah!" />
<voice sentence="Carnage!" />
<voice sentence="Dieee!" />
</voices>
<loot>
<item id="3031" countmax="100" chance="300" /><!-- gold coin -->
<item id="3031" countmax="100" chance="300" /><!-- gold coin -->
<item id="3031" countmax="69" chance="380" /><!-- gold coin -->
<item id="3035" countmax="4" chance="28" /><!-- platinum coin -->
<item id="6558" countmax="3" chance="350" /><!-- concentrated demonic blood -->
<item id="3364" chance="1" /><!-- golden legs -->
<item id="3577" chance="250" /><!-- meat -->
<item id="5021" countmax="4" chance="15" /><!-- orichalcum pearl -->
<item id="5911" chance="40" /><!-- red piece of cloth -->
<item id="3003" countmax="3" chance="80" /><!-- small amethyst -->
<item id="5944" chance="215" /><!-- soul orb -->
<item id="3554" chance="7" /><!-- steel boots -->
<item id="3065" chance="200" /><!-- terra rod -->
<item id="5944" chance="50" /><!-- assassin star -->
<item id="3007" chance="4" /><!-- crystal ring-->
<item id="6299" chance="60" /><!-- death ring-->
</loot>
</monster>

View File

@ -0,0 +1,96 @@
<monster name="Grynch Clan Goblin" nameDescription="a Grynch Clan Goblin" race="blood" experience="4" speed="435" manacost="0">
<health now="80" max="80" />
<look type="61" corpse="6002" />
<targetchange interval="1000" chance="0" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="0" />
<flag illusionable="0" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="0" />
<flag canpushcreatures="0" />
<flag targetdistance="11" />
<flag runonhealth="80" />
</flags>
<attacks>
</attacks>
<defenses armor="10" defense="12">
<defense name="speed" interval="1000" chance="15" speedchange="100" duration="5000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
</defenses>
<immunities>
<immunity fire="1" />
<immunity invisible="1" />
</immunities>
<voices interval="2000" chance="7">
<voice sentence="T'was not me hand in your pocket!" />
<voice sentence="Look! Cool stuff in house. Let's get it!" />
<voice sentence="Uhh! Nobody home!" />
<voice sentence="Me just borrowed it!" />
<voice sentence="Me no steal! Me found it!" />
<voice sentence="Me had it for five minutes. It's family heirloom now!" />
<voice sentence="Nice human won't hurt little, good goblin?" />
<voice sentence="Gimmegimme!" />
<voice sentence="Invite me in you lovely house plx!" />
<voice sentence="Other Goblin stole it!" />
<voice sentence="All presents mine!" />
<voice sentence="Me got ugly ones purse" />
<voice sentence="Free itans plz!" />
<voice sentence="Not me! Not me!" />
<voice sentence="Guys, help me here! Guys? Guys???" />
<voice sentence="That only much dust in me pocket! Honest!" />
<voice sentence="Can me have your stuff?" />
<voice sentence="Halp, Big dumb one is after me!" />
<voice sentence="Uh, So many shiny things!" />
<voice sentence="Utani hur hur hur!" />
<voice sentence="Mee? Stealing? Never!!!" />
<voice sentence="Oh what fun it is to steal a one-horse open sleigh!" />
<voice sentence="Must have it! Must have it!" />
<voice sentence="Where me put me lockpick?" />
<voice sentence="Catch me if you can!" />
</voices>
<loot>
<item id="3031" countmax="22" chance="225" /><!-- gold coin -->
<item id="6496" chance="70" /><!-- present bag -->
<item id="2992" countmax="5" chance="70" /><!-- snowball -->
<item id="6276" countmax="3" chance="70" /><!-- lump of cake dough -->
<item id="3586" countmax="3" chance="70" /><!-- orange -->
<item id="3598" countmax="5" chance="70" /><!-- cookie -->
<item id="3590" countmax="4" chance="70" /><!-- cherry -->
<item id="3585" countmax="3" chance="7" /><!-- apple -->
<item id="3606" countmax="2" chance="50" /><!-- egg -->
<item id="3599" countmax="3" chance="50" /><!-- candy cane -->
<item id="2950" chance="50" /><!-- lute -->
<item id="3147" chance="50" /><!-- blank rune -->
<item id="3046" chance="40" /><!-- magic light wand -->
<item id="2639" chance="40" /><!-- landscape picture -->
<item id="3056" chance="40" /><!-- bronze amulet -->
<item id="2815" chance="40" /><!-- scroll -->
<item id="6500" countmax="2" chance="40" /><!-- gingerbread man -->
<item id="3572" chance="40" /><!-- scarf -->
<item id="5890" countmax="5" chance="40" /><!-- chicken feather -->
<item id="5894" countmax="3" chance="40" /><!-- bat wing -->
<item id="5902" chance="40" /><!-- honeycomb -->
<item id="4871" chance="40" /><!-- explorer brooch -->
<item id="6392" chance="15" /><!-- valentine cake -->
<item id="6091" chance="15" /><!-- watch -->
<item id="3454" chance="15" /><!-- broom -->
<item id="2995" chance="10" /><!-- piggy bank -->
<item id="5792" chance="10" /><!-- dice -->
<item id="3463" chance="10" /><!-- mirror -->
<item id="2394" chance="7" /><!-- blue round pillow -->
<item id="2395" chance="7" /><!-- red round pillow -->
<item id="2396" chance="7" /><!-- green round pillow -->
<item id="2397" chance="7" /><!-- yellow round pillow -->
<item id="2983" chance="5" /><!-- flower bowl -->
<item id="4828" chance="5" /><!-- bottle -->
<item id="3042" countmax="2" chance="5" /><!-- scarab coin -->
<item id="5021" countmax="2" chance="5" /><!-- orichalcum pearl -->
<item id="3043" chance="2" /><!-- crystal coin -->
<item id="3434" chance="2" /><!-- vampire shield -->
</loot>
</monster>

View File

@ -0,0 +1,70 @@
<monster name="Hand Of Cursed Fate" nameDescription="a hand of cursed fate" race="blood" experience="5000" speed="130" manacost="0">
<health now="7500" max="7500" />
<look type="230" corpse="6311" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="1" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="3500" />
</flags>
<attacks skill="70" attack="130" poison="380">
<attack name="manadrain" interval="2000" chance="15" range="1" min="0" max="-920" />
<attack name="drunk" interval="2000" chance="10" target="0" radius="4" duration="3000">
<attribute key="areaEffect" value="mortarea" />
</attack>
<attack name="lifedrain" interval="2000" chance="15" range="1" min="-220" max="-880">
<attribute key="areaEffect" value="mortarea" />
</attack>
</attacks>
<defenses armor="25" defense="25">
<defense name="speed" interval="2000" chance="15" speedchange="70" duration="5000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
<defense name="invisible" interval="2000" chance="10" duration="8000">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
<defense name="healing" interval="2000" chance="20" min="100" max="250">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
</defenses>
<immunities>
<immunity earth="1" />
<immunity energy="1" />
<immunity fire="1" />
<immunity paralyze="1" />
<immunity invisible="1" />
</immunities>
<loot>
<item id="3031" countmax="100" chance="600" /><!-- gold coin -->
<item id="3031" countmax="100" chance="600" /><!-- gold coin -->
<item id="3031" countmax="67" chance="500" /><!-- gold coin -->
<item id="3035" countmax="7" chance="1000" /><!-- platinum coin -->
<item id="6558" countmax="4" chance="300" /><!-- concentrated demonic blood -->
<item id="5944" chance="311" /><!-- soul orb -->
<item id="3029" countmax="4" chance="110" /><!-- small sapphire -->
<item id="3062" chance="90" /><!-- mind stone -->
<item id="3010" chance="35" /><!-- emerald bangle -->
<item id="3084" chance="87" /><!-- protection amulet -->
<item id="3071" chance="55" /><!-- wand of inferno -->
<item id="3370" chance="45" /><!-- knight armor -->
<item id="6299" chance="17" /><!-- death ring -->
<item id="3381" chance="14" /><!-- crown armor -->
<item id="3051" chance="31" /><!-- energy ring -->
<item id="3055" chance="10" /><!-- platinum amulet-->
<item id="3324" chance="7" /><!-- skull staff -->
<item id="3036" chance="7" /><!-- violet gem -->
<item id="3037" chance="59" /><!-- yellow gem -->
<item id="3079" chance="5" /><!-- boots of haste -->
<item id="5799" chance="1" /><!-- golden figurine -->
<item id="5668" chance="2" /><!-- mysterious voodoo skull -->
<item id="3155" countmax="8" chance="42" /><!-- sudden death rune -->
</loot>
</monster>

View File

@ -0,0 +1,52 @@
<monster name="Hellfire Fighter" nameDescription="a hellfire fighter" race="fire" experience="3900" speed="110" manacost="0">
<health now="3800" max="3800" />
<look type="243" corpse="6323" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="0" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="0" />
</flags>
<attacks attack="80" skill="120">
<attack name="firefield" interval="2000" chance="10" range="7" radius="3" target="0" />
<attack name="fire" interval="2000" chance="10" target="0" length="8" spread="0" min="-392" max="-1500">
<attribute key="areaEffect" value="firearea" />
</attack>
<attack name="fire" interval="2000" chance="15" range="7" radius="3" target="0" min="-60" max="-330">
<attribute key="areaEffect" value="fire" />
</attack>
</attacks>
<defenses armor="35" defense="35" />
<immunities>
<immunity fire="1" />
<immunity paralyze="1" />
<immunity invisible="1" />
</immunities>
<loot>
<item id="3031" countmax="246" chance="1000" /> <!-- gold coin -->
<item id="3124" chance="500" /> <!-- burnt scroll -->
<item id="3147" countmax="2" chance="300" /> <!-- blank rune -->
<!-- demonic essence -->
<item id="5944" chance="120" /> <!-- soul orb -->
<!-- fiery heart -->
<item id="3071" chance="95" /> <!-- wand of inferno -->
<!-- piece of hellfire armor -->
<item id="3280" chance="43" /> <!-- fire sword -->
<item id="3010" chance="22" /> <!-- emerald bangle -->
<item id="3028" chance="14" /> <!-- small diamond -->
<item id="3035" chance="10" /> <!-- platinum coin -->
<!-- magma legs -->
<!-- coal -->
<item id="3320" chance="4" /> <!-- fire axe -->
<!-- magma coat -->
<item id="3019" chance="2" /> <!-- demonbone amulet -->
</loot>
</monster>

View File

@ -0,0 +1,73 @@
<monster name="Hellhound" nameDescription="a hellhound" race="blood" experience="6800" speed="140" manacost="0">
<health now="7500" max="7500" />
<look type="240" corpse="6331" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="1" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="0" />
</flags>
<attacks skill="70" attack="130" poison="800">
<attack name="earth" interval="2000" chance="5" length="8" spread="3" min="-300" max="-700">
<attribute key="areaEffect" value="poison" />
</attack>
<attack name="physical" interval="2000" chance="10" range="7" min="-395" max="-498">
<attribute key="shootEffect" value="death" />
<attribute key="areaEffect" value="mortarea" />
</attack>
<attack name="fire" interval="2000" chance="10" length="8" spread="3" min="-350" max="-660">
<attribute key="areaEffect" value="firearea" />
</attack>
<attack name="lifedrain" interval="2000" chance="10" length="8" spread="3" min="-350" max="-976">
<attribute key="areaEffect" value="redshimmer" />
</attack>
<attack name="fire" interval="2000" chance="10" radius="1" target="1" min="-200" max="-403">
<attribute key="areaEffect" value="fire" />
</attack>
<attack name="earth" interval="2000" chance="5" range="7" min="-300" max="-549">
<attribute key="shootEffect" value="poison" />
<attribute key="areaEffect" value="poison" />
</attack>
</attacks>
<defenses armor="40" defense="40">
<defense name="speed" interval="2000" chance="15" speedchange="70" duration="5000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
<defense name="healing" interval="2000" chance="20" min="220" max="425">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
</defenses>
<immunities>
<immunity paralyze="1" />
<immunity invisible="1" />
<immunity fire="1" />
</immunities>
<voices interval="2000" chance="7">
<voice sentence="GROOOWL!" />
<voice sentence="GRRRRR!" />
</voices>
<loot>
<item id="3031" countmax="100" chance="1000" /><!-- gold coin -->
<item id="3035" countmax="7" chance="1000" /><!-- platinum coin -->
<item id="3582" countmax="14" chance="309" /><!-- ham -->
<item id="3027" countmax="4" chance="94" /><!-- black pearl -->
<item id="3116" chance="10" /><!-- big bone -->
<item id="6558" countmax="2" chance="310" /><!-- concentrated demonic blood -->
<item id="3281" chance="9" /><!-- giant sword -->
<item id="5944" chance="530" /><!-- soul orb -->
<item id="3318" chance="108" /><!-- knight axe -->
<item id="3271" chance="163" /><!-- spike sword -->
<item id="6553" chance="4" /><!-- ruthless axe -->
<item id="3280" chance="69" /><!-- fire sword -->
<item id="4871" chance="1" /><!-- explorer brooch -->
<item id="3071" chance="90" /><!-- wand of inferno -->
</loot>
</monster>

View File

@ -0,0 +1,65 @@
<monster name="Juggernaut" nameDescription="a juggernaut" race="blood" experience="6500" speed="145" manacost="0">
<health now="20000" max="20000" />
<look type="244" corpse="6335" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="1" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="0" />
</flags>
<attacks skill="200" attack="140">
<attack name="physical" interval="2000" chance="15" range="7" min="0" max="-780">
<attribute key="shootEffect" value="largerock" />
</attack>
</attacks>
<defenses armor="60" defense="60">
<defense name="speed" interval="2000" chance="15" speedchange="72" duration="5000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
<defense name="healing" interval="2000" chance="15" min="400" max="900">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
</defenses>
<immunities>
<immunity paralyze="1" />
<immunity invisible="1" />
</immunities>
<voices interval="2000" chance="7">
<voice sentence="RAAARRR!" />
<voice sentence="GRRRRRR!" />
<voice sentence="WAHHHH!" />
</voices>
<loot>
<item id="3031" countmax="100" chance="1000" /><!-- gold coin -->
<item id="3031" countmax="100" chance="1000" /><!-- gold coin -->
<item id="3031" countmax="100" chance="1000" /><!-- gold coin -->
<item id="3031" countmax="100" chance="1000" /><!-- gold coin -->
<item id="3035" countmax="15" chance="1000" /><!-- platinum coin -->
<item id="3582" countmax="8" chance="600" /><!-- ham -->
<item id="5944" chance="333" /><!-- soul orb -->
<item id="6558" countmax="4" chance="250" /><!-- concentrated demonic blood -->
<item id="3030" countmax="4" chance="200" /><!-- small ruby -->
<item id="3032" countmax="5" chance="200" /><!-- small emerald -->
<item id="3039" chance="138" /><!-- red gem -->
<item id="3036" chance="8" /><!-- violet gem -->
<item id="3019" chance="5" /><!-- demonbone amulet -->
<item id="3360" chance="5" /><!-- golden armor -->
<item id="3038" chance="8" /><!-- green gem -->
<item id="3481" chance="2" /><!-- closed trap -->
<item id="3370" chance="49" /><!-- knight armor -->
<item id="3414" chance="8" /><!-- mastermind shield -->
<item id="3322" chance="90" /><!-- dragon hammer -->
<item id="3364" chance="5" /><!-- golden legs -->
<item id="3113" chance="6" /><!-- broken pottery -->
<item id="3340" chance="4" /><!-- heavy mace -->
<item id="3342" chance="4" /><!-- war axe -->
</loot>
</monster>

View File

@ -0,0 +1,64 @@
<monster name="Lost Soul" nameDescription="a lost soul" race="undead" experience="4000" speed="110" manacost="0">
<health now="5800" max="5800" />
<look type="232" corpse="6310" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="0" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="450" />
</flags>
<attacks skill="80" attack="90">
<attack name="physical" interval="2000" chance="10" length="3" spread="0" target="0" min="-40" max="-210">
<attribute key="areaEffect" value="redshimmer" />
</attack>
<attack name="speed" interval="2000" chance="20" radius="6" target="0" speedchange="-100" duration="4000">
<attribute key="areaEffect" value="mortarea" />
</attack>
</attacks>
<defenses armor="30" defense="30" />
<immunities>
<immunity fire="1" />
<immunity earth="1" />
<immunity lifedrain="1" />
<immunity paralyze="1" />
<immunity invisible="1" />
</immunities>
<voices interval="2000" chance="7">
<voice sentence="Forgive Meeeee!" />
<voice sentence="Mouuuurn meeee!" />
<voice sentence="Help meeee!" />
</voices>
<loot>
<item id="3031" countmax="198" chance="999" /> <!-- gold coin -->
<item id="3035" countmax="7" chance="999" /> <!-- platinum coin -->
<item id="3147" countmax="3" chance="352" /> <!-- blank rune -->
<!-- unholy bone -->
<item id="5944" chance="150" /> <!-- soul orb -->
<!-- great mana potion -->
<item id="3027" countmax="3" chance="120" /> <!-- black pearl -->
<item id="3026" countmax="3" chance="110" /> <!-- white pearl -->
<!-- great health potion -->
<!-- demonic essence -->
<item id="5806" chance="52" /> <!-- silver goblet -->
<!-- rusty armor (semi-rare) -->
<!-- rusty armor (rare) -->
<item id="3081" chance="29" /> <!-- stone skin amulet -->
<item id="6299" chance="25" /> <!-- death ring -->
<item id="3039" chance="19" /> <!-- red gem -->
<item id="3016" chance="15" /> <!-- ruby necklace -->
<item id="6525" chance="11" /> <!-- skeleton decoration -->
<!-- titan axe -->
<item id="3324" chance="9" /> <!-- skull staff -->
<!-- haunted blade -->
<item id="3428" chance="8" /> <!-- tower shield -->
<item id="5741" chance="1" /> <!-- skull helmet -->
</loot>
</monster>

View File

@ -0,0 +1,39 @@
<monster name="Massacre" nameDescription="Massacre" race="blood" experience="9800" speed="195" manacost="0">
<health now="30000" max="30000" />
<look type="244" corpse="6335" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="0" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="0" />
</flags>
<attacks skill="150" attack="150">
<attack name="physical" interval="2000" chance="24" range="7" min="-280" max="-500">
<attribute key="shootEffect" value="largerock" />
</attack>
</attacks>
<defenses armor="15" defense="15">
<defense name="speed" interval="2000" chance="12" speedchange="90" duration="4000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
</defenses>
<immunities>
<immunity energy="1" />
<immunity fire="1" />
<immunity poison="1" />
<immunity lifedrain="1" />
<immunity paralyze="1" />
<immunity invisible="1" />
</immunities>
<loot>
<item id="6540" chance="1000" /><!-- massacre's shell piece -->
</loot>
</monster>

View File

@ -0,0 +1,31 @@
<monster name="Mr. Punish" nameDescription="Mr. Punish" race="undead" experience="5500" speed="235" manacost="0">
<health now="12000" max="12000" />
<look type="234" corpse="6330" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="0" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag lightlevel="0" />
<flag lightcolor="0" />
<flag targetdistance="1" />
<flag runonhealth="2000" />
</flags>
<attacks skill="170" attack="140">
</attacks>
<defenses armor="64" defense="72" />
<immunities>
<immunity energy="1" />
<immunity fire="1" />
<immunity poison="1" />
<immunity invisible="1" />
</immunities>
<loot>
<item id="6537" chance="1000" /><!-- mr punish's handcuffs -->
</loot>
</monster>

View File

@ -0,0 +1,36 @@
<monster name="Munster" nameDescription="Munster" race="blood" experience="35" speed="100" manacost="0">
<health now="58" max="58" />
<look type="56" corpse="5964" />
<targetchange interval="1000" chance="0" />
<targetstrategy nearest="100" weakest="0" mostdamage="0" random="0" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="0" />
<flag convinceable="0" />
<flag pushable="1" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="10" />
</flags>
<attacks attack="8" skill="18">
</attacks>
<defenses armor="2" defense="4" />
<voices interval="2000" chance="5">
<voice sentence="Meep!" />
<voice sentence="Meeeeep!" />
</voices>
<summons maxSummons="2">
<summon name="Rat" interval="2000" chance="20" />
</summons>
<loot>
<item id="3337" chance="870" /> <!-- bone club -->
<item id="3031" countmax="22" chance="710" /> <!-- gold coin -->
<item id="3607" chance="560" /> <!-- cheese -->
<item id="3492" countmax="4" chance="510" /> <!-- worm -->
<item id="3598" countmax="2" chance="25" /> <!-- cookie -->
<item id="5792" chance="2" /> <!-- die -->
</loot>
</monster>

View File

@ -0,0 +1,65 @@
<monster name="Nightmare" nameDescription="a nightmare" race="blood" experience="2150" speed="120" manacost="0">
<health now="2700" max="2700" />
<look type="245" corpse="6339" />
<targetchange interval="1000" chance="5" />
<targetstrategy nearest="70" weakest="0" mostdamage="30" random="0" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="1" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="300" />
</flags>
<attacks skill="50" attack="50">
<attack name="physical" interval="2000" chance="10" range="7" radius="1" target="1" min="-120" max="-170">
<attribute key="shootEffect" value="death" />
<attribute key="areaEffect" value="mortarea" />
</attack>
<attack name="earth" interval="2000" chance="20" range="7" radius="4" target="1" min="-150" max="-350">
<attribute key="shootEffect" value="poison" />
<attribute key="areaEffect" value="poison" />
</attack>
</attacks>
<defenses armor="25" defense="25">
<defense name="healing" interval="2000" chance="10" min="60" max="100">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
<defense name="speed" interval="2000" chance="15" speedchange="60" duration="5000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
</defenses>
<immunities>
<immunity invisible="1" />
<immunity earth="1" />
<immunity lifedrain="1" />
</immunities>
<voices interval="2000" chance="7">
<voice sentence="Close your eyes... I want to show you something." />
<voice sentence="I will haunt you forever!" />
<voice sentence="Pffffrrrrrrrrrrrr." />
<voice sentence="I will make you scream." />
<voice sentence="Take a ride with me." />
<voice sentence="Weeeheeheeeheee!" />
</voices>
<loot>
<item id="3031" countmax="100" chance="500" /><!-- gold coin -->
<item id="3031" countmax="55" chance="500" /><!-- gold coin -->
<item id="3582" countmax="2" chance="290" /><!-- ham -->
<item id="5944" chance="200" /><!-- soul orb -->
<item id="6558" countmax="2" chance="196" /><!-- concentrated demonic blood -->
<item id="3450" countmax="4" chance="90" /><!-- power bolt -->
<item id="3035" countmax="3" chance="25" /><!-- platinum coin -->
<item id="6299" chance="12" /><!-- death ring -->
<item id="3432" chance="9" /><!-- ancient shield -->
<item id="3371" chance="9" /><!-- knight legs -->
<item id="3079" chance="3" /><!-- boots of haste -->
<item id="6525" chance="3" /><!-- skeleton decoration -->
<item id="5668" chance="1" /><!-- mysterious voodoo skull -->
<item id="3342" chance="95" /><!-- war axe -->
</loot>
</monster>

View File

@ -0,0 +1,42 @@
<monster name="Nomad" nameDescription="a nomad" race="blood" experience="60" speed="100" manacost="420">
<health now="160" max="160" />
<look type="146" head="114" body="20" legs="22" feet="2" addons="2" corpse="6080" />
<targetchange interval="1000" chance="0" />
<targetstrategy nearest="100" weakest="0" mostdamage="0" random="0" />
<flags>
<flag summonable="1" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="0" />
<flag convinceable="1" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="0" />
<flag targetdistance="1" />
<flag runonhealth="15" />
</flags>
<attacks attack="30" skill="40">
<attack name="physical" interval="2000" chance="10" target="0" radius="1">
<attribute key="areaeffect" value="whitenote" />
</attack>
</attacks>
<defenses armor="15" defense="15" />
<voices interval="2000" chance="7">
<voice sentence="We are the true sons of the desert!" />
<voice sentence="I will leave your remains to the vultures!" />
<voice sentence="We are swift as the wind of the desert!" />
<voice sentence="Your riches will be mine!" />
</voices>
<loot>
<item id="3031" countmax="40" chance="560" /> <!-- gold coin -->
<!-- rope belt -->
<!-- potato -->
<item id="3274" chance="27" /> <!-- axe -->
<item id="3359" chance="23" /> <!-- brass armor -->
<item id="3286" chance="21" /> <!-- mace -->
<!-- dirty turban -->
<item id="3409" chance="9" /> <!-- steel shield -->
<item id="3353" chance="6" /> <!-- iron helmet -->
<!-- nomad parchment -->
</loot>
</monster>

View File

@ -0,0 +1,53 @@
<monster name="Phantasm" nameDescription="a phantasm" race="undead" experience="0" speed="120" manacost="0">
<health now="65" max="65" />
<look type="241" head="20" corpse="6343" />
<targetchange interval="1000" chance="5" />
<targetstrategy nearest="70" weakest="0" mostdamage="30" random="0" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="1" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="0" />
</flags>
<attacks skill="30" attack="25">
<attack name="physical" interval="2000" chance="15" range="7" min="-50" max="-80">
<attribute key="shootEffect" value="death" />
<attribute key="areaEffect" value="mortarea" />
</attack>
<attack name="manadrain" interval="2000" chance="10" target="0" radius="3" min="-5" max="-80">
<attribute key="areaEffect" value="yellowbubble" />
</attack>
<attack name="drunk" interval="2000" chance="5" radius="5" target="0" duration="6000">
<attribute key="areaEffect" value="redshimmer" />
</attack>
</attacks>
<defenses>
<defense name="healing" interval="2000" chance="30" min="40" max="65">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
<defense name="speed" interval="2000" chance="10" speedchange="60" duration="6000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
<defense name="invisible" interval="2000" chance="25" duration="8000">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
</defenses>
<immunities>
<immunity paralyze="1" />
<immunity invisible="1" />
<immunity lifedrain="1" />
<immunity physical="1" />
</immunities>
<voices interval="2000" chance="7">
<voice sentence="Oh my, you forgot to put your pants on!" />
<voice sentence="Weeheeheeheehee!" />
<voice sentence="Its nothing but a dream!" />
<voice sentence="Give in!" />
</voices>
</monster>

View File

@ -0,0 +1,71 @@
<monster name="Phantasm" nameDescription="a phantasm" race="undead" experience="4400" speed="120" manacost="0">
<health now="3950" max="3950" />
<look type="241" head="20" corpse="6343" />
<targetchange interval="1000" chance="5" />
<targetstrategy nearest="70" weakest="0" mostdamage="30" random="0" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="1" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="350" />
</flags>
<attacks skill="90" attack="95">
<attack name="physical" interval="2000" chance="10" range="7" min="-250" max="-610">
<attribute key="shootEffect" value="death" />
<attribute key="areaEffect" value="mortarea" />
</attack>
<attack name="manadrain" interval="2000" chance="20" target="0" radius="3" min="-5" max="-80">
<attribute key="areaEffect" value="yellowbubble" />
</attack>
<attack name="drunk" interval="2000" chance="15" radius="5" target="0" duration="6000">
<attribute key="areaEffect" value="redshimmer" />
</attack>
</attacks>
<defenses>
<defense name="healing" interval="2000" chance="30" min="228" max="449">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
<defense name="speed" interval="2000" chance="10" speedchange="500" duration="6000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
<defense name="invisible" interval="2000" chance="25" duration="8000">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
</defenses>
<immunities>
<immunity paralyze="1" />
<immunity invisible="1" />
<immunity lifedrain="1" />
<immunity physical="1" />
</immunities>
<voices interval="2000" chance="7">
<voice sentence="Oh my, you forgot to put your pants on!" />
<voice sentence="Weeheeheeheehee!" />
<voice sentence="Its nothing but a dream!" />
<voice sentence="Give in!" />
</voices>
<summons maxSummons="4">
<summon name="Phantasm Summon" interval="2000" chance="20" />
<summon name="Phantasm Summon" interval="2000" chance="20" />
</summons>
<loot>
<item id="3031" countmax="100" chance="300" /><!-- gold coin -->
<item id="3031" countmax="100" chance="300" /><!-- gold coin -->
<item id="3031" countmax="33" chance="280" /><!-- gold coin -->
<item id="3035" countmax="4" chance="877" /><!-- platinum coin -->
<item id="3147" countmax="2" chance="225" /><!-- blank rune -->
<item id="3740" countmax="2" chance="269" /><!-- shadow herb -->
<item id="3032" countmax="3" chance="101" /><!-- small emerald -->
<item id="3381" chance="6" /><!-- crown armor -->
<item id="3049" chance="5" /><!-- stealth ring -->
<item id="6299" chance="3" /><!-- death ring -->
<item id="3030" countmax="3" chance="121" /><!-- small ruby -->
<item id="3033" countmax="3" chance="145" /><!-- small amethyst -->
</loot>
</monster>

View File

@ -0,0 +1,75 @@
<monster name="Plaguesmith" nameDescription="a plaguesmith" race="venom" experience="4500" speed="120" manacost="0">
<health now="8250" max="8250" />
<look type="247" corpse="6515" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="1" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="500" />
</flags>
<attacks skill="100" attack="98" poison="200">
<attack name="poison" interval="2000" chance="15" radius="4" target="0" min="-60" max="-114">
<attribute key="areaEffect" value="poison" />
</attack>
<attack name="poison" interval="2000" chance="10" length="5" spread="3" min="-100" max="-350">
<attribute key="areaEffect" value="yellowbubble" />
</attack>
<attack name="speed" interval="2000" chance="15" radius="4" target="0" speedchange="-100" duration="30000">
<attribute key="areaEffect" value="poison" />
</attack>
</attacks>
<defenses armor="40" defense="40">
<defense name="healing" interval="2000" chance="10" min="200" max="280">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
<defense name="speed" interval="2000" chance="15" speedchange="60" duration="5000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
</defenses>
<immunities>
<immunity earth="1" />
<immunity paralyze="1" />
<immunity invisible="1" />
</immunities>
<voices interval="2000" chance="7">
<voice sentence="You are looking a bit feverish!" />
<voice sentence="You don't look that good!" />
<voice sentence="Hachoo!" />
<voice sentence="Cough Cough" />
</voices>
<loot>
<item id="3031" countmax="100" chance="500" /><!-- gold coin -->
<item id="3031" countmax="100" chance="400" /><!-- gold coin -->
<item id="3031" countmax="65" chance="500" /><!-- gold coin -->
<item id="3122" chance="600" /><!-- dirty cape -->
<item id="3120" chance="500" /><!-- moldy cheese -->
<item id="3282" chance="290" /><!-- morning star-->
<item id="3265" chance="200" /><!-- two handed sword -->
<item id="3409" chance="200" /><!-- steel shield -->
<item id="3110" chance="200" /><!-- piece of iron -->
<item id="3305" chance="200" /><!-- battle hammer -->
<item id="5944" chance="111" /><!-- soul orb -->
<item id="3035" countmax="2" chance="71" /><!-- platinum coin -->
<item id="3371" chance="62" /><!-- knight legs -->
<item id="3033" countmax="3" chance="50" /><!-- small amethyst -->
<item id="3093" chance="47" /><!-- club ring -->
<item id="3092" chance="43" /><!-- axe ring -->
<item id="3279" chance="21" /><!-- war hammer -->
<item id="3017" chance="20" /><!-- silver brooch -->
<item id="5887" chance="12" /><!-- piece of royal steel -->
<item id="3554" chance="11" /><!-- steel boots -->
<item id="5889" chance="10" /><!-- piece of dragonian steel -->
<item id="5888" chance="10" /><!-- piece of hell steel -->
<item id="3332" chance="9" /><!-- hammer of wrath -->
<item id="3010" chance="3" /><!-- emerald bangle -->
<item id="3103" chance="100" /><!-- war horn -->
</loot>
</monster>

View File

@ -0,0 +1,54 @@
<monster name="Son Of Verminor" nameDescription="a son of verminor" race="venom" experience="5900" speed="120" manacost="0">
<health now="8500" max="8500" />
<look type="19" corpse="2121" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="0" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="0" />
</flags>
<attacks skill="95" attack="90" poison="450">
<attack name="earth" interval="2000" chance="20" range="7" target="1" min="-150" max="-200">
<attribute key="shootEffect" value="poison" />
</attack>
<attack name="earth" interval="2000" chance="15" radius="3" target="0" min="-350" max="-390">
<attribute key="areaEffect" value="poison" />
</attack>
<attack name="physical" interval="2000" chance="15" radius="3" target="0" min="-220" max="-270">
<attribute key="areaEffect" value="mortarea" />
</attack>
</attacks>
<defenses armor="20" defense="20">
<defense name="healing" interval="2000" chance="20" min="250" max="350">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
<defense name="outfit" interval="5000" chance="10" monster="rat" duration="6000">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
<defense name="outfit" interval="5000" chance="10" monster="larva" duration="6000">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
<defense name="outfit" interval="5000" chance="10" monster="scorpion" duration="6000">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
<defense name="outfit" interval="5000" chance="10" monster="slime" duration="6000">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
</defenses>
<immunities>
<immunity earth="1" />
<immunity paralyze="1" />
<immunity invisible="1" />
</immunities>
<voices interval="2000" chance="7">
<voice sentence="Blubb" />
</voices>
</monster>

View File

@ -0,0 +1,65 @@
<monster name="Spectre" nameDescription="a spectre" race="undead" experience="2100" speed="115" manacost="0">
<health now="1350" max="1350" />
<look type="235" head="20" corpse="6347" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="1" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="0" />
</flags>
<attacks skill="65" attack="82" poison="300">
<attack name="drunk" interval="2000" chance="15" radius="4" target="0" duration="6000">
<attribute key="areaEffect" value="purplenote" />
</attack>
<attack name="manadrain" interval="2000" chance="15" range="7" min="-100" max="-400" />
<attack name="lifedrain" interval="2000" chance="20" range="7" min="-300" max="-550">
<attribute key="areaEffect" value="redshimmer" />
</attack>
</attacks>
<defenses armor="35" defense="35">
<defense name="healing" interval="2000" chance="25" min="100" max="250">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
<defense name="healing" interval="2000" chance="10" min="370" max="700">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
<defense name="speed" interval="2000" chance="15" speedchange="60" duration="5000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
</defenses>
<immunities>
<immunity paralyze="1" />
<immunity invisible="1" />
<immunity drown="1" />
<immunity lifedrain="1" />
<immunity earth="1" />
</immunities>
<voices interval="2000" chance="7">
<voice sentence="Revenge ... is so ... sweet!" />
<voice sentence="Life...force! Feed me your... lifeforce!" />
</voices>
<loot>
<item id="3031" countmax="100" chance="330" /><!-- gold coin -->
<item id="3031" countmax="100" chance="330" /><!-- gold coin -->
<item id="3031" countmax="97" chance="330" /><!-- gold coin -->
<item id="3147" countmax="2" chance="303" /><!-- blank rune -->
<item id="3035" countmax="7" chance="38" /><!-- platinum coin -->
<item id="5944" chance="60" /><!-- soul orb -->
<item id="3049" chance="1" /><!-- stealth ring -->
<item id="3073" chance="98" /><!-- wand of cosmic energy -->
<item id="3260" chance="96" /><!-- lyre -->
<item id="3017" chance="8" /><!-- silver brooch -->
<item id="5909" chance="38" /><!-- white piece of cloth -->
<item id="6299" chance="2" /><!-- death ring -->
<item id="3017" chance="1" /><!-- shadow sceptre -->
<item id="3019" chance="1" /><!--demonbone amulet -->
</loot>
</monster>

View File

@ -0,0 +1,49 @@
<monster name="The Handmaiden" nameDescription="the Handmaiden" race="blood" experience="3850" speed="225" manacost="0">
<health now="14500" max="14500" />
<look type="230" corpse="6311" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="1" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="3100" />
</flags>
<attacks skill="150" attack="100">
<attack name="manadrain" interval="2000" chance="25" range="7" min="-150" max="-800">
<attribute key="areaEffect" value="blueshimmer" />
</attack>
<attack name="drunk" interval="1000" chance="12" range="1" target="1" />
</attacks>
<defenses armor="25" defense="35">
<defense name="speed" interval="3000" chance="12" speedchange="100" duration="8000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
<defense name="invisible" interval="4000" chance="50" duration="6000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
<defense name="healing" interval="2000" chance="50" min="100" max="250">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
<defense name="speed" interval="1000" chance="35" speedchange="100" duration="30000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
</defenses>
<immunities>
<immunity energy="1" />
<immunity fire="1" />
<immunity poison="1" />
<immunity lifedrain="1" />
<immunity paralyze="1" />
<immunity invisible="1" />
</immunities>
<loot>
<item id="6539" chance="350" /><!-- handmaiden's protector -->
</loot>
</monster>

View File

@ -0,0 +1,74 @@
<monster name="The Imperor" nameDescription="The Imperor" race="fire" experience="8000" speed="165" manacost="0">
<health now="15000" max="15000" />
<look type="237" corpse="6363" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="1" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="4" />
<flag runonhealth="0" />
</flags>
<attacks skill="110" attack="110">
<attack name="fire" interval="1000" chance="13" range="1" target="1" min="-50" max="-800">
<attribute key="shootEffect" value="fire" />
<attribute key="areaEffect" value="firearea" />
</attack>
<attack name="fire" interval="2000" chance="20" range="7" radius="6" target="1" min="-50" max="-800">
<attribute key="shootEffect" value="fire" />
<attribute key="areaEffect" value="firearea" />
</attack>
<attack name="fire" interval="2000" chance="30" length="4" spread="2" target="1" min="-90" max="-350">
<attribute key="shootEffect" value="fire" />
<attribute key="areaEffect" value="firearea" />
</attack>
</attacks>
<defenses armor="15" defense="15">
<defense name="healing" interval="2000" chance="50" min="175" max="505">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
<defense name="speed" interval="2000" chance="12" speedchange="80" duration="4000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
<defense name="invisible" interval="3000" chance="20" duration="5000">
<attribute key="areaEffect" value="redshimmer" />
</defense>
</defenses>
<immunities>
<immunity fire="1" />
<immunity poison="1" />
<immunity lifedrain="1" />
<immunity paralyze="1" />
<immunity invisible="1" />
</immunities>
<summons maxSummons="2">
<summon name="diabolic imp" interval="5500" chance="30" />
</summons>
<voices interval="2000" chance="7">
<voice sentence="Muahaha!" />
<voice sentence="He he he!" />
</voices>
<loot>
<item id="3031" countmax="79" chance="1000" /><!-- gold coin -->
<item id="2920" chance="150" /><!-- torch -->
<item id="6558" chance="22" /><!-- concentrated demonic blood -->
<item id="3147" chance="180" /><!-- blank rune -->
<item id="6534" chance="1000" /><!-- the imperor's trident -->
<item id="6299" chance="9" /><!-- death ring -->
<item id="3359" chance="65" /><!-- brass armor -->
<item id="3451" chance="200" /><!-- pitchfork -->
<item id="6528" countmax="5" chance="50" /><!-- infernal bolts -->
<item id="3359" chance="65" /><!-- brass armor -->
<item id="3069" chance="8" /><!-- volcanic rod -->
<item id="3358" chance="78" /><!-- chain armor -->
<item id="5944" chance="56" /><!-- soul orb -->
<item id="3033" countmax="1" chance="88" /><!-- small amethyst -->
<item id="3049" chance="45" /><!-- stealth ring -->
</loot>
</monster>

View File

@ -0,0 +1,57 @@
<monster name="The Plasmother" nameDescription="The Plasmother" race="venom" experience="8900" speed="155" manacost="0">
<health now="7500" max="7500" />
<look type="238" corpse="6532" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="0" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="250" />
</flags>
<attacks skill="30" attack="50">
<attack name="speed" interval="1000" chance="8" radius="6" target="0" speedchange="-100" duration="10000">
<attribute key="areaEffect" value="poison" />
</attack>
<attack name="earth" interval="2000" chance="15" target="0" radius="4" min="-200" max="-350">
<attribute key="areaEffect" value="poison" />
</attack>
<attack name="earth" interval="3000" chance="15" target="1" radius="4" min="-200" max="-530">
<attribute key="areaEffect" value="greenspark" />
<attribute key="shootEffect" value="poison" />
</attack>
</attacks>
<defenses armor="30" defense="30">
<defense name="healing" interval="1000" chance="75" min="505" max="605">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
</defenses>
<immunities>
<immunity earth="1" />
<immunity lifedrain="1" />
<immunity paralyze="1" />
<immunity invisible="1" />
</immunities>
<summons maxSummons="2">
<summon name="Defiler" interval="4000" chance="20" />
</summons>
<voices interval="2000" chance="7">
<voice sentence="Blubb" />
<voice sentence="Blubb Blubb" />
<voice sentence="Blubberdiblubb" />
</voices>
<loot>
<item id="3031" countmax="177" chance="200" /> <!-- gold coins -->
<item id="3035" countmax="13" chance="250" /><!-- platinum coin -->
<item id="3027" countmax="3" chance="50" /><!-- black pearl -->
<item id="3029" countmax="3" chance="50" /><!-- small sapphire -->
<item id="5944" chance="350" /><!-- soul orb -->
<item id="6535" chance="1000" /><!-- the plasmother's remains -->
</loot>
</monster>

View File

@ -0,0 +1,76 @@
<monster name="Undead Dragon" nameDescription="an undead dragon" race="undead" experience="7200" speed="125" manacost="0">
<health now="8350" max="8350" />
<look type="231" corpse="6305" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="1" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="300" />
</flags>
<attacks skill="90" attack="96">
<attack name="physical" interval="2000" chance="5" range="7" radius="4" target="1" min="-300" max="-400">
<attribute key="areaEffect" value="redspark" />
</attack>
<attack name="physical" interval="2000" chance="10" range="7" min="-125" max="-600">
<attribute key="shootEffect" value="death" />
<attribute key="areaEffect" value="mortarea" />
</attack>
<attack name="earth" interval="2000" chance="5" range="7" radius="4" target="1" min="-100" max="-390">
<attribute key="shootEffect" value="poison" />
<attribute key="areaEffect" value="poison" />
</attack>
<attack name="earth" interval="2000" chance="15" target="1" range="7" min="0" max="-180">
<attribute key="shootEffect" value="poison" />
<attribute key="areaEffect" value="poison" />
</attack>
<attack name="earth" interval="2000" chance="10" length="8" spread="3" min="-150" max="-690">
<attribute key="areaEffect" value="poison" />
</attack>
<attack name="lifedrain" interval="2000" chance="10" length="8" spread="3" min="-300" max="-700">
<attribute key="areaEffect" value="redshimmer" />
</attack>
<attack name="lifedrain" interval="2000" chance="10" radius="3" min="-100" max="-200">
<attribute key="areaEffect" value="redshimmer" />
</attack>
</attacks>
<defenses armor="40" defense="40">
<defense name="healing" interval="2000" chance="15" min="200" max="250">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
</defenses>
<immunities>
<immunity fire="1" />
<immunity earth="1" />
<immunity paralyze="1" />
<immunity invisible="1" />
<immunity drown="1" />
</immunities>
<voices interval="2000" chance="7">
<voice sentence="FEEEED MY ETERNAL HUNGER!" yell="1" />
<voice sentence="I SENSE LIFE" yell="1" />
</voices>
<loot>
<item id="3031" countmax="100" chance="355" /><!-- gold coin -->
<item id="3031" countmax="98" chance="555" /><!-- gold coin -->
<item id="3035" countmax="5" chance="520" /><!-- platinum coin -->
<item id="6299" chance="11" /><!-- death ring -->
<item id="2903" chance="60" /><!-- golden mug -->
<item id="3450" countmax="15" chance="151" /><!-- power bolt -->
<item id="3370" chance="55" /><!-- knight armor -->
<item id="3061" chance="25" /><!-- life crystal -->
<item id="5925" chance="141" /><!-- hardened bone -->
<item id="3392" chance="17" /><!-- royal helmet -->
<item id="3342" chance="12" /><!-- war axe -->
<item id="3029" countmax="2" chance="283" /><!-- small sapphires -->
<item id="3027" countmax="2" chance="227" /><!-- black pearls -->
<item id="3360" chance="8" /><!-- golden armor -->
</loot>
</monster>

View File

@ -0,0 +1,50 @@
<monster name="Wyvern" nameDescription="a wyvern" race="blood" experience="515" speed="50" manacost="0">
<health now="795" max="795" />
<look type="239" corpse="6301" />
<targetchange interval="1000" chance="10" />
<targetstrategy nearest="70" weakest="10" mostdamage="10" random="10" />
<flags>
<flag summonable="0" />
<flag attackable="1" />
<flag hostile="1" />
<flag illusionable="1" />
<flag convinceable="0" />
<flag pushable="0" />
<flag canpushitems="1" />
<flag canpushcreatures="1" />
<flag targetdistance="1" />
<flag runonhealth="300" />
</flags>
<attacks attack="40" skill="50" poison="480">
<attack name="poisoncondition" count="450" chance="15" length="8" spread="3" min="-240" max="-240">
<attribute key="areaEffect" value="poison" />
</attack>
<attack name="drunk" interval="2000" chance="10" length="3" spread="2" duration="5000">
<attribute key="areaEffect" value="rednote" />
</attack>
</attacks>
<defenses armor="25" defense="25">
<defense name="healing" interval="2000" chance="15" min="45" max="65">
<attribute key="areaEffect" value="blueshimmer" />
</defense>
<defense name="speed" interval="2000" chance="15" speedchange="85" duration="5000">
<attribute key="areaEffect" value="greenshimmer" />
</defense>
</defenses>
<immunities>
<immunity invisible="1" />
<immunity earth="1" />
<immunity drunk="1" />
</immunities>
<voices interval="2000" chance="7">
<voice sentence="Shriiiek" yell="1" />
</voices>
<loot>
<item id="3031" countmax="90" chance="1000" /><!-- gold coin -->
<item id="3583" countmax="3" chance="605" /><!-- dragon ham -->
<item id="3450" countmax="2" chance="34" /><!-- power bolt -->
<item id="3029" chance="50" /><!-- small sapphire -->
<item id="3071" chance="8" /><!-- wand of inferno -->
<item id="3010" chance="5" /><!-- emerald bangle -->
</loot>
</monster>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<monster name="Training Monk" nameDescription="a training monk" race="blood" experience="0" speed="0" manacost="0">
<health now="100000" max="100000"/>
<look type="57" head="0" body="0" legs="0" feet="0" corpse="6080" />
<targetchange interval="1000" chance="5" />
<targetstrategy nearest="100" weakest="0" mostdamage="0" random="0" />
<flags>
<flag summonable="0"/>
<flag attackable="1"/>
<flag hostile="1"/>
<flag illusionable="0"/>
<flag convinceable="0"/>
<flag pushable="0"/>
<flag canpushitems="1"/>
<flag lightlevel="0"/>
<flag lightcolor="0"/>
<flag targetdistance="1"/>
<flag runonhealth="0"/>
</flags>
<attacks attack="1" skill="60">
</attacks>
<defenses armor="0" defense="0">
<defense name="healing" interval="10000" chance="100" min="100000" max="100000"/>
</defenses>
<immunities>
<immunity invisible="1"/>
</immunities>
</monster>

View File

@ -48,7 +48,7 @@
<immunity invisible="1" />
</immunities>
<summons maxSummons="3">
<summon name="scarab" chance="7" max="3" />
<summon name="larva" chance="7" max="3" />
</summons>
<loot>
<item id="3025" countmax="1" chance="10" /> <!-- an ancient amulet -->

Some files were not shown because too many files have changed in this diff Show More