From 47f790759ea3ea56d31e000bc3f3b7f142ee802d Mon Sep 17 00:00:00 2001 From: wushin Date: Fri, 11 Apr 2014 14:32:22 -0500 Subject: Npcs remaining script fixes Npcs changed for travel Npcs changed for new maps Npcs changed for basic crypts --- world/map/npc/068-2/bank.txt | 8 ++ world/map/npc/068-2/hetchel.txt | 146 +++++++++++++++++++++++++++++ world/map/npc/068-2/inya.txt | 200 ++++++++++++++++++++++++++++++++++++++++ world/map/npc/068-2/latoy.txt | 34 +++++++ 4 files changed, 388 insertions(+) create mode 100644 world/map/npc/068-2/bank.txt create mode 100644 world/map/npc/068-2/hetchel.txt create mode 100644 world/map/npc/068-2/inya.txt create mode 100644 world/map/npc/068-2/latoy.txt (limited to 'world/map/npc/068-2') diff --git a/world/map/npc/068-2/bank.txt b/world/map/npc/068-2/bank.txt new file mode 100644 index 00000000..70011c70 --- /dev/null +++ b/world/map/npc/068-2/bank.txt @@ -0,0 +1,8 @@ +// Another banker +068-2.gat,29,83,0|script|Hydusun|149, +{ + set @npcname$, "Hydusun"; + callfunc "Banker"; + close; +} + diff --git a/world/map/npc/068-2/hetchel.txt b/world/map/npc/068-2/hetchel.txt new file mode 100644 index 00000000..87c3d5af --- /dev/null +++ b/world/map/npc/068-2/hetchel.txt @@ -0,0 +1,146 @@ +// Hetchel the Silk Weaver +// bh28, +// 2013-03, GPLv2. +// +// Hetchel is referred to by Lora Tay. +// She weaves and sells standard double elbow square silk sheets. +// She could also sell, dyed sheets, Silk robes from Lora Tay. +// (6000 with cocoons, 40000 (?) with no cocoons). +// +// Hetchel's workshop is actually under repair, Shé'll be back in 021-2 when workers have finished their job. +// +// QUEST_WG_state: Global variable indicating winter gloves status. +// Lora Tay proposes silk Robe if (QUEST_WG_state>= 11). +// @SHEET_COCOONS_NR : Number of cocoons required per sheet. +// Might ne calculated from @ROBE_COCOONS_NR/@ROBE_SHEETS_NR +// Actually: 150∕6 = 25 +// @SHEET_ZENY : Money to pay per sheet: A sixth of 10000-2*500-6000 +// @SheetCount Number of sheets to buy (variable). + +068-2.gat,62,83,0|script|Hetchel|376, +{ + set @SHEET_COCOONS_NR, 25; + set @SHEET_ZENY, 500; + set @SheetCount, 0; + + if (QUEST_WG_state < 11) + goto L_WG_quest_not_done; + mes "[Hetchel the weaver]"; + mes "\"Hello I am Hetchel, I weave fine textiles, what can I do for you?\""; + menu + "Sorry to bother, I'm just visiting.", L_end, + "I am looking for silk sheets, Lora Tay told me that I could find some in this market. Can you help?", L_main_menu; + +L_WG_quest_not_done: + mes "[Hetchel the weaver]"; + mes "\"Hello I am Hetchel, I weave fine textiles."; + mes "My best client is Lora Tay, at Dimond's."; + mes "What can I do for you?\""; + menu + "Sorry to bother, I'm new to this country, just visting.", L_end, + "What are you selling?", L_main_menu; + +L_main_menu: + mes "[Hetchel]"; + mes "\"I have some silk sheets: double-elbow squares.\""; + menu + "I'm not interested at the moment, maybe later; thanks anyway.", L_end, + "Can I buy some?", L_Next; +// "Do you have a silk robe I could buy?", L_robe, +// "Goodbye.", L_end; + +L_Next: + mes "[Hetchel]"; + mes "\"Sure but you need to provide raw materials."; + mes "I'll need " + @SHEET_COCOONS_NR +" silk cocoons per sheet,"; + mes "and also " + @SHEET_ZENY +" GP per sheet for my work.\""; + next; + if (countitem("SilkCocoon") == 0) + goto L_sheet_no_cocoon; + goto L_sheet_menu; + +L_sheet_menu: + menu + "I have what you asked for.", L_Next1, + "Sorry I didn't pay attention enough, what do you need?", L_how_many_cocoons, + "Oops! Sorry, I'll come back soon with them.", L_end; + +L_Next1: + mes "[Hetchel]"; + mes "\"How many would you like?\""; + input @SheetCount; + if (@SheetCount == 0) + goto L_zero_sheet; + if (countitem("SilkCocoon") < @SheetCount * @SHEET_COCOONS_NR) + goto L_sheet_missing_cocoons; + if (Zeny < @SheetCount * @SHEET_ZENY) + goto L_sheet_missing_Zeny; + getinventorylist; + if (@inventorylist_count == 100 && countitem("SilkSheet") < 1 && countitem("SilkCocoon") > @SheetCount * @SHEET_COCOONS_NR) + goto L_TooMany; + set Zeny, Zeny - @SheetCount * @SHEET_ZENY; + delitem "SilkCocoon", @SheetCount * @SHEET_COCOONS_NR; + getitem "SilkSheet", @SheetCount; + mes "[Hetchel]"; + mes "\"Thank you, I hope the sheets will fit your needs."; + mes "Please greet Lora for me when you see her.\""; + emotion EMOTE_HAPPY; + goto L_end; + +L_sheet_missing_cocoons: + mes "[Hetchel]"; + mes "\"I'm sorry, but I need " + @SheetCount * @SHEET_COCOONS_NR + ", not " + countitem("SilkCocoon") + ".\""; + goto L_end; + +L_sheet_missing_Zeny: + mes "[Hetchel]"; + mes "\"No, no no. The way this works is that you give me the GP first and I give you the sheets afterwards."; + mes "You're " + (@SheetCount * @SHEET_ZENY - Zeny) + " GP short, so come back when you can afford the sheets you asked for!\""; + goto L_end; + +L_how_many_cocoons: + mes "[Hetchel]"; + mes "\"I need an average of " + @SHEET_COCOONS_NR + " cocoons per sheet"; + mes "and also " + @SHEET_ZENY + " GP per sheet for my work.\""; + next; + goto L_sheet_menu; + +L_sheet_no_cocoon: + mes "[Hetchel]"; + mes "\"You don't have any cocoon? I'm sorry I can't do anything for you.\""; + menu + "I'll seek for them.", L_end, + "Where can I get cocoons?", L_Next2; + +L_Next2: + mes "[Hetchel]"; + mes "\"Silk cocoons come from Silkworms. Silkworms live in the woodland area around Hurnscald."; + mes "Silkworms like especially woods and dark areas. You can go there by ferry.\""; + goto L_end; + +//L_robe: +// mes "[Hetchel]"; +// mes "\"I am not a seamstress but I have a few silk robes from Lora Tay left."; +// mes "It is not your size as Lora made them for me, but Tondar was kind enough"; +// mes "to cast a spell on it, so that it will fit to you as soon as you wear it."; +// mes "However his prices are not that low.\""; +// next; +// goto L_main_menu; + +L_zero_sheet: + mes "[Hetchel]"; + mes "\"It's the best way to get quickly served!\""; + goto L_end; + +L_TooMany: + mes "[Hetchel]"; + mes "\"Your bag hasn't room enough. Store some things and come back.\""; + goto L_end; + +L_end: + set @SHEET_COCOONS_NR, 0; + set @SHEET_ZENY, 0; + set @SheetCount, 0; + close; +} + diff --git a/world/map/npc/068-2/inya.txt b/world/map/npc/068-2/inya.txt new file mode 100644 index 00000000..b4fdad2c --- /dev/null +++ b/world/map/npc/068-2/inya.txt @@ -0,0 +1,200 @@ +//Gemstones: Diamond (white) , Ruby (red), Emerald (green), Sapphire (blue), Topaz (yellow), Amethyst (purple) +//The power of the gems is important to future balance of these rings. Are they related to stats, tiers of power, schools of magic? + +068-2.gat,29,56,0|script|Inya|106, +{ + mes "[Inya]"; + mes "\"I am Inya, a jeweler of fine rings. If you have a Simple Ring and a gem, I can make a nice ring for you for 1,000,000 gold pieces.\""; + next; + mes "\"Also, if you have a ring with gems on it, I can remove the gems and return the Simple Ring to you for 500,000 gold pieces.\""; + next; + mes "\"So, how can I help you?\""; + menu + "I have a wedding ring, will that do?", L_Inya_Wedding_Ring, + "I'd like to remove a gem (500000 GP).", L_Inya_Remove_RingGem, + "I'd like to add a gem (1000000 GP).", L_Inya_Add_RingGem, + "Not interested.", L_Inya_NotInterested; + +L_Inya_Wedding_Ring: + mes "[Inya]"; + mes "\"No, sorry. I do not alter wedding rings at this time.\""; + close; + +L_Inya_Remove_RingGem: + mes "[Inya]"; + mes "\"What kind of gem would you like to have removed?\""; + menu + "Diamond.", L_Inya_Remove_Diamond, + "Ruby.", L_Inya_Remove_Ruby, + "Emerald.", L_Inya_Remove_Emerald, + "Sapphire.", L_Inya_Remove_Sapphire, + "Topaz.", L_Inya_Remove_Topaz, + "Amethyst.", L_Inya_Remove_Amethyst, + "I've changed my mind.", L_Inya_NotInterested; + +L_Inya_Add_RingGem: + mes "[Inya]"; + mes "\"What kind of gem would you like to add?\""; + menu + "Diamond.", L_Inya_Add_Diamond, + "Ruby.", L_Inya_Add_Ruby, + "Emerald.", L_Inya_Add_Emerald, + "Sapphire.", L_Inya_Add_Sapphire, + "Topaz.", L_Inya_Add_Topaz, + "Amethyst.", L_Inya_Add_Amethyst, + "I've changed my mind.", L_Inya_NotInterested; + +L_Inya_Remove_Diamond: + if ( (Zeny < 500000) + | (countitem ("DiamondRing") < 1) ) + goto L_Inya_Not_Enough; + set Zeny, Zeny - 500000; + delitem "DiamondRing", 1; + getitem "SimpleRing", 1; + mes "[Inya]"; + mes "\"Here you go.\""; + close; + +L_Inya_Remove_Ruby: + if ( (Zeny < 500000) + | (countitem ("RubyRing") < 1) ) + goto L_Inya_Not_Enough; + set Zeny, Zeny - 500000; + delitem "RubyRing", 1; + getitem "SimpleRing", 1; + mes "[Inya]"; + mes "\"Here you go.\""; + close; + +L_Inya_Remove_Emerald: + if ( (Zeny < 500000) + | (countitem ("EmeraldRing") < 1) ) + goto L_Inya_Not_Enough; + set Zeny, Zeny - 500000; + delitem "EmeraldRing", 1; + getitem "SimpleRing", 1; + mes "[Inya]"; + mes "\"Here you go.\""; + close; + +L_Inya_Remove_Sapphire: + if ( (Zeny < 500000) + | (countitem ("SapphireRing") < 1) ) + goto L_Inya_Not_Enough; + set Zeny, Zeny - 500000; + delitem "SapphireRing", 1; + getitem "SimpleRing", 1; + mes "[Inya]"; + mes "\"Here you go.\""; + close; + +L_Inya_Remove_Topaz: + if ( (Zeny < 500000) + | (countitem ("TopazRing") < 1) ) + goto L_Inya_Not_Enough; + set Zeny, Zeny - 500000; + delitem "TopazRing", 1; + getitem "SimpleRing", 1; + mes "[Inya]"; + mes "\"Here you go.\""; + close; + +L_Inya_Remove_Amethyst: + if ( (Zeny < 500000) + | (countitem ("AmethystRing") < 1) ) + goto L_Inya_Not_Enough; + set Zeny, Zeny - 500000; + delitem "AmethystRing", 1; + getitem "SimpleRing", 1; + mes "[Inya]"; + mes "\"Here you go.\""; + close; + +L_Inya_Add_Diamond: + if ( (Zeny < 1000000) + | (countitem ("SimpleRing") < 1) + | (countitem ("Diamond") < 1) ) + goto L_Inya_Not_Enough; + set Zeny, Zeny - 1000000; + delitem "SimpleRing", 1; + delitem "Diamond", 1; + getitem "DiamondRing", 1; + mes "[Inya]"; + mes "\"Here you go.\""; + close; + +L_Inya_Add_Ruby: + if ( (Zeny < 1000000) + | (countitem ("SimpleRing") < 1) + | (countitem ("Ruby") < 1) ) + goto L_Inya_Not_Enough; + set Zeny, Zeny - 1000000; + delitem "SimpleRing", 1; + delitem "Ruby", 1; + getitem "RubyRing", 1; + mes "[Inya]"; + mes "\"Here you go.\""; + close; + +L_Inya_Add_Emerald: + if ( (Zeny < 1000000) + | (countitem ("SimpleRing") < 1) + | (countitem ("Emerald") < 1) ) + goto L_Inya_Not_Enough; + set Zeny, Zeny - 1000000; + delitem "SimpleRing", 1; + delitem "Emerald", 1; + getitem "EmeraldRing", 1; + mes "[Inya]"; + mes "\"Here you go.\""; + close; + +L_Inya_Add_Sapphire: + if ( (Zeny < 1000000) + | (countitem ("SimpleRing") < 1) + | (countitem ("Sapphire") < 1) ) + goto L_Inya_Not_Enough; + set Zeny, Zeny - 1000000; + delitem "SimpleRing", 1; + delitem "Sapphire", 1; + getitem "SapphireRing", 1; + mes "[Inya]"; + mes "\"Here you go.\""; + close; + +L_Inya_Add_Topaz: + if ( (Zeny < 1000000) + | (countitem ("SimpleRing") < 1) + | (countitem ("Topaz") < 1) ) + goto L_Inya_Not_Enough; + set Zeny, Zeny - 1000000; + delitem "SimpleRing", 1; + delitem "Topaz", 1; + getitem "TopazRing", 1; + mes "[Inya]"; + mes "\"Here you go.\""; + close; + +L_Inya_Add_Amethyst: + if ( (Zeny < 1000000) + | (countitem ("SimpleRing") < 1) + | (countitem ("Amethyst") < 1) ) + goto L_Inya_Not_Enough; + set Zeny, Zeny - 1000000; + delitem "SimpleRing", 1; + delitem "Amethyst", 1; + getitem "AmethystRing", 1; + mes "[Inya]"; + mes "\"Here you go.\""; + close; + +L_Inya_NotInterested: + mes "[Inya]"; + mes "\"Come back later and I will try to be of assistance.\""; + close; + +L_Inya_Not_Enough: + mes "[Inya]"; + mes "\"I am sorry, you simply do not seem to have the necessary items for me to help you. Please come back when you do, and I would be more than happy to help you out.\""; + close; +} diff --git a/world/map/npc/068-2/latoy.txt b/world/map/npc/068-2/latoy.txt new file mode 100644 index 00000000..b1dca208 --- /dev/null +++ b/world/map/npc/068-2/latoy.txt @@ -0,0 +1,34 @@ +// A snobby store that won't sell to the player +// takes part in quest given by 021-2/kylian.txt + +// Shop: DesertShirt :-1,SilkRobe :-5,SerfHat :-1,DesertHat :-4 +068-2.gat,92,83,0|shop|#LatoyShop|127,DesertShirt :-1,SilkRobe :-5,SerfHat :-1,DesertHat :-4 + +068-2.gat,92,83,0|script|Latoy|106, +{ + set QUEST_NorthTulimshar, QUEST_NorthTulimshar | $@knowLatoyNT; + set @kylian, ((QUEST_NorthTulimshar & $@businessmanNT_MASK) >> $@businessmanNT_SHIFT); + + mes "[Latoy]"; + mes "\"Is there something I can help you with?\""; + if (@kylian != 7) + goto L_Shop; + next; + mes "Maybe this is the kind of shop Kylian is looking for?"; + goto L_Shop; + +L_Shop: + mes "[Latoy]"; + mes "\"How would you like to browse my wares?\""; + menu + "Yes.", L_LatoyShop, + "No.", L_Close; + +L_LatoyShop: + close2; + shop "#LatoyShop"; + +L_Close: + set @kylian, 0; + close; +} -- cgit v1.2.3-60-g2f50