diff options
author | L0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-07-06 20:21:43 +0000 |
---|---|---|
committer | L0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-07-06 20:21:43 +0000 |
commit | c87c721fe0cdcb1c7bfa660dbe87fe3126ec7531 (patch) | |
tree | b46079b7329b03916bd11c365872c7c985b2d2b6 /npc/other | |
parent | 180c626bef428190edbcd8a8a6d1ef1ef03ce808 (diff) | |
download | hercules-c87c721fe0cdcb1c7bfa660dbe87fe3126ec7531.tar.gz hercules-c87c721fe0cdcb1c7bfa660dbe87fe3126ec7531.tar.bz2 hercules-c87c721fe0cdcb1c7bfa660dbe87fe3126ec7531.tar.xz hercules-c87c721fe0cdcb1c7bfa660dbe87fe3126ec7531.zip |
* Updated Juno and Comodo NPCs.
- Updated Monster Museum NPCs as well.
- Updated doomed swords quest, moved unrelated NPCs to proper files.
- Added the end of the Comodo and Juno doomed swords quests.
* Fixed "[Kafra Employee]" being shown twice at one instance.
* Fixed the Geffen Inn NPC.
* Updated the NPC names for the Geffen Kafra.
* Updated the PVP script to official. Includes Event mode.
- Added warps for the PVP Cross room.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10858 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/other')
-rw-r--r-- | npc/other/monster_museum.txt | 977 | ||||
-rw-r--r-- | npc/other/pvp.txt | 836 |
2 files changed, 1045 insertions, 768 deletions
diff --git a/npc/other/monster_museum.txt b/npc/other/monster_museum.txt index 5e1a70672..d6534133a 100644 --- a/npc/other/monster_museum.txt +++ b/npc/other/monster_museum.txt @@ -2,587 +2,726 @@ //= Juno Monster Museum //===== By: ================================================== //= Muad_Dib (The Prometheus Project) +//= L0ne_W0lf //===== Current Version: ===================================== -//= 1.1a +//= 1.2 //===== Compatible With: ===================================== -//= eAthena 7.15 + +//= eAthena SVN //===== Description: ========================================= +//= [Aegis Conversion] //= Juno Monster Museum - Non Player Character Locations //= - Information about various monsters //===== Additional Comments: ================================= // 07/06/05 : Added 1st Version. [Muad_Dib] //= Adapted to eAthena Scripting Language by [Lance] //= 1.1a Fixed typos [Haplo] +//= 1.2 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] //============================================================ - -yuno_in03,33,17,3 script Guide of Monster Museum 67,{ - mes "[Shenya]"; - mes "Welcome."; - mes "You are in the Monster Museum."; - next; - menu "What is the Monster Museum?",-,"Tip for observing monsters",L_Tip; - mes "[Shenya]"; - mes "Our Monster Museum is a splendid achievement of Schwarz Project which was secretly"; - mes "accomplished by many sages from Svychervile Academy who were working in Midgard."; - next; - mes "[Shenya]"; - mes "Because of their effort, you can easily observe rare monsters of Midgard in here."; - next; - mes "[Shenya]"; - mes "Monsters are in the transparent cylinders, which were part of Schwarz Project. The cylinders protects you from the monsters."; - next; - mes "[Shenya]"; - mes "Talk to me if you need help."; - close; -L_Tip: - mes "[Shenya]"; - mes "Check 'opaque' in the option key (ALT+O) to observe monsters more clearly."; - next; - mes "[Shenya]"; - mes "Talk to me if you need help."; +yuno_in03,32,15,3 script Museum Guide 67,{ + mes "[Cenia]"; + mes "Welcome to the Monster Museum."; + next; + switch(select("Monster Museum?:Tips")) { + mes "[Cenia]"; + mes "The Monster Museum was founded by"; + mes "the Sages of the Schweicherbil"; + mes "Magic Academy after researching"; + mes "every creature dwelling in the"; + mes "Rune-Midgard continent."; + next; + mes "[Cenia]"; + mes "In this museum, you can see every"; + mes "single monster in Rune-Midgard,"; + mes "even the ones you hardly ever encounter."; + next; + mes "[Cenia]"; + mes "The glass tubes holding monsters"; + mes "was developed with the latest"; + mes "technology as a part of the"; + mes "Schwartz Project. Rest assured,"; + mes "you'll be well protected."; + next; + break; + case 2: + mes "[Cenia]"; + mes "Please check on the Opaque option"; + mes "on your option windows by"; + mes "pressing ALT + O, if you want to"; + mes "see the monsters better."; + next; + break; + } + mes "[Cenia]"; + mes "Feel free to talk to me anytime."; close; } - -//yuno_in03,32,102,1 script Biology Professor 755,{ -// mes "[Ruthy Celsus]"; -// mes "Hmm? What is it? Do you want to take a look at monsters?"; -// next; -// mes "[Ruthy Celsus]"; -// mes "It is okay to look at them, but do not touch nor make noises."; -// mes "There are many dangerous stuff here, so be careful."; -// next; -// mes "[Ruthy Celsus]"; -// mes "And also tell me if you catch rare monsters."; -// mes "I will buy your info at high price."; -// close; -//} - -yuno_in03,36,21,3 script Deviace 1108,{ + +yuno_in03,36,21,3 script Deviace#yuno 1108,{ end; } - -yuno_in03,33,21,1 script #Deviace 111,{ +yuno_in03,33,21,1 script #DEVIACE 111,{ mes " "; - mes "- Scientific Name : Deviace"; - mes "- Size : Medium"; - mes "- Property : Water"; - next; - mes "- Description : "; - mes "It has sucking-disks on top of its round body and lives in the deep ocean."; - mes "In spite of its fearsome appearance, Deviace is calm and do not attack others first."; - next; - mes "However, you should be aware of it because once Deviace gets mad, it casts magic of high level."; + mes "Scientific name : Deviace"; + mes "Size : Medium"; + mes "Attribute : Water"; + next; + mes "Explanation :"; + mes "This monster dwells under the deep"; + mes "sea and has a round body with a"; + mes "acetabulum on its dorsal side."; + mes "Although its sharp teeth are"; + mes "intimidating, it has a very mellow"; + mes "character."; + next; + mes "Therefore, it never initiates"; + mes "attack on an undersea traveller"; + mes "unless it's attacked first."; + mes "However, once it becomes upset, it"; + mes "uses high level magic skills. So"; + mes "it's better to be careful with this monster."; close; } - -yuno_in03,36,27,3 script Fur Seal 1317,{ + +yuno_in03,36,27,3 script Seal#yuno 1317,{ end; } - -yuno_in03,33,27,1 script #Fur Seal 111,{ +yuno_in03,33,27,1 script #FUR_SEAL 111,{ mes " "; - mes "- Scientific Name : Fur Seal"; - mes "- Size : Medium"; - mes "- Property : Water"; - next; - mes "- Description : "; - mes "They put on an extra hide to cover it's soft skin."; - mes "Also, their hides are used to make winter clothes."; + mes "Scientific name : Seal"; + mes "Size : Medium"; + mes "Attribute : Water"; + next; + mes "Explanation :"; + mes "When you take a look at this"; + mes "monster carefully, you will find"; + mes "that it's not actually a seal but"; + mes "an unidentified monster hiding"; + mes "inside the seal-like leather"; + mes "clothing."; + next; + mes "It is rumored that the monster"; + mes "wears this clothing in order"; + mes "to protect its sensitive skin"; + mes "from the weather. The Seal's"; + mes "clothing is a very good material"; + mes "for people to produce winter coats."; close; } - -yuno_in03,36,33,3 script Sage Worm 1281,{ + +yuno_in03,36,33,3 script Sage Worm#yuno 1281,{ end; } - -yuno_in03,33,33,1 script #Sage Worm 111,{ +yuno_in03,33,33,1 script #SAGEWORM 111,{ mes " "; - mes "- Scientific Name : Sage Worm"; - mes "- Size : Small"; - mes "- Property : Neutral"; - next; - mes "- Description : "; - mes "It's bottom looks like an animal, but the upper body looks like an old scholar."; - mes "Sage Worm has weak strength but its intelligence is extraordinary high. They often cures other's critical status."; - next; - mes "As expected, they live nearby books or bookcases."; + mes "Scientific name : Sage Worm"; + mes "Size : Small"; + mes "Attribute : Neutral"; + next; + mes "Explanation :"; + mes "A strange beast with the head of"; + mes "an old scholar and the tail of a"; + mes "worm. Although it is physically"; + mes "weak, it has the intelligence"; + mes "to support its comrades with"; + mes "magic skills."; + next; + mes "As its scholarly appearance"; + mes "indicates, it's usually seen near books or book shelves."; close; } - -yuno_in03,39,39,3 script Penomena 1216,{ + +yuno_in03,39,39,3 script Penomena#yuno 1216,{ end; } - -yuno_in03,38,39,1 script #Penomena 111,{ +yuno_in03,38,39,1 script #PENOMANA 111,{ mes " "; - mes "- Scientific Name : Penomena"; - mes "- Size : Medium"; - mes "- Property : Poison"; - next; - mes "- Description : "; - mes "It has a strong venom and lives in deep oceans or deep tunnels."; - mes "Penomena has a similar appearance as Hydra but it moves with small dendrites on the sucking-disk."; - next; - mes "Also, its many long tentacles with strong venom are threatening opponents in the distance."; + mes "Scientific name : Penomena"; + mes "Size : Medium"; + mes "Attribute : Poison"; + next; + mes "Explanation :"; + mes "This monster dwells inside the"; + mes "deepest part of caves where there"; + mes "is enough moisture to keep it from"; + mes "getting dried up."; + next; + mes "Unlike Hydra, a similar looking"; + mes "creature, it can move itself"; + mes "towards its enemy using many"; + mes "small appendixes on its acetabulum."; + next; + mes "The long, thin tentacles on the"; + mes "body shoot deadly poison which is"; + mes "enough to kill its enemy at once."; close; } - -yuno_in03,39,44,3 script Galapago 1391,{ + +yuno_in03,39,44,3 script Galapago#yuno 1391,{ end; } - -yuno_in03,37,44,1 script #Galapago 111,{ +yuno_in03,37,44,3 script #GALAPAGO 111,{ mes " "; - mes "- Scientific Name : Galapago"; - mes "- Size : Small"; - mes "- Property : Earth"; - next; - mes "- Description : "; - mes "This monster is a bird, but can't fly because of its heavy weight."; - mes "They are always equipped with sunglasses and a bottle of drinking water because they are weak against sunlights."; - next; - mes "They show greedy on items but, when a stranger appears, they cooperate together to attack the stranger."; + mes "Scientific name : Galapago"; + mes "Size : Small"; + mes "Attribute : Earth"; + next; + mes "Explanation :"; + mes "It's a kind of bird, but sadly, its body is too heavy to fly."; + mes "It's very sensitive to sunlight so it carries a water bottle and wears sunglasses all the time."; + next; + mes "Although gluttonous, it will"; + mes "always cooperate to attack"; + mes "prey, as well as predators."; + mes "Otherwise, Galapago is a"; + mes "generally laid back monster."; close; } - -yuno_in03,38,50,3 script PecoPeco Egg 1047,{ - end; -} - -yuno_in03,34,54,3 script Thief Bug Egg 1048,{ + +yuno_in03,15,21,5 script Raydric#yuno 1163,{ end; } - -yuno_in03,12,50,3 script Ant Egg 1097,{ - end; +yuno_in03,19,21,1 script #RAYDRIC 111,{ + mes " "; + mes "Scientific name : Raydric"; + mes "Size : Large"; + mes "Attribute : Shadow"; + next; + mes "Explanation :"; + mes "A suit of armor animated by the"; + mes "spirit of a castle guard. The"; + mes "spirit is bound to this armor by"; + mes "a powerful curse."; + next; + mes "Since Raydric used to be a castle"; + mes "guard, it possesses fast movements"; + mes "and powerful attack strength."; + close; } - -yuno_in03,10,45,5 script Assaulter 1315,{ + +yuno_in03,15,27,5 script Chepet#yuno 1250,{ end; } - -yuno_in03,12,45,1 script #Assaulter 111,{ +yuno_in03,19,27,1 script #CHEPET 111,{ mes " "; - mes "- Scientific Name : Assaulter"; - mes "- Size : Medium"; - mes "- Property : Wind"; - next; - mes "- Description : "; - mes "Unlike the other turtles in the Turtle Island, this warrior monster stands on two legs."; - mes "It always carries a large shuriken on its back. Its body is very agile and has a fast attack speed."; - next; - mes "Distinctively, when it is in danger, Assaulter summons another self and attacks together."; - mes "Their weapons do strong damage, but also their piercing long nails are really threatening."; + mes " Scientific name : Chepet"; + mes " Size : Medium"; + mes " Attribute : Fire"; + next; + mes "Explanation :"; + mes "An evil creature hiding in a"; + mes "pretty doll. It attacks passersby"; + mes "by striking matchsticks held in"; + mes "the doll's hand. A very rare"; + mes "monster since it dwells in"; + mes "only a few places."; close; } - -yuno_in03,10,39,5 script Alice 1275,{ + +yuno_in03,15,33,5 script Violy#yuno 1390,{ end; } - -yuno_in03,12,39,1 script #Alice 111,{ +yuno_in03,19,33,1 script #VIOLY 111,{ mes " "; - mes "- Scientific Name : Alice"; - mes "- Size : Medium"; - mes "- Property : Neutral"; + mes " Scientific name : Violy"; + mes " Size : Medium"; + mes " Attribute : Neutral"; next; - mes "- Description : "; - mes "It is a robot that was made to serve duties in the castle, and is still there."; - mes "Alice is made of hard metal and no one knows what makes her move till this day."; + mes "Explanation :"; + mes "A pretty doll looking creature with beautiful golden hair."; + mes "Since It plays violin all the time with a peaceful look on its face, people don't realize at first that it's a monster."; + next; + mes "Exercise extreme caution upon encountering a Violy. Otherwise, it will snatch your soul in no time with its charming song."; close; } - -yuno_in03,15,33,5 script Violy 1390,{ + +yuno_in03,10,39,5 script Alice#yuno 1275,{ end; } - -yuno_in03,19,33,1 script #Violy 111,{ +yuno_in03,12,39,1 script #ALICE 111,{ mes " "; - mes "- Scientific Name : Violy"; - mes "- Size : Medium"; - mes "- Property : Neutral"; - next; - mes "- Description : "; - mes "Girly monster with blond hair."; - mes "She always plays her violin. You will suffer from the high frequency of her music."; + mes " Scientific name : Alice "; + mes " Size : Medium"; + mes " Attribute : Neutral"; + next; + mes "Explanation :"; + mes "Alice is a robot made to assist as"; + mes "a castle housemaid. They've been"; + mes "known to remain and automatically"; + mes "do their tasks long after the"; + mes "castle has been abandoned."; + next; + mes "Without any discernable power"; + mes "source, how it moves and operates"; + mes "is still a scientific mystery."; close; } - -yuno_in03,15,27,5 script Chepet 1250,{ + +yuno_in03,10,45,5 script Assulter#yuno 1315,{ end; } - -yuno_in03,19,27,1 script #Chepet 111,{ +yuno_in03,12,45,1 script #ASSULTER 111,{ mes " "; - mes "- Scientific Name : Chepet"; - mes "- Size : Medium"; - mes "- Property : Fire"; - next; - mes "- Description : "; - mes "It looks like a girl possessed by an evil monster, but it is the evil monster which fools people with its appearance."; - next; - mes "Chepet ignites a fire with its large match stick. Is a rare monster because of their small numbers, they live in a limited habitat."; + mes " Scientific name : Assulter"; + mes " Size : Medium"; + mes " Attribute : Wind"; + next; + mes "Explanation :"; + mes "Unlike other turtles on on Turtle"; + mes "Island, this turtle stands on two"; + mes "legs and attacks passersby with"; + mes "the other two legs, wielding a"; + mes "big shuriken from its back."; + next; + mes "Interestingly, it creates a clone"; + mes "to do more damage when it"; + mes "encounters dangerous enemies."; + mes "It does very powerful damage using"; + mes "its shuriken, but its nail attack"; + mes "is more threatening."; close; } - -yuno_in03,15,21,5 script Raydric 1163,{ + +yuno_in03,38,50,3 script PecoPeco Egg#yuno 1047,{ end; } - -yuno_in03,19,21,1 script #Raydric 111,{ - mes " "; - mes "- Scientific Name : Raydric"; - mes "- Size : Large"; - mes "- Property : Darkness"; - next; - mes "- Description : "; - mes "Soldiers with armor who have no body. According to old studies,"; - mes "the souls of soldiers who once guarded castles were bound to their armor by curses."; - next; - mes "They have fast movement speed and strong attacks as guards of the castle."; - close; +yuno_in03,34,54,3 script Thief Bug Egg#yuno 1048,{ + end; } - -yuno_in03,46,96,3 script Owl Duke 1320,{ +yuno_in03,12,50,3 script Ant Egg#yuno 1097,{ end; } -yuno_in03,44,96,1 script #Owl Duke 111,{ +yuno_in03,18,96,5 script Wanderer#yuno 1208,{ + end; +} +yuno_in03,20,96,1 script #WANDER_MAN 111,{ mes " "; - mes "- Scientific Name : Owl Duke"; - mes "- Size : Large"; - mes "- Property : Neutral"; - next; - mes "- Description : "; - mes "An owl with a Duke costume. It's massive body and elegant outfit are appalling."; - mes "Owl Duke looks like a bird but is a devil with a large feet and sharp talon."; - next; - mes "It approaches the enemy silently and casts strong lightning magic."; - mes "It's moves are full of dignity just like a Duke."; + mes " Scientific name : Wanderer"; + mes " Size : Medium"; + mes " Attribute : Wind"; + next; + mes "Explanation :"; + mes "Undead warrior who came back to"; + mes "life through a curse. Considering"; + mes "its technical fencing skill, he"; + mes "must have been a very honorable"; + mes "warrior as a living human."; + next; + mes "Wanderer can move amazingly fast"; + mes "and can slay enemies with a single"; + mes "stroke of its sword."; close; } - -yuno_in03,48,100,3 script Marine Sphere 1142,{ + +yuno_in03,16,100,5 script Caterpillar#yuno 1300,{ end; } - -yuno_in03,46,101,1 script #Marine Sphere 111,{ +yuno_in03,18,100,1 script #CATERPILLAR 111,{ mes " "; - mes "- Scientific Name : Marine Sphere"; - mes "- Size : Small"; - mes "- Property : Water"; - next; - mes "- Description : "; - mes "Drifting sphere in the ocean, it is known as <Bomb of the Ocean> because of its explosiveness."; - mes "The structure of the inner sphere is simple, only a tendon and a detonator, however its explosion is very powerful."; - next; - mes "If there are other Marine Spheres during the explosion, all of them will explode sequentially."; + mes " Scientific name : Caterpillar"; + mes " Size : Small"; + mes " Attribute : Earth"; + next; + mes "Explanation :"; + mes "Although the eyes of this creature"; + mes "have atrophied due to living under"; + mes "the earth, it uses a feeler and"; + mes "appendices on its body to sense"; + mes "objects in its dark surroundings."; + next; + mes "Caterpillar is rumored to be the"; + mes "larva of Creamy Fear, the advanced"; + mes "Creamy."; close; } - -yuno_in03,48,104,3 script Mandragora 1020,{ + +yuno_in03,16,104,5 script Male Thiefbug#yuno 1054,{ end; } - -yuno_in03,46,105,1 script #Mandragora 111,{ +yuno_in03,18,104,1 script #THIEF_BUG__ 111,{ mes " "; - mes "- Scientific Name : Mandragora"; - mes "- Size : Medium"; - mes "- Property : Earth"; + mes " Scientific name : Thief Bug"; + mes " ^FFFFFFScientific name :^000000 (Male)"; + mes " Size : Medium"; + mes " Attribute : Shadow"; next; - mes "- Description : "; - mes "Man-eating plant that can eat every living thing."; - mes "Mandragora pokes the victim by using its long tentacle and put it in its giant tube."; + mes "Explanation :"; + mes "Although it has a big blue body,"; + mes "it's also fast and voracious, just like other Thief Bugs."; next; - mes "On the surface of the Mandragora's tube there is a skull pattern, so the Mandragora pretends to be poisonous but it isn't."; - mes "The tube contains a digestive fluid of unique fragrance, which have a very strong smell to attract the prey."; + mes "However, it is stronger than other Thief Bugs because it's designated to protect the females and babies from danger."; close; } - -yuno_in03,48,108,3 script Geographer 1368,{ + +yuno_in03,16,108,5 script Tri Joint#yuno 1279,{ end; } - -yuno_in03,46,108,1 script #Geographer 111,{ +yuno_in03,18,108,1 script #TRI_JOINT 111,{ mes " "; - mes "- Scientific Name : Geographer"; - mes "- Size : Medium"; - mes "- Property : Earth"; - next; - mes "- Description : "; - mes "Man-eating plant that looks like a sunflower."; - mes "It disguise itself as an ordinary flower and hunt preys approaching near by."; - next; - mes "Although its cousin Mandragora digest it's food in the tube,"; - mes "Geographer chews food because it doesn't have a tube."; - next; - mes "Geographer's root is very tough to support the large upper parts of the body."; + mes " Scientific name : Tri Joint"; + mes " Size : Small"; + mes " Attribute : Earth"; + next; + mes "Explanation :"; + mes "Tri Joint is a prehistoric"; + mes "monster that is covered with"; + mes "a hard shell, and uses a feeler"; + mes "instead of eyes so that it can"; + mes "live in dark places."; + next; + mes "Recently, since many Tri Joints have been discovered inside many caves, Sages are very excited to study them to learn more about the evolution of monsters in Rune-Midgard."; close; } - -yuno_in03,48,112,3 script Rafflesia 1162,{ + +yuno_in03,16,111,5 script Arclouz#yuno 1194,{ end; } - -yuno_in03,46,112,1 script #Rafflesia 111,{ +yuno_in03,18,111,1 script #ARCLOUSE 111,{ mes " "; - mes "- Scientific Name : Rafflesia"; - mes "- Size : Small"; - mes "- Property : Earth"; - next; - mes "- Description : "; - mes "Somehow, this monster is an endangered species."; - mes "Remaining Rafflesias are very few in a limited habitat,"; - mes "so they are under special protection."; - next; - mes "Because there aren't many Rafflesias, researches are not doing well."; - mes "A few scholars are researching to artificially culture them."; + mes " Scientific name : Arclouz"; + mes " Size : Medium"; + mes " Attribute : Earth"; + next; + mes "Explanation :"; + mes "Hard shelled monster that coils"; + mes "its body to attack its enemy."; + mes "Arclouz tend to stay in groups"; + mes "and are very aggressive"; + mes "creatures."; + next; + mes "They have incredibly fast"; + mes "movement speed, contrary to"; + mes "their looks, and are often"; + mes "compared to PecoPecos."; close; } - -yuno_in03,48,116,3 script Stem Worm 1215,{ + +yuno_in03,16,117,5 script Dragon Tail#yuno 1321,{ end; } - -yuno_in03,45,116,1 script #Stem Worm 111,{ +yuno_in03,18,116,1 script #DRAGON_TAIL 111,{ mes " "; - mes "- Scientific Name : Stem Worm"; - mes "- Size : Medium"; - mes "- Property : Wind"; - next; - mes "- Description : "; - mes "This is a mutation of Worm Tail. It has a round grizzled grey body with a small head."; - mes "The hide is made of thin scales, and from the center of the body it's hide is divided into two pieces."; - next; - mes "The straight stem on the center of it's back looks like a tail."; - mes "Stem Worm use this stem to whip others."; + mes " Scientific name : Dragon Tail"; + mes " Size : Medium"; + mes " Attribute : Wind"; + next; + mes "Explanation :"; + mes "An insect which is considered as"; + mes "a Libelluidae, or Dragon Fly. It"; + mes "uses its strong tail to suck the"; + mes "blood out of an enemy, or to put"; + mes "the enemy to sleep by shooting"; + mes "a sleeping poison."; close; } - -yuno_in03,44,120,3 script Succubus 1370,{ + +yuno_in03,46,96,3 script Owl Duke#yuno 1320,{ end; } - -yuno_in03,42,120,1 script #Succubus 111,{ +yuno_in03,44,96,1 script #OWL_DUKE 111,{ mes " "; - mes "- Scientific Name : Succubus"; - mes "- Size : Medium"; - mes "- Property : Darkness"; - next; - mes "- Description : "; - mes "Devil who seduces people with a beautiful appearance. The male form is called Incubus and the female form is called Succubus."; - mes "They pick and seduce confused or weak-minded people to wreck them."; + mes " Scientific name : Owl Duke"; + mes " Size : Large"; + mes " Attribute : Neutral "; + next; + mes "Explanation:"; + mes "An owl that wears a count costume."; + mes "It's very intimidating looking"; + mes "with its dark, yet suave look."; + mes "Owl Duke is not actually an owl,"; + mes "but a devil with very sharp claws"; + mes "on its big feet."; + next; + mes "It's skillful at using many"; + mes "lightning magic spells. When"; + mes "you see it attacking an enemy,"; + mes "you can sense the Owl Duke's"; + mes "aristocratic pompousness."; close; } - -yuno_in03,39,124,3 script Ancient Mummy 1297,{ + +yuno_in03,48,100,3 script Marine Sphere#yuno 1142,{ end; } - -yuno_in03,39,122,1 script #Ancient Mummy 111,{ +yuno_in03,46,101,1 script #MARINE_SPHERE 111,{ mes " "; - mes "- Scientific Name : Ancient Mummy"; - mes "- Size : Medium"; - mes "- Property : Undead"; - next; - mes "- Description : "; - mes "With a glimpse you can see that this ancient mummy is very old."; - mes "He is wrapped with worn-out bandages."; - mes "By looking at his luxurious snake headpiece,"; - next; - mes "we can guess that he was high class and somehow revived from the dead."; - mes "As he is stuck in a mummy form for so long time, he brutally kills living things."; + mes " Scientific name : Marine Sphere"; + mes " Size : Small"; + mes " Attribute : Water"; + next; + mes "Explanation :"; + mes "A strange creature that wanders"; + mes "in the deep oceans. It explodes"; + mes "with great power when it's"; + mes "touched, earning it the name"; + mes "'The Sea Bomb.'"; + next; + mes "If there is a Marine Sphere"; + mes "caught in the explosion of"; + mes "another, a trigger explosion"; + mes "will result, and can lead to"; + mes "a dangerous chain reaction."; close; } - -yuno_in03,35,124,3 script Sleeper 1386,{ + +yuno_in03,48,104,3 script Mandragora#yuno 1020,{ end; } - -yuno_in03,35,122,1 script #Sleeper 111,{ +yuno_in03,46,105,1 script #MANDRAGORA 111,{ mes " "; - mes "- Scientific Name : Sleeper"; - mes "- Size : Medium"; - mes "- Property : Earth"; - next; - mes "- Description : "; - mes "Formless sandy monster."; - mes "It burrows itself in the ground and rise when people are walking near by."; - next; - mes "Sleepers are smaller than Sandmen and they attack indirectly by making sandy winds rather than direct attacks."; + mes " Scientific name : Mandragora"; + mes " Size : Medium"; + mes " Attribute : Earth"; + next; + mes "Explanation :"; + mes "An insectivore that swallows"; + mes "anything alive. When it finds"; + mes "its prey, it strikes it first"; + mes "with a long tentacle to"; + mes "to paralyze it."; + next; + mes "Once paralyzed, its prey is"; + mes "put in a large tube attached"; + mes "to its body where it is slowly"; + mes "digested. Although this tube"; + mes "has a skull mark, Mandragora"; + mes "does not actually contain any"; + mes "poison."; + next; + mes "This digestive tube"; + mes "apparatus also has a very unique,"; + mes "but disgusting smell that is far"; + mes "from useful in attracting prey."; close; } - -yuno_in03,31,124,3 script Megalodon 1064,{ + +yuno_in03,48,108,3 script Geographer#yuno 1368,{ end; } - -yuno_in03,31,122,1 script #Megalodon 111,{ +yuno_in03,46,108,1 script #GEOGRAPHER 111,{ mes " "; - mes "- Scientific Name : Megalodon"; - mes "- Size : Medium"; - mes "- Property : Undead"; - next; - mes "- Description : "; - mes "This monster is made out of bones of dead fish."; - mes "It peacefully wanders around waterside because they didn't completely lose their old memory."; - next; - mes "It has no flesh but bones and stinky scales because it was revived from once decayed corpses."; + mes " Scientific name : Geographer"; + mes " Size : Medium"; + mes " Attribute : Earth"; + next; + mes "Explanation :"; + mes "An insectivore that looks like"; + mes "a sunflower. It uses the petal"; + mes "like tentacles around its"; + mes "mouth to attract and snare"; + mes "its prey."; + next; + mes "Unlike Mandragora, Geographer"; + mes "does not have a tube to"; + mes "store its prey. So it slowly"; + mes "eats it's prey, little by little."; + next; + mes "Although Geographer has small"; + mes "and short roots, the roots are"; + mes "tough and strong enough to"; + mes "bear the weight of the upper body."; + next; + mes "The namesake of this monster, a"; + mes "human geographer that was"; + mes "promptly eaten upon discovering"; + mes "this species of beast, will"; + mes "never be forgotten..."; close; } - -yuno_in03,28,124,5 script Rideword 1195,{ + +yuno_in03,48,112,3 script Rafflesia#yuno 1162,{ end; } - -yuno_in03,28,122,1 script #Rideword 111,{ +yuno_in03,46,112,1 script #RAFFLESIA 111,{ mes " "; - mes "- Scientific Name : Rideword"; - mes "- Size : Small"; - mes "- Property : Neutral"; - next; - mes "- Description : "; - mes "It is a magic book with sharp teeth and is controlled by magic powers."; - mes "Rideword has no intelligence or feelings and was born to kill living things."; + mes " Scientific name : Rafflesia"; + mes " Size : Small"; + mes " Attribute : Earth"; + next; + mes "Explanation :"; + mes "A puffy, leafy monster"; + mes "threatened with extinction."; + mes "Rafflesia is the rarest"; + mes "monster in Rune-Midgard and"; + mes "is thus protected by law."; + next; + mes "Due to this situation, most Sages"; + mes "are having a hard time to"; + mes "research this monster."; + mes "However, a few Sages are"; + mes "currently seeking methods to"; + mes "cultivate and save the Rafflesias."; close; } - -yuno_in03,24,124,3 script Blazzer 1367,{ + +yuno_in03,48,116,3 script Stem Worm#yuno 1215,{ end; } - -yuno_in03,24,122,1 script #Blazzer 111,{ +yuno_in03,45,116,1 script #STEM_WORM 111,{ mes " "; - mes "- Scientific Name : Blazzer"; - mes "- Size : Medium"; - mes "- Property : Fire"; - next; - mes "- Description : "; - mes "Burning flame which floats around lava as a cloud."; - mes "The blaze comes out of hard rock and the surface is extremely hot."; - next; - mes "Some scholars believe that Blazzer was the origin of a volcanic eruption but it is only a hypothesis."; - mes "It attacks travelers with a noxious gas from it's mouth."; + mes " Scientific name : Stem Worm"; + mes " Size : Medium"; + mes " Attribute : Wind"; + next; + mes "Explanation :"; + mes "A mutated Worm Tail that has a"; + mes "round, brownish grey body with"; + mes "a small head. It is covered"; + mes "with scales and has a long"; + mes "stem-like tail which is used"; + mes "as a whip in attacks."; close; } -yuno_in03,18,122,5 script Incubus 1374,{ +yuno_in03,24,124,3 script Blazzer#yuno 1367,{ end; } - -yuno_in03,19,120,1 script #Incubus 111,{ +yuno_in03,24,122,1 script #BLAZZER 111,{ mes " "; - mes "- Scientific Name : Incubus"; - mes "- Size : Medium"; - mes "- Property : Darkness"; - next; - mes "- Description : "; - mes "Devil who seduces people a beautiful appearance. Male form is called Incubus and female form is called Succubus."; - mes "They pick and seduce confused or weak-minded people to wreck them."; + mes " Scientific name : Blazzer"; + mes " Size : Medium"; + mes " Attribute : Fire"; + next; + mes "Explanation :"; + mes "This is a fire ball that has been"; + mes "seen near volcanic zones."; + mes "Because of this monster's sudden"; + mes "appearance, Sages believe that"; + mes "volcanic activity may occur"; + mes "sooner or later near Juno."; + next; + mes "Blazzer blows out noxious gas"; + mes "which harm passersby. It is"; + mes "unknown whether or not these"; + mes "are attacks or the Blazzer's"; + mes "form of communication."; close; } - -yuno_in03,16,116,5 script Dragon Tail 1321,{ + +yuno_in03,28,124,5 script Ride Word#yuno 1195,{ end; } - -yuno_in03,18,116,1 script #Dragon Tail 111,{ +yuno_in03,28,122,1 script #RIDEWORD 111,{ mes " "; - mes "- Scientific Name : Dragon Tail"; - mes "- Size : Medium"; - mes "- Property : Wind"; + mes " Scientific name : Ride Word"; + mes " Size : Small"; + mes " Attribute : Neutral"; next; - mes "- Description : "; - mes "Insect with thick stings on its tail from the Dragonfly family."; - mes "It sucks up blood of victims with its sting, and the Dragon Tail's hypnotoxine puts enemies to sleep."; + mes "Explanation :"; + mes "It's a cursed magic book with"; + mes "sharp teeth. It exists to attack any living thing nearby."; close; } - -yuno_in03,16,111,5 script Arclouse 1194,{ + +yuno_in03,31,124,3 script Megalodon#yuno 1064,{ end; } - -yuno_in03,18,111,1 script #Arclouse 111,{ +yuno_in03,31,122,1 script #MEGALODON 111,{ mes " "; - mes "- Scientific Name : Arclouse"; - mes "- Size : Medium"; - mes "- Property : Earth"; - next; - mes "- Description : "; - mes "It is a monster with a hard shell and roles itself to attack enemies."; - mes "Usually, Arclouses are found in groups and they are very agile. Their movement speed is as fast as a well-trained PecoPeco."; + mes " Scientific name : Megalodon"; + mes " Size : Medium"; + mes " Attribute : Undead"; + next; + mes "Explanation :"; + mes "A skeleton fish that was brought"; + mes "back to life by a curse. Although"; + mes "It looks very threatening, it's"; + mes "benign and will not attack"; + mes "undersea travellers outright."; close; } - -yuno_in03,16,108,5 script Tri-Joint 1279,{ + +yuno_in03,35,124,3 script Sleeper#yuno 1386,{ end; } - -yuno_in03,18,108,1 script #Tri-Joint 111,{ +yuno_in03,35,122,1 script #SLEEPER 111,{ mes " "; - mes "- Scientific Name : Tri-Joint"; - mes "- Size : Small"; - mes "- Property : Earth"; - next; - mes "- Description : "; - mes "A monster called 'living fossil' because it has been existing from ancient times to today."; - mes "Tri Joint's body is covered with hard shells, and advanced feelers replaced degenerated eyes."; - next; - mes "It moves fast in dark caves."; - mes "Recently, as their fossils were found in deep caves,"; - mes "studies on evolution of Midgard organisms are speeding up."; + mes " Scientific name : Sleeper"; + mes " Size : Medium"; + mes " Attribute : Earth"; + next; + mes "Explanation :"; + mes "Unidentified sand creature."; + mes "Usually it stays under the earth,"; + mes "but when travellers step on the"; + mes "sand, it may abruptly"; + mes "appear to attack them."; + next; + mes "It's smaller than Sandman and can"; + mes "cause indirect attacks by causing a sand storm."; close; } - -yuno_in03,16,104,5 script Thief Bug Male 1054,{ + +yuno_in03,39,124,3 script Ancient Mummy#yuno 1297,{ end; } - -yuno_in03,18,104,1 script #Thief Bug Male 111,{ +yuno_in03,39,122,1 script #ANCIENT_MUMMY 111,{ mes " "; - mes "- Scientific Name : Thief Bug Male"; - mes "- Size : Medium"; - mes "- Property : Darkness"; - next; - mes "- Description : "; - mes "This is a fully grown Thief Bug with bigger size than others and of blue color."; - mes "Like other Thief Bugs, it is very agile and collect items."; - next; - mes "Male Thief Bugs protects it's family with strong attacks."; + mes " Scientific name : Ancient Mummy"; + mes " Size : Medium"; + mes " Attribute : Undead"; + next; + mes "Explanation :"; + mes "A mummy cursed with eternal life."; + mes "Although wrapped in decaying"; + mes "bandages, Ancient Mummy also"; + mes "wears a splendid hair ornament"; + mes "adorned with a snake."; + next; + mes "This kind of head ornament"; + mes "indicates that the Ancient"; + mes "Mummy was a person of high rank"; + mes "while he was still alive."; + next; + mes "Since Ancient Mummy has"; + mes "been wandering the underworld"; + mes "for a long time, it does not have"; + mes "any consciousness and will"; + mes "attack any living thing nearby."; close; } - -yuno_in03,16,100,5 script Caterpillar 1300,{ + +yuno_in03,18,122,5 script Incubus#yuno 1374,{ end; } - -yuno_in03,18,100,1 script #Caterpillar 111,{ +yuno_in03,19,120,1 script #INCUBUS 111,{ mes " "; - mes "- Scientific Name : Caterpillar"; - mes "- Size : Small"; - mes "- Property : Earth"; - next; - mes "- Description : "; - mes "Because of a long buried life, it can barely use it's eyes,"; - mes "but it has numerous feelers and a lighting antenna to move around."; - next; - mes "There is a hypothesis that Caterpillar is the larva of Creamy Fear, the mutation of Creamy."; + mes " Scientific name : Incubus"; + mes " Size : Medium"; + mes " Attribute : Shadow"; + next; + mes "Explanation :"; + mes "This demon attracts humans"; + mes "with its stunningly beautiful"; + mes "appearance. When it poses as a"; + mes "male human, we call it Incubus."; + mes "As a female, we call it Succubus."; + next; + mes "This devil targets people with"; + mes "mental vulnerabilities so that"; + mes "it can eventually take them to hell."; close; } - -yuno_in03,18,96,5 script Wanderer 1208,{ + +yuno_in03,44,120,3 script Succubus#yuno 1370,{ end; } - -yuno_in03,20,96,1 script #Wanderer 111,{ +yuno_in03,42,120,1 script #SUCCUBUS 111,{ mes " "; - mes "- Scientific Name : Wanderer"; - mes "- Size : Medium"; - mes "- Property : Wind"; - next; - mes "- Description : "; - mes "Sword master revived by dark magic. By looking at his magnificent swordsmanship, we guess that he was a very skillful swordsman before."; - mes "As soon as he draws his sword, his opponents are sliced by him."; + mes " Scientific name : Succubus"; + mes " Size : Medium"; + mes " Attribute : Shadow"; + next; + mes "Explanation :"; + mes "This demon attracts humans"; + mes "with its stunningly beautiful"; + mes "appearance. When it poses as a"; + mes "female human, we call it Succubus."; + mes "As a male, we call it Incubus."; + next; + mes "This devil targets people with"; + mes "mental vulnerabilities so that"; + mes "it can eventually take them to hell."; close; } diff --git a/npc/other/pvp.txt b/npc/other/pvp.txt index 3d3909f42..8623a80d8 100644 --- a/npc/other/pvp.txt +++ b/npc/other/pvp.txt @@ -1,414 +1,552 @@ //===== eAthena Script ======================================= -//= PvP +//= PvP NPCs //===== By: ================================================== -//= kobra_k88 +//= kobra_k88; L0ne_W0lf //===== Current Version: ===================================== -//= 1.2a +//= 1.3 //===== Compatible With: ===================================== //= eAthena 0.5.2 + //===== Description: ========================================= +//= [Aegis Conversion] +//= PvP NPCs that are found in the Inns in major cities. +//= Includes Yoyo Mode, Nightmare Mode, and Event Mode //= +//= Breakdown of function "F_PVPNarrator" +//= arg(0): Map to save player on +//= arg(1): X position on getarg(0) map to save player +//= arg(2): Y position on getarg(0) map to save player //===== Additional Comments: ================================= -//= v1.1 Fixed arena names for Nightmare mode. Added room limit -//= check.[kobra_k88] -//= v1.2 Fixed the bug that you aways savepoint in geffen.[shadowlady] -//= v1.2a Added PvP Narrator function. Using args for Fight -//= Square Helpers. [kobra_k88] +//= 1.1 Fixed arena names for Nightmare mode. Added room limit +//= check.[kobra_k88] +//= 1.2 Fixed the bug that you aways savepoint in geffen.[shadowlady] +//= 1.2a Added PvP Narrator function. Using args for Fight +//= Square Helpers. [kobra_k88] +//= 1.3 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] +//= Removed all receptioned for Yoyo mode, with the +//= exception of the "Free for all" mode. +//= Added PVP event NPCs. //============================================================ - -//========================================================================== -// PvP Narrators -//========================================================================== - -// Alberta ----------------------------------------- -alberta_in,22,146,4 script PvP Narrator#1 84,{ - callfunc "F_PvPNarr", "alberta_in", 24, 143; - end; -} -// Payon ------------------------------------- -payon_in01,173,109,3 script PvP Narrator#2 84,{ - callfunc "F_PvPNarr", "payon_in01", 169, 108; - end; -} -// Prontera ------------------------------------- -prt_in,56,140,4 script PvP Narrator#3 84,{ - callfunc "F_PvPNarr", "prt_in", 54, 137; - end; -} -// Morocc -------------------------------------- -morocc_in,144,138,4 script PvP Narrator#4 84,{ - callfunc "F_PvPNarr", "morocc_in", 141, 140; - end; -} -// Geffen -------------------------------------- -geffen_in,67,63,4 script PvP Narrator#5 84,{ - callfunc "F_PvPNarr", "geffen_in", 64, 60; - end; -} - -//******************************************************// -// Function: PvP Narrator -//******************************************************// -// arg(0): mapname -// arg(1): savepoint x cord. -// arg(2): savepoint y cord. -//============================= -function script F_PvPNarr { - mes "[PvP Narrator]"; - mes "Hello and welcome! I am in charge of explaining the PvP mode to all of those who inquire. I am the PvP Narrator!"; - M_Menu: - next; - menu "What is PvP?",M_0, "What are the PvP modes?",M_1, "What are the rules for PvP?",M_2, "Save position.",M_3; - - M_0: - mes "[PvP Narrator]"; - mes "PvP is short for 'Player versus Player'! It is a unique play mode that allows players to duel other players!"; - next; - mes "[PvP Narrator]"; - mes "If you're interested just speak with the ^5533FFGate Keeper'^000000. He will let you into the PvP square."; - next; - mes "[PvP Narrator]"; - mes "That IS, IF you have at least a base level of 31 and you have 500 zeny to pay for the enterance fee."; - mes "Those are the requirements to participate in PvP."; - goto M_Menu; - M_1: - mes "[PvP Narrator]"; - mes "There are 2 PvP modes to choose from."; - mes "One is called ^5533FF'Yoyo'^000000 Mode and the other is called ^5533FF'Nightmare'^000000 Mode."; - next; - mes "[PvP Narrator]"; - mes "Yoyo mode essentially lets you play risk free. You can experience the thrill of PvP without any restrictions or penalties."; - mes "It is recomended that you practice your skills in this mode before you move on."; - next; - mes "[PvP Narrator]"; - mes "Nightmare Mode is very dangerous! Please use caution when trying this mode of play."; - mes "You will lose some of your real EXP if you are defeated. There is also the small chance that you will drop some items and equipment."; - next; - mes "[PvP Narrator]"; - mes "Of course if you win, the rewards can be great!! Even so you should really think twice before you attempt Nightmare Mode."; - mes "Anyways, good luck."; - goto M_Menu; - M_2: - mes "[PvP Narrator]"; - mes "Before you enter any actual PvP areana, you must first choose your level of ability based on your base level."; - mes "You will do this in the pre-fight room. There will be a row of narrators, each one representing a set of player levels."; - next; - mes "[PvP Narrator]"; - mes "Speak to the narrator that represents your base level. You will then be asked to choose from five different fight maps."; - mes "You will be able to see how many people are currently participating in any given map."; - next; - mes "[PvP Narrator]"; - mes "This will be represented by the 'Attendee/Total' figure in the corner of the screen. There is a limit to how many can play on a map."; - mes "There is a hidden EXP value in PvP mode. This EXP will only apply inside of the PvP zone and not outside."; - next; - mes "[PvP Narrator]"; - mes "Every one will receive a base EXP of 5 points when they first start. If you win a match your EXP with increase by 1 point."; - mes "If you loose your EXP will drop by 5 points, so be carefull!"; - next; - mes "[PvP Narrator]"; - mes "If you are defeated and your EXP is equal to or less than 0, you will be removed from the PvP arena."; - mes "If your EXP is more than 0 than you may continue fighting and even get help from healers."; - next; - mes "[PvP Narrator]"; - mes "The fighting commands inside of PvP are the same as outside. Just remember that you won't be able to save inside a PvP arena."; - next; - mes "[PvP Narrator]"; - mes "Remember these rules well as they can help to ensure your victory."; - goto M_Menu; - M_3: - savepoint getarg(0), getarg(1), getarg(2); - mes "[PvP Narrator]"; - mes "Your position has been saved."; - close; +// Morroc +//============================================================ +morocc_in,144,138,4 script PVPNarrator#moc 84,{ + callfunc "F_PVPNarrator","morocc_in",141,139; } - -//========================================================================== -// Gate Keepers -//========================================================================== - -// Alberta ----------------------------------- -alberta_in,26,146,4 script Gate Keeper#1::GateKeep 83,{ +morocc_in,144,142,4 script Gate Keeper#moc::PVPGateKeeper 83,{ mes "[Gate Keeper]"; - mes "Hi. I'm glad to be of service. I will open the PvP fight square for you!"; - mes "If you have any questions about the PvP modes or rules, please ask the Narrator....."; + mes "Glad to be of service."; + mes "I will open the PVP fight"; + mes "square for you! If you have"; + mes "any questions about the PVP"; + mes "modes or rules, Please ask"; + mes "the Narrator..."; next; - menu "^5533FF'PvP Yoyo Mode'^000000 Fight Square.",M_0, - "^FF5533'PvP Nightmare Mode'^000000 Fight Square.",M_1, - "^5533FF'PvP Duel (Fighting) Mode'^000000 Combat Square.",M_2, "End Conversation.",M_End; - M_0: - set @mode$, "Yoyo"; - set @players1, 128; - set @players2, 128; - set @room1$, "Prontera"; - set @room2$, "Izlude"; - set @room3$, "Payon"; - set @room4$, "Alberta"; - set @room5$, "Morroc"; - callsub sF_Move; - warp "pvp_y_room", 51, 23; - end; - M_1: - set @mode$, "Nightmare"; - set @players1, 64; - set @players2, 32; - set @room1$, "Sandwhich Arena"; - set @room2$, "Rock Arena"; - set @room3$, "Four Arena"; - set @room4$, "UnderCross Arena"; - set @room5$, "Copass Arena"; - callsub sF_Move; - warp "pvp_n_room", 51, 23; - end; - M_2: - + switch(select("^FF5533' PvP Nightmare Mode'^000000:^3355FF' PvP Yoyo Mode'^000000:^3355FF' PvP Event Mode'^000000:Quit")) { + case 1: mes "[Gate Keeper]"; - mes "To enter the Duel (Fighting) Mode square you must have an admission ticket. Do you have one?"; - next; - menu "Yes I do.",-, "No I don't.",sM_1; - - if(countitem(7029) < 1) goto sM_1; - delitem 7029, 1; - set @mode$, "Fighting"; - callsub sF_Move; - warp "pvp_y_room", 51, 23; - end; - - sM_1: - mes "[Gate Keeper]"; - mes "Eh? You don't have one? I'm sorry but this fight square is only for people who have admission or viewing tickets."; - mes "You cannot come in without one."; - close; - M_End: - mes "[Gate Keeper]"; - mes "In this war between Monsters and Humans this competition between people, PvP, encourages all of us to become stronger."; - mes "Come again anytime. We welcome your challenge!"; + mes "I am sorry, but currently the Nightmare mode service is not available."; + mes "Please use the Yoyo mode instead. We apologize for the inconvenience."; close; - -sF_Move: - mes "[Gate Keeper]"; - mes "The admission fee is 500 Zeny. Do you want to move to the "+@mode$+" fight square?"; - next; - menu "Yes",-, "No",M_End; - - if(BaseLevel < 31) goto sL_LowLvl; - if(Zeny < 500) goto sL_NdZeny; - set Zeny, Zeny - 500; + case 2: mes "[Gate Keeper]"; - mes "Prepare to be warped to the arena....."; + mes "The admission fee is 500 Zeny."; + mes "Do you want to move"; + mes "to the Yoyo Mode"; + mes "fight square?"; next; - return; - - sL_LowLvl: + switch(select("Move:Cancel")) { + case 1: + if (Zeny > 499 && BaseLevel > 30) { + set zeny,zeny-500; + warp "pvp_y_room",51,23; + end; + } + else { + mes "[Gate Keeper]"; + mes "Excuse me, but"; + mes "did you not come prepared?"; + mes "Double check that you have the"; + mes "500 Zeny entrance fee, and"; + mes "that you are at least level 31!"; + close; + } + case 2: mes "[Gate Keeper]"; - mes "In order to participate in PvP you must have a base level of at least ^FF4444'31'^000000."; + mes "In this war between Monsters"; + mes "and Humans. This competition"; + mes "between people, The PVP Mode!"; + mes "Encourages us all to become"; + mes "stronger. Come again."; + mes "We welcome your challenge!"; close; - sL_NdZeny: + } + case 3: + mes "[Gate Keeper]"; + mes "Welcome"; + mes "Please double check"; + mes "That you have the admission or viewing ticket!"; + next; + if (countitem(7028) == 0 && countitem(7029) == 0) { mes "[Gate Keeper]"; - mes "As I stated, the admission fee is ^FF4444'500'^000000 Zeny. You seem to be short on Zeny."; + mes "Eh? You don't have it? Then I"; + mes "am sorry, this fight square is"; + mes "only for people who have"; + mes "admission or viewing tickets."; + mes "You cannot come in without it."; close; + } + mes "[Gate Keeper]"; + mes "Yes, thank you for participating. Have fun!"; + close2; + warp "pvp_room",51,23; + end; + case 4: + mes "[Gate Keeper]"; + mes "In this war between Monsters"; + mes "and Humans. This competition"; + mes "between people, The PVP Mode!"; + mes "Encourages us all to become"; + mes "stronger. Come again."; + mes "We welcome your challenge!"; + close; + } } -// Geffen -------------------------------------------- -geffen_in,63,63,4 duplicate(GateKeep) Gate Keeper#2 83 -// Morroc---------------------------------------------- -morocc_in,144,142,4 duplicate(GateKeep) Gate Keeper#3 83 -// Payon ---------------------------------------------- -payon_in01,175,106,3 duplicate(GateKeep) Gate Keeper#4 83 -// Prontera ------------------------------------------- -prt_in,52,140,4 duplicate(GateKeep) Gate Keeper#5 83 +// Alberta +//============================================================ +alberta_in,22,146,4 script PVP Narrator#alb 84,{ + callfunc "F_PVPNarrator","alberta_in",22,148; +} +alberta_in,26,146,4 duplicate(PVPGateKeeper) Gate Keeper#alb 83 +// Prontera +//============================================================ +prt_in,56,140,4 script PVPNarrator#prt 84,{ + callfunc "F_PVPNarrator","prt_in",54,137; +} -//==========================================================================// -// PvP Yoyo Mode Fight Square Helpers -//==========================================================================// +prt_in,52,140,4 duplicate(PVPGateKeeper) Gate Keeper#prt 83 -// LV31 ~ 40 --------------------------------- -pvp_y_room,30,85,4 script Fight Square Helper::YHelper1 105,{ - callfunc "F_PvPRoom", "y_1", 31, 40; -OnInit: - waitingroom "LV31 ~ LV40",0; - end; +// Geffen +//============================================================ +geffen_in,67,63,4 script PVPNarrator#gef 84,{ + callfunc "F_PVPNarrator","geffen_in",70,59; } -// LV41 ~ 50 -------------------------------- -pvp_y_room,38,85,4 script Fight Square Helper::YHelper2 105,{ - callfunc "F_PvPRoom", "y_2", 41, 50; -OnInit: - waitingroom "LV41 ~ LV50",0; - end; -} +geffen_in,63,63,4 duplicate(PVPGateKeeper) Gate Keeper#gef 83 -// LV51 ~ 60 --------------------------------- -pvp_y_room,46,85,4 script Fight Square Helper::YHelper3 105,{ - callfunc "F_PvPRoom", "y_3", 51, 60; -OnInit: - waitingroom "LV51 ~ LV60", 0; - end; +// Payon +//============================================================ +payon_in01,142,50,4 script PVPNarrator#pay 84,{ + callfunc "F_PVPNarrator","payon_in01",142,46; } -// LV61 ~ 70 ------------------------------------ -pvp_y_room,54,85,4 script Fight Square Helper::YHelper4 105,{ - callfunc "F_PvPRoom", "y_4", 61, 70; -OnInit: - waitingroom "LV61 ~ LV70", 0; - end; -} +payon_in01,140,53,4 duplicate(PVPGateKeeper) Gate Keeper#pay 83 -// LV71 ~ 80 ------------------------------------ -pvp_y_room,62,85,4 script Fight Square Helper::YHelper5 105,{ - callfunc "F_PvPRoom", "y_5", 71, 80; -OnInit: - waitingroom "LV71 ~ LV80", 0; - end; -} -// LV81 ~ 90 -------------------------------------- -pvp_y_room,70,85,4 script Fight Square Helper::YHelper6 105,{ - callfunc "F_PvPRoom", "y_6", 81, 90; -OnInit: - waitingroom "LV81 ~ LV90", 0; - end; -} +// PVP Yoyo Mode Staff +//============================================================ +pvp_y_room,86,85,4 script Fight Square Reception Staff 105,{ + set .@mapcount_1,getmapusers("pvp_y_8-1"); + set .@mapcount_2,getmapusers("pvp_y_8-2"); + set .@mapcount_3,getmapusers("pvp_y_8-3"); + set .@mapcount_4,getmapusers("pvp_y_8-4"); + set .@mapcount_5,getmapusers("pvp_y_8-5"); + while(1) { + switch(select("Prontera [ "+.@mapcount_1+" / 128 ]:Izlude [ "+.@mapcount_2+" / 128 ]:Payon [ "+.@mapcount_3+" / 128 ]:Alberta [ "+.@mapcount_4+" / 128 ]:Morroc [ "+.@mapcount_5+" / 128 ]:Cancel")) { + case 1: + callsub S_CheckPVPRoom,@mapcount_1,"pvp_y_8-1"; + break; + case 2: + callsub S_CheckPVPRoom,@mapcount_2,"pvp_y_8-2"; + break; + case 3: + callsub S_CheckPVPRoom,@mapcount_3,"pvp_y_8-3"; + break; + case 4: + callsub S_CheckPVPRoom,@mapcount_4,"pvp_y_8-4"; + break; + case 5: + callsub S_CheckPVPRoom,@mapcount_5,"pvp_y_8-5"; + break; + case 6: + close; + } + } -// LV91 ~ -------------------------------------------- -pvp_y_room,78,85,4 script Fight Square Helper::YHelper7 105,{ - callfunc "F_PvPRoom", "y_7", 91, 255; OnInit: - waitingroom "LV91 ~ ", 0; + waitingroom "Free For All",0; end; -} -// No Limit ----------------------------------------- -pvp_y_room,86,85,4 script Fight Square Helper::YHelper8 105,{ - callfunc "F_PvPRoom", "y_8", 0, 255; -OnInit: - waitingroom "No Limit", 0; - end; +S_CheckPVPRoom: + if (getarg(0) >= 128) { + mes "[PVP Fight Square Reception Staff]"; + mes "This map is currently full."; + next; + return; + } + else { + warp getarg(1),0,0; + end; + } } +// PVP Nightmare Mode Staff +//============================================================ +pvp_n_room,30,85,4 script Fight Square Reception Staff 105,{ + set .@mapcount_1,getmapusers("pvp_n_8-1"); + set .@mapcount_2,getmapusers("pvp_n_8-2"); + set .@mapcount_3,getmapusers("pvp_n_8-3"); + set .@mapcount_4,getmapusers("pvp_n_8-4"); + set .@mapcount_5,getmapusers("pvp_n_8-5"); + while(1) { + switch(select("Sandwich [ "+.@mapcount_1+" / 64 ]:Lock on [ "+.@mapcount_2+" / 32 ]:Four Room [ "+.@mapcount_3+" / 32 ]:Under cross [ "+.@mapcount_4+" / 32 ]:Compass Room [ "+.@mapcount_5+" / 32 ]:Cancel")) { + case 1: + callsub S_CheckPVPRoom,@mapcount_1,"pvp_n_8-1",64; + break; + case 2: + callsub S_CheckPVPRoom,@mapcount_2,"pvp_n_8-2",32; + break; + case 3: + callsub S_CheckPVPRoom,@mapcount_3,"pvp_n_8-3",32; + break; + case 4: + callsub S_CheckPVPRoom,@mapcount_4,"pvp_n_8-4",32; + break; + case 5: + callsub S_CheckPVPRoom,@mapcount_5,"pvp_n_8-5",32; + break; + case 6: + close; + } + } -//==========================================================================// -// PvP Nightmare Mode Fight Square Helpers -//==========================================================================// -// LV31 ~ 40 ------------------------------------- -pvp_n_room,30,85,4 script Fight Square Helper#N1 105,{ - callfunc "F_PvPRoom", "n_1", 31, 40; OnInit: - waitingroom "LV31 ~ LV40",0; + waitingroom "Free For All",0; end; -} -// LV41 ~ 50 -------------------------------------- -pvp_n_room,38,85,4 script Fight Square Helper#N2 105,{ - callfunc "F_PvPRoom", "n_2", 41, 50; -OnInit: - waitingroom "LV41 ~ LV50",0; - end; +S_CheckPVPRoom: + if (getarg(0) >= getarg(2)) { + mes "[PVP Fight Square Reception Staff]"; + mes "This map is currently full."; + next; + return; + } + else { + warp getarg(1),0,0; + end; + } } -// LV51 ~ 60 ------------------------------------- -pvp_n_room,46,85,4 script Fight Square Helper#N3 105,{ - callfunc "F_PvPRoom", "n_3", 51, 60; -OnInit: - waitingroom "LV51 ~ LV60", 0; - end; +// Function +//============================================================ +function script F_PVPNarrator { + mes "[PVP Narrator]"; + mes "Hello and welcome!"; + mes "I am in charge of"; + mes "explaining the PVP Mode."; + mes "I am the PVP Narrator!"; + next; + switch(select("What is PVP?:What are the PVP Modes?:What are the rules for PVP?:Save Position.:End Dialog.")) { + case 1: + mes "[PVP Narrator]"; + mes "In short form"; + mes "PVP means,"; + mes "' Player VS Player Mode '"; + mes "It's a unique place for people"; + mes "To duel with each other."; + next; + mes "[PVP Narrator]"; + mes "Just tell the"; + mes "^3355FFGate Keeper^000000"; + mes "That you want to try. He will"; + mes "let you into the PVP square."; + next; + mes "[PVP Narrator]"; + mes "But, You need to be at"; + mes "least level 31. And you"; + mes "must pay the 500 zeny"; + mes "entrance fee in order to"; + mes "To enter a PVP Fight Square."; + close; + case 2: + mes "[PVP Narrator]"; + mes "When you are qualified, You"; + mes "can choose one of two Modes."; + mes "Yoyo Mode, Or"; + mes "Nightmare Mode."; + next; + mes "[PVP Narrator]"; + mes "Yoyo Mode is risk free."; + mes "You can experience PVP"; + mes "without any restriction or"; + mes "punishment. It is recommended"; + mes "that you practice your skills"; + mes "here before you move on."; + next; + mes "[PVP Narrator]"; + mes "Nightmare Mode is very"; + mes "dangerous! Please use caution."; + mes "You will lose some of your real"; + mes "EXP when you are defeated. And"; + mes "There is a small chance that"; + mes "you will drop some equipment."; + next; + mes "[PVP Narrator]"; + mes "However, if you win, the"; + mes "rewards can be great!"; + mes "To avoid misunderstanding."; + mes "You should think it over"; + mes "twice before you go there..."; + mes "Good Luck!"; + close; + case 3: + mes "[PVP Narrator]"; + mes "Each of the Fight squares"; + mes "have a row of Narrators to"; + mes "choose from based on your"; + mes "qualifications."; + next; + mes "[PVP Narrator]"; + mes "Each Narrator will ask"; + mes "which of the five PVP maps"; + mes "you wish to go to."; + mes "Choose, and go in!"; + next; + mes "[PVP Narrator]"; + mes "Each map has a limitation on"; + mes "the number of people who can"; + mes "participate. So you will see"; + mes "figures in the corner showing"; + mes "'Attendee/total'."; + next; + mes "[PVP Narrator]"; + mes "Also, there is a hidden EXP"; + mes "value in PVP mode. This EXP"; + mes "score will only apply inside"; + mes "of the PVP zone, so do not"; + mes "worry."; + next; + mes "[PVP Narrator]"; + mes "Every player's EXP at the"; + mes "beginning is usually 5 points."; + mes "If you win, you will"; + mes "increse your EXP by 1 point"; + next; + mes "[PVP Narrator]"; + mes "In the same way, when you"; + mes "lose... Your EXP will"; + mes "drop by 5 points."; + mes "So be careful!"; + next; + mes "[PVP Narrator]"; + mes "When you are defeated"; + mes "And your EXP is equal"; + mes "to or less than 0,"; + mes "You will be removed from PVP"; + mes "And your duel is finished!"; + next; + mes "[PVP Narrator]"; + mes "However, If your EXP is more"; + mes "than 0. You can still get help"; + mes "Through other players healing..."; + mes "Do you get it?"; + next; + mes "[PVP Narrator]"; + mes "The fighting commands inside of"; + mes "PVP Are the same as the normal."; + mes "All the basic controls are the"; + mes "same."; + next; + mes "[PVP Narrator]"; + mes "However, there is one thing..."; + mes "Within the PVP fight square,"; + mes "And in the PVP fighting zones"; + mes "You cannot save your position."; + mes "Remember well... These rules"; + mes "can help to ensure your victory."; + close; + case 4: + mes "[PVP Narrator]"; + mes "Position saved..."; + mes "Successfully."; + mes "Thank you very much, We"; + mes "will see you again soon."; + close2; + savepoint getarg(0),getarg(1),getarg(2); + end; + case 5: + mes "[PVP Narrator]"; + mes "In this war between Monsters"; + mes "and Humans. This competition"; + mes "between people, The PVP Mode!"; + mes "Encourages us all to become"; + mes "stronger. Come again."; + mes "We welcome your challenge!"; + close; + } } -// LV61 ~ 70 ------------------------------------ -pvp_n_room,54,85,4 script Fight Square Helper#N4 105,{ - callfunc "F_PvPRoom", "n_4", 61, 70; -OnInit: - waitingroom "LV61 ~ LV70", 0; - end; -} +// Event Contestant Entrance +//============================================================ +pvp_room,54,85,4 script Combat Square Register Staff 105,{ + if (countitem(7028) == 0) { + mes "[PVP Combat Square Register Staff]"; + mes "Eh? How did you get in here?"; + mes "This is the entrance for players only."; + mes "For details about viewers please proceed to the Register Staff on your right."; + close; + } + + if (.pvp_close_n_room == 1 && .pvp_close_s_room == 1 && .pvp_close_w_room == 1 && .pvp_close_e_room == 1) { + Set .pvp_close_n_room,0; + Set .pvp_close_s_room,0; + Set .pvp_close_w_room,0; + Set .pvp_close_e_room,0; + } + + if (select("Combat Square one :Cancel") == 1) { + mes "[PVP Combat Square Register Staff]"; + mes "'"+ strcharinfo(0) +"'"; + mes "Are you ready?!"; + next; + if (select("Yes!:No!") == 1) { + mes "[PVP Combat Square Register Staff]"; + mes "OK! I will send you inside"; + mes "Good luck!"; + close2; + delitem 7028,1; //Invite_For_Duel + while(1) { + switch(rand(1,4)) { + case 1: + if (.pvp_close_n_room == 0) { + set .pvp_close_n_room,1; + warp "pvp_2vs2",40,59; + end; + } + case 2: + if (.pvp_close_s_room == 0) { + set .pvp_close_s_room,1; + warp "pvp_2vs2",59,40; + end; + } + case 3: + if (.pvp_close_w_room == 0) { + set .pvp_close_w_room,1; + warp "pvp_2vs2",20,40; + end; + } + case 4: + if (.pvp_close_e_room == 0) { + set .pvp_close_e_room,1; + warp "pvp_2vs2",40,20; + end; + } + } + } + } + mes "[PVP Combat Square Register Staff]"; + mes "Come back anytime you are ready."; + close; + } + close; -// LV71 ~ 80 ----------------------------------- -pvp_n_room,62,85,4 script Fight Square Helper#N5 105,{ - callfunc "F_PvPRoom", "n_5", 71, 80; OnInit: - waitingroom "LV71 ~ LV80", 0; + Set .pvp_close_n_room,0; + Set .pvp_close_s_room,0; + Set .pvp_close_w_room,0; + Set .pvp_close_e_room,0; + waitingroom "Combat Square players entrance only",0; end; } -// LV81 ~ 90 ------------------------------------ -pvp_n_room,70,85,4 script Fight Square Helper#N6 105,{ - callfunc "F_PvPRoom", "n_6", 81, 90; +// Spectator Entrance +//============================================================ +pvp_room,62,85,4 script Compete Square viewer's entrance::PVPSpectator 105,{ + if (countitem(7029) == 0) { + mes "[PVP Compete Square Register Staff]"; + mes "This is the entrance for viewers."; + mes "For details about players entrance please proceed to the Register Staff on your left."; + close; + } + + if (select("Compete Square one:Cancel") == 1) { + mes "[PVP Combat Square Register Staff]"; + mes "You got it, thanks for participating. Have fun!"; + close2; + delitem 7029,1; //Admission_For_Duel + switch(rand(1,4)) { + case 1: warp "pvp_2vs2",39,7; end; + case 2: warp "pvp_2vs2",39,73; end; + case 3: warp "pvp_2vs2",7,39; end; + case 4: warp "pvp_2vs2",73,39; end; + } + } + close; + OnInit: - waitingroom "LV81 ~ LV90", 0; + waitingroom "Compete Square viewer's entrance",0; end; } -// LV91 ~ --------------------------------------- -pvp_n_room,78,85,4 script Fight Square Helper#N7 105,{ - callfunc "F_PvPRoom", "n_7", 91, 255; -OnInit: - waitingroom "LV91 ~ ", 0; +pvp_room,70,85,4 duplicate(PVPSpectator) Compete Square Register Staff 105 + +pvp_room,78,85,4 duplicate(PVPSpectator) Combat Square Register Staff 105 + +pvp_room,86,85,4 duplicate(PVPSpectator) Combat Square Register Staff 105 + +// Spectator Warps +//============================================================ +pvp_2vs2,5,4,0 script Combat Square Staff::PVPSpecWarp 45,1,1,{ +OnTouch: + mes "[Combat Square Staff]"; + mes "May I help you?"; + if (select("To the center viewer seat.:Leave Combat Square.") == 1) { + warp "pvp_2vs2",38,38; + end; + } + warp "pvp_room",84,39; end; } -// No Limit ---------------------------------- -pvp_n_room,86,85,4 script Fight Square Helper#N8 105,{ - callfunc "F_PvPRoom", "n_8", 0, 255; -OnInit: - waitingroom "No Limit", 0; +pvp_2vs2,5,74,0 duplicate(PVPSpecWarp) Combat Square Staff 45,1,1 + +pvp_2vs2,74,74,0 duplicate(PVPSpecWarp) Combat Square Staff 45,1,1 + +pvp_2vs2,74,5,0 duplicate(PVPSpecWarp) Combat Square Staff 45,1,1 + +pvp_2vs2,40,40,0 script Combat Square Staff 45,1,1,{ + set mapmove,0; + mes "[Combat Square Staff]"; + mes "May I help you?"; + if (select("To the side viewer seat.:Leave Combat Square.") == 1) { + switch(rand(1,4)) { + case 1: warp "pvp_2vs2",39,7; end; + case 2: warp "pvp_2vs2",39,73; end; + case 3: warp "pvp_2vs2",7,39; end; + case 4: warp "pvp_2vs2",73,39; end; + } + } + warp "pvp_c_room",84,39; end; } - -//***************************************************************// -// Function: PvP Fight Square Helper -//***************************************************************// -// arg(0): pvp room name -// arg(1): minimum base lvl to enter arena -// arg(2): maximum base lvl allowed to enter arena -//=============================================== -function script F_PvPRoom { - - mes "[Fight Square Helper]"; - if(BaseLevel < getarg(1)) goto L_LowLvl; - if(BaseLevel > getarg(2)) goto L_HiLvl; - mes "Please choose an arena to fight in..."; - M_Menu: +// PVP Area Exit warp +//============================================================ +pvp_room,51,19,0 script out 45,4,2,{ +OnTouch: + mes "[Combat Square Staff]"; + mes "Did you have fun in Combat Square?"; + mes "May I ask where you want to go?"; next; - menu @room1$ + " [" + getmapusers("pvp_" + getarg(0) + "-1") + "/" +@players1+ "]",M_Rm1, - @room2$ + " [" + getmapusers("pvp_" + getarg(0) + "-2") + "/" +@players2+ "]",M_Rm2, - @room3$ + " [" + getmapusers("pvp_" + getarg(0) + "-3") + "/" +@players2+ "]",M_Rm3, - @room4$ + " [" + getmapusers("pvp_" + getarg(0) + "-4") + "/" +@players2+ "]",M_Rm4, - @room5$ + " [" + getmapusers("pvp_" + getarg(0) + "-5") + "/" +@players2+ "]",M_Rm5, "Cancel",M_End; - M_Rm1: - if (getmapusers("pvp_" + getarg(0) + "-1") == @players1) goto L_Full; - warp "pvp_" + getarg(0) + "-1",0,0; - end; - M_Rm2: - if (getmapusers("pvp_" + getarg(0) + "-2") == @players2) goto L_Full; - warp "pvp_" + getarg(0) + "-2",0,0; - end; - M_Rm3: - if (getmapusers("pvp_" + getarg(0) + "-3") == @players2) goto L_Full; - warp "pvp_" + getarg(0) + "-3",0,0; - end; - M_Rm4: - if (getmapusers("pvp_" + getarg(0) + "-4") == @players2) goto L_Full; - warp "pvp_" + getarg(0) + "-4",0,0; - end; - M_Rm5: - if (getmapusers("pvp_" + getarg(0) + "-5") == @players2) goto L_Full; - warp "pvp_" + getarg(0) + "-5",0,0; - end; - M_End: - close; - - L_LowLvl: - mes "I'm sorry but you do not meet the Base Level requirements to enter. Please try a lower level room."; - close; - L_HiLvl: - mes "I'm sorry but you exceed the Base Level requirements to enter. Please try a higher level room."; - close; - L_Full: - mes "[Fight Square Helper]"; - mes "I'm sorry but this arena is full. Please choose another one to participate in...."; - goto M_Menu; -} + switch(select("prontera.:morocc.:geffen.:payon.:alberta.:Cancel.")) { + case 1: warp "prontera",107,60; end; + case 2: warp "morocc",157,96; end; + case 3: warp "geffen",120,36; end; + case 4: warp "payon",96,100; end; + case 5: warp "alberta",41,243; end; + case 6: close; + } +}
\ No newline at end of file |