diff options
Diffstat (limited to 'npc/018-1')
-rw-r--r-- | npc/018-1/_import.txt | 1 | ||||
-rw-r--r-- | npc/018-1/george.txt | 161 |
2 files changed, 162 insertions, 0 deletions
diff --git a/npc/018-1/_import.txt b/npc/018-1/_import.txt index ad7c79468..98e287a52 100644 --- a/npc/018-1/_import.txt +++ b/npc/018-1/_import.txt @@ -2,3 +2,4 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/018-1/_mobs.txt", "npc/018-1/_warps.txt", +"npc/018-1/george.txt", diff --git a/npc/018-1/george.txt b/npc/018-1/george.txt new file mode 100644 index 000000000..63d3a816a --- /dev/null +++ b/npc/018-1/george.txt @@ -0,0 +1,161 @@ +// TMW2/LoF scripts. +// Authors: +// TMW-LoF Team +// Jesusalva +// Description: +// Old pirate with quests. BaseLevel is handled by Paperboy aka. Roger + +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 "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, + 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; + goto L_Main; + + +// Requests +L_RequestOne: + 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: + mesn l("George the Pirate"); + mes "\"Arrr matey! My captain asked me to have you get him some items. Please bring us 50 zombie nachos and 50 lady fingers, my captain likes to snack on those during our long voyages. Oh, and something to read too!\""; + 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 5000, 0; + setq LoFQuest_George, 3; + goto L_Close; + +// Progress Report 2 +L_ProgressTwo: + if (countitem(WarlordPlate) < 100 || + countitem(WarlordPlate) < 50 || + countitem(WarlordPlate) < 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"); + mes "\"Arrr! Good job matey! You brought us everything we asked for, even the Maritime Almanac Scroll!\""; + + inventoryplace CorsairHat, 1; + delitem WarlordPlate, 50; + delitem WarlordPlate, 50; + delitem WarlordPlate, 1; + mes "\"My captain wanted me to give this to you as a special reward for your efforts.\""; + getitem CorsairHat, 1; + getexp 15000, 0; + setq LoFQuest_George, 5; + goto L_Close; + +// Fallbacks +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 100 @@, 50 @@, and something interesting to read.", getitemlink(WarlordPlate), getitemlink(CorsairHat)); + goto L_Close; + +L_Close: + sailortalk; + closedialog; + close; + +OnInit: + .sex=G_MALE; + .distance=5; + end; +} + |