From 8cdb71e6da5fae23c4f24ae6f116756393b20c6b Mon Sep 17 00:00:00 2001 From: deadlysilence Date: Sun, 23 Jun 2013 19:15:31 +0000 Subject: [PATCH] [Malaya] - added Jeepney script and Tribe Blacksmith script git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17383 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/re/cities/malaya.txt | 251 +++++++++++++++++++++++++++++++- npc/re/quests/quests_malaya.txt | 234 ++++++++++++++++++++++++++++- 2 files changed, 483 insertions(+), 2 deletions(-) diff --git a/npc/re/cities/malaya.txt b/npc/re/cities/malaya.txt index e41422c581..283c7fbf8e 100644 --- a/npc/re/cities/malaya.txt +++ b/npc/re/cities/malaya.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Euphy //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -13,6 +13,7 @@ //= 0.1 Alberta sailors only. [Euphy] //= 0.2 Adapted from Masao's conversion. //= 1.0 Added remaining NPCs. +//= 1.1 Added Jeepney script. [DeadlySilence] //============================================================ // Port Malaya Transportation @@ -683,3 +684,251 @@ malaya,63,185,4 script Woman#ma08 583,{ mes "There is rumor that the monster came from the soul of a baby that never been born. So sad."; close; } + +// Jeepneys +//============================================================ +function script F_Malaya_Jeepney { + .@mapName$ = getarg(0); + .@passengers = getarg(1); + + // set the other messages of varying amount) + for (.@i = 5; .@i < getargcount(); .@i++) { + setd(".@msgJeepneyInfo$[" + (.@i - 5) + "]", getarg(.@i)); + } + + if (malaya_hi < 10) { + mes "[Jeepney Driver]"; + mes getarg(2); + close; + } else if ((malaya_hi >= 10) && (malaya_hi < 20)) { + mes "[Jeepney Driver]"; + mes getarg(3); + close; + } else { + mes "[Jeepney Driver]"; + mes getarg(4); + next; + } + switch(select("Board [Passenger " + getmapusers(.@mapName$) + "/" + .@passengers +"]:Jeepney?:Are there any other Jeepneys?:Ah... Yes...")) { + case 1: + if (getmapusers(.@mapName$) >= .@passengers) { + mes "[Jeepney Driver]"; + mes "I'm afraid the Jeepney is full."; + mes "I'm sorry but how about some other Jeepney?"; + close; + } else { + mes "[Jeepney Driver]"; + mes "Have a nice day."; + close2; + warp .@mapName$,29,24; + end; + } + case 2: + // iterate through all the jeepney information for this specific NPC + for (.@i = 0; .@i < getarraysize(.@msgJeepneyInfo$); .@i++) { + mes "[Jeepney Driver]"; + mes getd(".@msgJeepneyInfo$[" + .@i + "]"); + + if (.@i < (getarraysize(.@msgJeepneyInfo$) - 1)) { + next; + } + } + close; + case 3: + mes "[Jeepney Driver]"; + mes "Oh! Other Jeepneys are in operation, of course."; + next; + mes "[Jeepney Driver]"; + mes "In Port Malaya there are 12, 30 and 60 passenger Jeepneys with 3 each operating."; + next; + mes "[Jeepney Driver]"; + mes "Would you like to know the location of other cars?"; + next; + switch (select("I'd like to know where the 12 passenger car is.:I'd like to know where the 30 passenger car is.:I'd like to know where the 60 passenger car is.")) { + case 1: + viewpoint 1, 237, 240, 1, 0xF7E009; + viewpoint 1, 67 , 44 , 2, 0xF7E009; + viewpoint 1, 282, 129, 3, 0xF7E009; + set .@zif_in, 12; + break; + case 2: + viewpoint 1, 134, 250, 4, 0xF7E009; + viewpoint 1, 341, 153, 5, 0xF7E009; + viewpoint 1, 293, 290, 6, 0xF7E009; + set .@zif_in, 30; + break; + case 3: + viewpoint 1, 242, 221, 7, 0xF7E009; + viewpoint 1, 62 , 245, 8, 0xF7E009; + viewpoint 1, 257, 58 , 9, 0xF7E009; + set .@zif_in, 60; + break; + } + mes "[Jeepney Driver]"; + mes .@zif_in+" passenger Jeepney's location has been marked on your map."; + next; + break; + } + mes "[Jeepney Driver]"; + mes "Have a nice trip."; + close; +} + +malaya,237,240,4 script Jeepney Driver#01 582,{ + callfunc( + "F_Malaya_Jeepney", + "ma_zif01", + 12, + + // Messages for malaya_hi checks. + "UUrgghhhh.... I'm scared... so scared... what happened to this place?", + "The place is still a mess... I wonder if I can operate a jeepney here...", + "Ha ha ha Welcome. I am ^1561EAVol^000000, operating the 12 man Jeepney here.", + + // Monologues of variable lengths. + "Is this your first time in Port Malaya?", + "Jeepney drivers here also promote Jeepneys, so let me explain them to you.", + "Jeepneys were first developed to transport goods quickly, but are now used as public transport.", + "Since everybody has different tastes, you can see those with cool and elaborate decorations.", + "Of course you don't need to drive them yourselves, but you can ride them so please feel free to do so." + ); +} + +malaya,67,44,4 script Jeepney Driver#02 582,{ + callfunc( + "F_Malaya_Jeepney", + "ma_zif02", + 12, + + "Wha... What's... Going on in that hospital...", + "I think the moaning coming from the hospital has lessened...", + "I'm ^1561EAChui^000000, operating a 12 man Jeepney. Hi there~", + + "Is this your first time in Port Malaya?", + "Jeepney drivers here also promote Jeepneys, so let me explain them to you.", + "Jeepneys were first developed to transport goods quickly, but are now used as public transport.", + "I modified my Jeepney myself...", + "For safety reasons there's a limit to the number of passengers, and it's safe so no worries..." + ); +} + +malaya,282,129,4 script Jeepney Driver#03 582,{ + callfunc( + "F_Malaya_Jeepney", + "ma_zif03", + 12, + + "It's not good for outsiders to have a chat... Perhaps the Mumbaki Leader may have the solution for this.", + "Are you the adventurer who recently met Mumbaki? No wait... Then you shouldn't be here... Yes it's a ghost... Arghhhh...", + "The name's ^1561EATop^000000, operating one of the 3 12 man Jeepneys in town.", + + "First time in town?", + "Jeepney drivers here also promote Jeepneys, so let me explain them to you.", + "Jeepneys were first developed to transport goods quickly, but are now used as public transport.", + "They all look different depending on their drivers...", + "Now it is the fame of Port Malaya." + ); +} + +malaya,134,250,6 script Jeepney Driver#04 582,{ + callfunc( + "F_Malaya_Jeepney", + "ma_zif04", + 30, + + "G...Go... Go away...", + "Arghh... Scared the devil out of me... Go away... Shoo...", + "^1561EABrav^000000, 30 man Jeepney driver at your service, driving as safely as I can since I get scared easily.", + + "Is this your first time in Port Malaya?", + "Jeepneys were first developed to transport goods quickly, but are now used as public transport.", + "The modified cars are decorated by their operators.", + "You come to Port Malaya, you must ride a Jeepney.", + "Ha ha ha, of course you can't drive it yourself." + ); +} + +malaya,341,153,4 script Jeepney Driver#05 582,{ + callfunc( + "F_Malaya_Jeepney", + "ma_zif05", + 30, + + "G... Ghosts in town... Hey... Do you have one on you?", + "I think there are fewer ghosts now... The town is slightly quieter...", + "Hi I'm ^1561EALivil^000000 operator for the 30 man Jeepney. Safety is my priority.", + + "First time in town?", + "I'll give you a quick guide as a service.", + "Jeepneys were first developed to transport goods quickly, but are now used as public transport.", + "For safety reasons, Jeepneys have a limit on the number of passengers.", + "Some carried 180 people, but there aren't any of those in Port Malaya today." + ); +} + +malaya,293,290,6 script Jeepney Driver#06 582,{ + callfunc( + "F_Malaya_Jeepney", + "ma_zif06", + 30, + + "Gu... Guards... What are the guards doing...", + "Did the guards finally do something? Phew... What a rush...", + "I'm ^1561EAGad^000000, the trustworthy 30 man Jeepney driver.", + + "I see you're new to this town.", + "To guide travelers is also my task!! Let me explain.", + "Jeepneys were goods transport vehicles, now decorated and modified with Port Malaya's new technology!!", + "This Jeepney is my very own handiwork. Ha ha ha... It's cool right? Ha ha ha", + "Even though the customer is king, I can't let you drive it... Ha ha ha" + ); +} + +malaya,242,221,4 script Jeepney Driver#07 582,{ + callfunc( + "F_Malaya_Jeepney", + "ma_zif07", + 60, + + "Oh no... I think the whole village is bewitched by ghosts... Maybe... I should give the Mumbaki Leader a visit...", + "Ghost... I'm sure the Mumbaki Leader knows how to get rid of these ghosts...", + "^1561EAHott^000000, at your service, the safest 60 man Jeepney Operator.", + + "Jeepney is the public transportation of Port Malaya.", + "Therefore they are everywhere. And it's free! I know they all have different passenger limits, but that's no problem because they're everywhere." + ); +} + +malaya,62,245,6 script Jeepney Driver#08 582,{ + callfunc( + "F_Malaya_Jeepney", + "ma_zif08", + 60, + + "Shoo~ Be gone if you're a ghost, and go away even if you're human~ Shoo~", + "Hey... You... Are human right? Right? Huh? Say you are... Please...", + "Hullo, I'm ^1561EAMuyan^000000, operator of this 60 man Jeepney. Nice to meet you.", + + "Jeepneys are public transport, so safety is our priority.", + "My Jeepney received the best class of Port Malaya, a '60 man Jeepney' certificate.", + "Meaning!! That it is perfectly safe!! Don't you worry about the ride." + ); +} + +malaya,257,58,6 script Jeepney Driver#09 582,{ + callfunc( + "F_Malaya_Jeepney", + "ma_zif09", + 60, + + "...You're an outsider... Don't go touching anything and be careful in town...", + "The town is still quite dangerous. Best not touch anything until it is safe.", + "Hi there. I'm ^1561EAGramma^000000, Operator of the 60 man Jeepney of Port Malaya.", + + "Is this your first time in Port Malaya?", + "We Jeepney drivers here also promote Jeepneys, so let me explain them to you.", + "Jeepneys were first developed to transport goods quickly, but are now used as public transport.", + "Since everybody have different tastes, you can see those with cool and elaborate decorations.", + "Of course you don't need to drive them yourselves, but you can ride them so please feel free to do so." + ); +} \ No newline at end of file diff --git a/npc/re/quests/quests_malaya.txt b/npc/re/quests/quests_malaya.txt index 0f344715d0..9bab65bea3 100644 --- a/npc/re/quests/quests_malaya.txt +++ b/npc/re/quests/quests_malaya.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Euphy //===== Current Version: ===================================== -//= 0.1 +//= 0.2 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -11,6 +11,7 @@ //= Quest NPCs related to Port Malaya. //===== Additional Comments: ================================= //= 0.1 Traders only. Adapted from Masao's conversion. [Euphy] +//= 0.2 Added Tribe Blacksmith [DeadlySilence] //============================================================ // Traders @@ -273,3 +274,234 @@ ma_fild01,238,198,4 script Tikbalang Expert#malaya 582,{ } } } + +// MVP Armors :: mvpitem +// ============================================================ +ma_fild01,158,243,6 script Tribe Blacksmith#malaya 582,{ + + mes "[Bayani]"; + mes "I will upgrade your armor if you bring one that holds enormous power."; + next; + switch (select("What kind of equipment do upgrade?:What are the required materials?:What will it become after an upgrade?:Please upgrade this.")) { + case 1: + mes "[Bayani]"; + mes "Your questions are too simple, but!"; + next; + mes "[Bayani]"; + mes "Are also important."; + next; + mes "[Bayani]"; + mes "^7B4772Bakonawa Scale Armor^000000 made from the scales of the Bakonawa monster known to swallow the moon."; + next; + mes "[Bayani]"; + mes "Light but sturdy ^7B4772Kalasag^000000 made from rattan that grows wild around Port Malaya."; + next; + mes "[Bayani]"; + mes "^7B4772Buwaya Sack Cloth^000000 made from the sack of the man-eating alligator Buwaya."; + next; + mes "[Bayani]"; + mes "^7B4772Bangungot Boots of Nightmare^000000 imbued with the hatred and vengeance of the monster Bangungot."; + next; + mes "[Bayani]"; + mes "As just mentioned."; + next; + mes "[Bayani]"; + mes "I will make powerful armor out of ONLY the strongest armor dropped from fearful monsters."; + close; + case 2: + mes "[Bayani]"; + mes "Learned well."; + mes "Seems you learned that there is no such thing as free in life."; + next; + mes "[Bayani]"; + mes "First thing to remember is that the object to upgrade must be strong itself. At least strong enough to endure ^FF0000+9 Refinement^000000."; + next; + mes "[Bayani]"; + mes "Next is true strength that only comes out of power obtained naturally. I need ^FF000020 Ancient Grudges^000000 for protection from evil while Im refining."; + next; + mes "[Bayani]"; + mes "When a ^FF0000+9 Refined Strong armor^000000 is combined with ^FF000020 Ancient Grudges^000000 for protection!!"; + next; + mes "[Bayani]"; + mes "You get a completely new and improved armor from old scraps."; + next; + mes "[Bayani]"; + mes "Always look forward to this."; + close; + case 3: + mes "[Bayani]"; + mes "Listen, because this is a very important question."; + next; + mes "[Bayani]"; + mes "It won't matter if I say it more than a 100 times that upgraded armor is powerful."; + next; + mes "[Bayani]"; + mes "Unless the one that holds it doesn't believe it is! Ask about what has changed and decide for yourself!"; + next; + while (1) { + switch (select("There is no more.:Bakonawa Scale Armor:Kalasag:Buwaya Sack Cloth:Bangungot Boots of Nightmare")) { + case 1: + mes "[Bayani]"; + mes "Looks like you ran out of questions."; + mes "Don't forget. You'll have to give up something to gain something."; + close; + case 2: + mes "[Bayani]"; + mes "The Bakonawa Scale Armor adds +1 to all stats for all jobs which is overall great armor for everyone."; + next; + mes "[Bayani]"; + mes "But I'm sure the inner you thinks this isn't enough."; + next; + mes "[Bayani]"; + mes "That is why +2 can be added to all stats and an extra slot for a card to your socket if upgraded."; + next; + break; + case 3: + mes "[Bayani]"; + mes "Kalasag is a good shield to reduce damage from boss monsters by 1% per 3 refinements."; + next; + mes "[Bayani]"; + mes "But not enough. Can't believe that a shield doesnt have a place to equip a card."; + next; + mes "[Bayani]"; + mes "That is why I can add an extra slot for a card to your socket if upgraded."; + next; + break; + case 4: + mes "[Bayani]"; + mes "The Buwaya Sack Cloth offers healing capacity and healing item effect increase by 1% per 3 refinements. Not to mention it reduces 10% damage from Water, Earth, Fire, and Wind elemental monsters."; + next; + mes "[Bayani]"; + mes "But not enough. Can't believe that these clothes don't come with a place to equip a card. Everyone knows that clothes should have Raydric on them!"; + next; + mes "[Bayani]"; + mes "Don't worry! I can add an extra slot for a card to your socket if upgraded."; + next; + break; + case 5: + mes "[Bayani]"; + mes "The Bangungot Boots of Nightmare increases +1 MDEF per 1 refinement and speed increases starting at 14 refinement and above."; + next; + mes "[Bayani]"; + mes "The speed increase effect from shoes like Moonlight Flower Shoes and Sleipnir items are out of reach for ordinary people."; + next; + mes "[Bayani]"; + mes "But of course, +14 refinement isn't easy but there is an easy way to get it."; + next; + mes "[Bayani]"; + mes "By upgrading your shoes, you can get speed increase starting from +12 refinement!"; + next; + mes "[Bayani]"; + mes "And it doesn't end there!!"; + mes "I will also put in an extra slot in your socket to add a card."; + next; + break; + } + mes "[Bayani]"; + mes "However, you'll have to give up something to gain something."; + next; + mes "[Bayani]"; + mes "^0000FFEquipping the Kalasag, Buwaya Sack Cloth, Bakonawa Scale Armor, and Bangungot Boots of Nightmare all at once will lose the ^FF0000Set Effects^0000FF.^000000"; + next; + mes "[Bayani]"; + mes "Think it through. Next question?"; + next; + } + } + mes "[Bayani]"; + mes "Ha ha ha ha ha ha ha! Good!"; + mes "You've brought the materials, right?"; + next; + if (select("Oh... sorry...:Preparations are complete!!") == 1) { + mes "[Bayani]"; + mes "Oh no!!"; + mes "I will need an light but sturdy armor with an refinement of +9 or greater and 20 Ancient Grudges!!"; + close; + } + if (countitem(6499) < 20) { + mes "[Bayani]"; + mes "You said all preparations are done and you give me this?! I need at least 20 Ancient Grudges to refine your item."; + close; + } + mes "[Bayani]"; + mes "So what armor will it be?"; + next; + switch (select("Bakonawa Scale Armor:Kalasag:Buwaya Sack Cloth:Bangungot Boots of Nightmare")) { + case 1: + .@part = EQI_ARMOR; + .@item = 15051; + .@newItem = 15052; + break; + case 2: + .@part = EQI_HAND_L; + .@item = 2169; + .@newItem = 2170; + break; + case 3: + .@part = EQI_GARMENT; + .@item = 2590; + .@newItem = 2591; + break; + case 4: + .@part = EQI_SHOES; + .@item = 2491; + .@newItem = 2492; + break; + } + + if (!(.@item)) { + mes "[Bayani]"; + mes "You should wear the equipment to upgrade and not come without it on you."; + close; + } else if (getequipid(.@part) != .@item) { + mes "[Bayani]"; + mes "What is this! You said you wanted to upgrade " + getitemname(.@item) + " but why are you giving me this? You should be wearing " + getitemname(.@item) + "."; + close; + } else if (getequiprefinerycnt(.@part) < 9) { + mes "[Bayani]"; + mes "No, the sturdiness of this item has not been tested yet. It'll have to be at least +9 refined for me to say, 'Oh this is pretty sturdy armor."; + close; + } + + mes "[Bayani]"; + mes "Looks like you did your homework! Don't see a flaw! Then I have one question to ask before I start refinement."; + next; + mes "[Bayani]"; + mes "^0000FFOnce your item is refined, the refinement level will be ^FF00000^0000FF and the item will be upgraded.^000000 You get this part?"; + next; + if (select("No.:Yes.") == 1) { + mes "[Bayani]"; + mes "What? You didn't know this? Then, read through my instructions and come back again."; + close; + } + mes "[Bayani]"; + mes "Good. Next question. Once refinement is done,"; + mes "^0000FFEquipping the Kalasag, Buwaya Sack Cloth, Bakonawa Scale Armor, and Bangungot Boots of Nightmare all at once will lose the ^FF0000Set Effects^0000FF.^000000"; + mes "Do you understand this point?"; + next; + if (select("No.:Yes.") == 1) { + mes "[Bayani]"; + mes "What? You didn't know this? Then, read through my instructions and come back again."; + close; + } + mes "[Bayani]"; + mes "Awesome! Then let's start refining " + getitemname(.@item) + "."; + next; + specialeffect EF_SONICBLOW; + mes "[Bayani]"; + mes "Pow!! Wow!! Flip... flop!"; + next; + specialeffect2 EF_TRIPLEATTACK; + mes "[Bayani]"; + mes "BAM!!"; + next; + + delitem 6499,20; //Ancient_Grudge + delequip .@part; + getitem .@newItem, 1; + + mes "[Bayani]"; + mes "Ha ha. Perfect."; + mes "Congratulations. Your armor is better than ever."; + close; +} \ No newline at end of file