// TMW2/LoF scripts. // Authors: // TMW-LoF Team // Jesusalva // Description: // Old pirate with quests. // LOFQuest_George // 1 - Roger assigned the task // 2 - First task accepted // 3 - First task complete // 4 - Second task accepted // 5 - Second task complete 018-1,26,36,0 script George NPC_GEORGE,{ .@q=getequipid(EQI_HEAD_TOP); .@q1=getequipid(EQI_ACC_R); if (.@q == CorsairHat) goto L_Pirate; if (.@q == PirateBandana) goto L_Bandana; if (.@q == RightEyePatch || .@q1 == EyePatch) goto L_EyePatch; mesn l("George the Pirate"); mesq l("Yar! Do you need something, matey?"); goto L_Main; // Intro dialogs L_Pirate: mesn l("George the Pirate"); mesq l("Arrrrh! Ye be wearing a pirate's hat!"); goto L_Main; L_Bandana: mesn l("George the Pirate"); mesq l("Arrrrh! Ye remind me of my old first mate!"); goto L_Main; L_EyePatch: mesn l("George the Pirate"); mesq l("Arrrrh! Looks like ye lost an eye there!"); goto L_Main; // Main Menu L_Main: .@q=getq(LoFQuest_George); menu l("What is this island?"), L_Explain, rif(.@q == 1, l("Actually, I heard from Roger that you may need some help.")), L_RequestOne, rif(.@q == 2, l("About the items you asked me to collect...")), L_ProgressOne, rif(.@q == 3, l("Do you need any more help?")), L_RequestTwo, rif(.@q == 4, l("About the items you asked me to collect...")), L_ProgressTwo, rif(.@showShovel, l("Could you sell me a treasure map and a shovel?")), L_Shop, rif(getq(HurnscaldQuest_PirateCave), l("About this pirate treasure map...")), L_PirateMap, l("Nothing I guess"), L_Close; // Context menu L_Explain: mesn l("George the Pirate"); mesq l("Arrr matey! This is @@, yarr.", l("##BSincerity Island##b")); next; mesn l("George the Pirate"); mesq l("Nobody lives here for years, arr. Monsters have taken over everything, yarr."); next; mesn l("George the Pirate"); mesq l("It is a pirate treasure hideout, yarr arr! If you have a @@ and a @@, you may get luck, yarr!", getitemlink(PirateTreasureMap), getitemlink(IronShovel)); next; .@showShovel=true; goto L_Main; // Requests L_RequestOne: if (BaseLevel < 40) goto L_Weak; mesn l("George the Pirate"); mesq l("Roger, eh? Aye, I do need help. If you bring me 30 @@, 50 @@, and 30 @@, maybe I can give you a reward.", getitemlink(Beer), getitemlink(EmptyBottle), getitemlink(CasinoCoins)); setq LoFQuest_George, 2; close; L_RequestTwo: if (BaseLevel < 60) goto L_Weak; mesn l("George the Pirate"); mesq l("Arrr matey! My captain asked me to have you get him some items. Please bring us %d %s and %d %s, my captain likes to snack on those during our long voyages. Oh, and something to read too!", 50, getitemlink(Potatoz), 40, getitemlink(Dragonfruit)); setq LoFQuest_George, 4; close; // Progress Report 1 L_ProgressOne: if (countitem(Beer) < 30 || countitem(EmptyBottle) < 50 || countitem(CasinoCoins) < 30) goto L_NotEnough; mesn l("George the Pirate"); mesq l("Did you brought everything I ask for?"); select l("Yes"), l("Not sure"); if (@menu == 2) goto L_NotEnough; mesn l("George the Pirate"); mesq l("Yar matey! You have the items I asked for! You have the honor and trust we pirates bestow each other!"); inventoryplace SailorHat, 1; delitem Beer, 30; delitem EmptyBottle, 50; delitem CasinoCoins, 30; mes ""; mesq l("Here is a reward for your effort! Now you can be a true buccaneer!"); getitem SailorHat, 1; getexp 50000, 0; setq LoFQuest_George, 3; goto L_Close; // Progress Report 2 L_ProgressTwo: if (countitem(Potatoz) < 50 || countitem(Dragonfruit) < 40 || countitem(Almanac) < 1) goto L_NotEnough; mesn l("George the Pirate"); mesq l("Did you brought everything I ask for?"); select l("Yes"), l("Not sure"); if (@menu == 2) goto L_NotEnough; mesn l("George the Pirate"); mesq l("Arrr! Good job matey! You brought us everything we asked for, even the Maritime Almanac Scroll!"); inventoryplace CorsairHat, 1; delitem Potatoz, 50; delitem Dragonfruit, 40; delitem Almanac, 1; mesq l("My captain wanted me to give this to you as a special reward for your efforts."); getitem CorsairHat, 1; getexp 150000, 0; setq LoFQuest_George, 5; next; mesn; mesq l("You can call yourself a pirate now! HAR HAR HAR!!"); goto L_Close; // Fallbacks L_Weak: mesn l("George the Pirate"); mesq l("Arr, you are not experienced enough to help me yet!"); close; L_NotEnough: mesn l("George the Pirate"); mesq l("Arrr! You did not bring me everything I asked for!"); if (.@q == 2) goto L_NotEnoughOne; if (.@q == 4) goto L_NotEnoughTwo; close; L_NotEnoughOne: mesq l("Remember, I need 30 @@, 50 @@, and 30 @@.", getitemlink(Beer), getitemlink(EmptyBottle), getitemlink(CasinoCoins)); goto L_Close; L_NotEnoughTwo: mesq l("Remember, I need %d %s, %d %s, and something interesting to read.", 50, getitemlink(Potatoz), 40, getitemlink(Dragonfruit)); goto L_Close; L_Shop: mesn; mesq l("Arr ha ha ha arr!"); next; mesn; mesq l("If I had a map, I would be digging the treasures, not selling it, arr!"); next; mesn; .@price=getiteminfo(IronShovel, ITEMINFO_BUYPRICE); mesq l("But I can sell ya a %s for %d GP. Interested?", getitemlink(IronShovel), .@price); if (Zeny < .@price) { mesc l("You do not have enough money."); next; goto L_Main; } if (askyesno() == ASK_YES) { inventoryplace IronShovel, 1; Zeny-=.@price; getitem IronShovel, 1; mesn; mesq l("Arr! Here you go, matey!"); next; } .@showShovel=false; goto L_Main; L_PirateMap: if (getq(HurnscaldQuest_PirateCave) >= 2) { mesn l("George the Pirate"); mesq l("I'm not familiar with the Butterfly Caves. Try asking a local, maybe Arkim, they ought know the way."); next; goto L_Close; } mesn l("George the Pirate"); mesq l("Arr, that's a fine map ya got there! And these are definitely Hurnscald Caves, yarr!"); next; mesn l("George the Pirate"); mesq l("However..."); next; mesn l("George the Pirate"); mesq l("I'm not familiar with the Butterfly Caves. Try asking a local?"); setq HurnscaldQuest_PirateCave, 2; next; goto L_Close; L_Close: sailortalk; closedialog; close; OnInit: .sex=G_MALE; .distance=5; end; }