summaryrefslogtreecommitdiff
path: root/world/map/npc/021-2/kylian.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/021-2/kylian.txt')
-rw-r--r--world/map/npc/021-2/kylian.txt424
1 files changed, 0 insertions, 424 deletions
diff --git a/world/map/npc/021-2/kylian.txt b/world/map/npc/021-2/kylian.txt
deleted file mode 100644
index 5a162242..00000000
--- a/world/map/npc/021-2/kylian.txt
+++ /dev/null
@@ -1,424 +0,0 @@
-// Kylian is a businessman from Argeas who wants to eventually open a shop in Tulimshar
-// asks the player for several information about the city
-// Quest uses Nibble 4 and 5 of QUEST_NorthTulimshar
-// Author: Jenalya
-
-// Nibble 4 is used as flags to indicate if the player knows certain places/persons
-// Bit 0: player talked to Yanis in the government building
-// Bit 1: player talked to Latoy on the market in North Tulimshar
-// Bit 2: player talked to Weellos as the historic building
-// Bit 3: player was in the casino rooms
-
-// Nibble 5 is used to save the quest progress with Kylian
-// state 1: player has the task to get the luggage from the harbor
-// state 2: Adrian gave the luggage to the player
-// state 3: player gave luggage to Kylian and Kylian asks who to talk to for the shop license
-// after the player answered this, @KylianNTLicense is set.
-// the player can only continue the quest when logging out and therefore setting that value to 0 again
-// state 4: Kylian asks for a historical building to get some cultural knowledge
-// state 5: Kylian asks where to get some typical food
-// after the player answered this, @KylianNTSightSeeing is set.
-// the player can only continue the quest when logging out and therefore setting that value to 0 again
-// state 6: Kylian asks where to go to have some fun in the evening (casino)
-// state 7: Kylian asks where to get exquisite clothing before going out in the evening
-// after the player answered this, @KylianNTSightSeeing is set.
-// the player can only continue the quest when logging out and therefore setting that value to 0 again
-// state 8: Kylian was in the casino and gives a desert hat as reward
-// state 9: Shop approved, go talk Kylian's shopkeeper if you are looking for work.
-// state 10: Meet Shop keeper
-// state 11: Start Time Trial
-// state 12: Return
-// state 13: Start Daily Timed
-// state 14: Return
-// state 15: Completed
-// Kylian_Timer is used to denote start time.
-
-// temporary variables used to check if the player logged out or left the building in the meanwhile
-// this is to ensure some 'time in between' different actions of the quest
-// @KylianNTLicense
-// @KylianNTSightSeeing
-// @KylianNTCasino
-
--|script|#businessmanNTconfig|-1
-{
- end;
-
-OnInit:
- // Nibble 4
- // Used in Random Quest later as a Nibble
- set $@knowYanisNT, (1 << 16);
- set $@knowLatoyNT, (1 << 17);
- set $@knowWeellosNT, (1 << 18);
- set $@knowCasinoNT, (1 << 19);
-
- // Random Quests for Later
- setarray $@random_quests$, "None", "Falkurn", "Old Wizard", "Baktar";
- set $@delivery_money, 100;
- set $@delivery_exp_mod, 10;
- end;
-}
-021-2.gat,25,67,0|script|#KylianOut|32767,1,1
-{
- set @KylianNTLicense, 0;
- set @KylianNTSightSeeing, 0;
- set @KylianNTCasino, 0;
- end;
-}
-021-2.gat,89,55,0|script|Kylian|193
-{
- set @state, ((QUEST_NorthTulimshar & NIBBLE_5_MASK) >> NIBBLE_5_SHIFT);
-
- set @acorn_amount, 12;
- set @suitcase_money, 100;
- set @suitcase_exp, 50;
- set @license_money, 50;
- set @license_exp, 20;
- set @sightseeing_money, 50;
- set @sightseeing_exp, 20;
- set @food_money, 50;
- set @food_exp, 20;
- set @clothes_money, 50;
- set @clothes_exp, 20;
- set @fun_money, 50;
- set @fun_exp, 20;
-
- // This NPC previously used the variable TMW_Quest
- callfunc "ClearVarTMW_Quest";
- set @bernard, ((QUEST_SouthTulimshar & NIBBLE_0_MASK) >> NIBBLE_0_SHIFT);
-
- if (@state == 15) goto L_Done;
- if (@state >= 11) goto L_Helping;
- if (@state == 10) goto L_OfferedJob;
- if (@state == 9) goto L_Shop;
- if (@KylianNTCasino) goto L_CasinoDone;
- if (@state == 8) goto L_DesertHat;
- if (@state == 7) goto L_Clothes;
- if (@KylianNTSightSeeing) goto L_SightSeeingDone;
- if (@state == 6) goto L_Casino;
- if (@state == 5) goto L_Food;
- if (@KylianNTLicense) goto L_LicenseDone;
- if (@state == 4) goto L_SightSeeing;
- if (@state == 3) goto L_ShopLicense;
- if (@state >= 1) goto L_Suitcase;
-
- mes "[Kylian]";
- mes "\"Ah, are you the room service? I've some requests.\"";
- menu
- "Sure, what can I do for you?",L_Luggage,
- "No, I'm not!",L_Next;
-
-L_Next:
- mes "[Kylian]";
- mes "\"Too bad. Would you be interested in earning some quick money with some errands regardless?\"";
- menu
- "I'm a great adventurer! I don't do errands.",L_Close,
- "No, I'm busy.",L_Close,
- "Mh, ok.",L_Luggage;
-
-L_Luggage:
- mes "[Kylian]";
- mes "\"I need someone to get my luggage from the docks. Show this paper to the sailor who's watching the luggage.\"";
- mes "He gives you his ticket which you store in your pocket, separated from your inventory.";
- set @state, 1;
- callfunc "SetKylianQuest";
- goto L_Close;
-
-L_Suitcase: // @state >= 1, but below 3
- mes "[Kylian]";
- mes "\"Did you already get my luggage from the docks?\"";
- if (@state != 2)
- goto L_Close;
- menu
- "Here it is.",L_Continue,
- "I'm on my way, don't worry.",L_Close;
-
-L_Continue:
- if (countitem("LeatherSuitcase") < 1)
- goto L_NoItem;
- delitem "LeatherSuitcase", 1;
- set Zeny, Zeny + @suitcase_money;
- getexp @suitcase_exp, 0;
- set @state, 3;
- callfunc "SetKylianQuest";
- mes "[Kylian]";
- mes "\"Ah, very good. I really need to have a look at some of my papers in there.\"";
- mes "He gives you some money.";
- next;
- mes "[Kylian]";
- mes "\"Oh, and I have some acorns left, I had them with me as travelling fare. You can have them, they're tasty.";
- mes "In case you don't like them, you could also bring them to the Tulimshar bakery. I heard they use them to make some special flour.\"";
- getitem "Acorn", @acorn_amount;
- next;
- goto L_ShopLicense;
-
-L_ShopLicense: // @state == 3
- mes "[Kylian]";
- mes "\"I'm a salesman and came to Tulimshar because I'm thinking about establishing a shop here. While I'm going through my papers, could you find out who I have to talk to about opening a shop in this city?\"";
- if (!(QUEST_NorthTulimshar & $@knowYanisNT))
- goto L_Close;
- menu
- "You need to talk to Yanis in the government building.",L_GovBuild,
- "I'll see what I can do.",L_Close;
-
-L_GovBuild:
- set Zeny, Zeny + @license_money;
- getexp @license_exp, 0;
- set @state, 4;
- callfunc "SetKylianQuest";
- set @KylianNTLicense, 1;
- mes "[Kylian]";
- mes "\"Ah, excellent. That's very helpful. Could you tell me how to get to that building?\"";
- mes "You explain the way to the building.";
- next;
- goto L_LicenseDone;
-
-L_LicenseDone: // the player didn't log out yet after telling about Yanis
- mes "[Kylian]";
- mes "\"I need to prepare my papers now. I might have some more questions later.\"";
- goto L_Close;
-
-L_SightSeeing: // @state == 4 and logged out sometime between getting to that state and now
- mes "[Kylian]";
- mes "\"You just came here the right moment. I have finished my business affairs. I think I should use my time here to also get a bit of cultural knowledge about the area. Can you tell me if there are any historical places to visit?\"";
- if (!(QUEST_NorthTulimshar & $@knowWeellosNT))
- goto L_Close;
- menu
- "There is a very old historic building not far from here.",L_HistBuild,
- "I don't know, but will have a look around.",L_Close;
-
-L_HistBuild:
- set Zeny, Zeny + @sightseeing_money;
- getexp @sightseeing_exp, 0;
- set @state, 5;
- callfunc "SetKylianQuest";
- mes "[Kylian]";
- mes "\"This sounds interesting. Please tell me the way.\"";
- mes "You tell him how to get to the historic building.";
- next;
- goto L_Food;
-
-L_Food: // @state == 5
- mes "[Kylian]";
- mes "\"While I'm out, I could also get something to eat. Maybe some typical dish for this region. Do you have a good suggestion for that?\"";
- if (@bernard < 4) // didn't yet help Bernard to make his soup
- goto L_Close;
- menu
- "Bernard on the bazaar makes a great soup.",L_SoupBer,
- "No idea, I'll try to find out.",L_Close;
-
-L_SoupBer:
- set Zeny, Zeny + @food_money;
- getexp @food_exp, 0;
- set @state, 6;
- callfunc "SetKylianQuest";
- set @KylianNTSightSeeing, 1;
- goto L_SightSeeingDone;
-
-L_SightSeeingDone:
- mes "[Kylian]";
- mes "\"I'm going to see the historic building you told me about and try this local soup on the bazaar. Thank you for the suggestions.\"";
- goto L_Close;
-
-L_Casino: // @state == 6 and logged out sometime between getting to that state and now
- mes "[Kylian]";
- mes "\"Hello. I just came back from my sight-seeing tour. And this soup from Bernard really was delicious. I wonder what it's made of...\"";
- next;
- mes "\"However, I was wondering if you know about a good place to spend the evening? Some place to have fun?\"";
- if (!(QUEST_NorthTulimshar & $@knowCasinoNT))
- goto L_Close;
- menu
- "Of course! The casino!",L_CasinoFound,
- "Not really.",L_Close;
-
-L_CasinoFound:
- set Zeny, Zeny + @casino_money;
- getexp @casino_exp, 0;
- set @state, 7;
- callfunc "SetKylianQuest";
- mes "[Kylian]";
- mes "\"Oh, there's a casino in this city? That's a wonderful thing. Where can I find it?\"";
- mes "You explain how to get to the casino.";
- next;
- goto L_Clothes;
-
-L_Clothes: // @state == 7
- mes "[Kylian]";
- mes "\"I should get proper clothing before I go to the casino tonight. Do you know a reputable shop where clothing of high quality is sold?\"";
- if (!(QUEST_NorthTulimshar & $@knowLatoyNT))
- goto L_Close;
- menu
- "At the market near the harbor district...",L_HarborDistrict,
- "Mh, I don't know.",L_Close;
-
-L_HarborDistrict:
- set Zeny, Zeny + @clothes_money;
- getexp @clothes_exp, 0;
- set @state, 8;
- callfunc "SetKylianQuest";
- set @KylianNTCasino, 1;
- mes "You explain about Latoy and his high quality shop.";
- mes "[Kylian]";
- mes "\"This seems to be exactly what I need. Thanks a lot.\"";
- goto L_Close;
-
-L_CasinoDone:
- mes "[Kylian]";
- mes "\"I'm looking forward to going to the casino tonight. See me tomorrow.\"";
- goto L_Close;
-
-L_DesertHat: // @state == 8
- mes "Kylian looks a bit tired.";
- mes "[Kylian]";
- mes "\"That was an interesting night. Thanks for your suggestion to visit the casino.\"";
- next;
- getinventorylist;
- mes "\"You helped me a lot, so I bought a souvenir for you while I was shopping.\"";
- if ((checkweight("DesertHat", 1) == 0) || (@inventorylist_count == 100))
- goto L_Inventory;
- getitem "DesertHat", 1;
- set @state, 9;
- callfunc "SetKylianQuest";
- next;
- goto L_Close;
-
-L_Shop:
- mes "[Kylian]";
- mes "\"The Council of Wizards approved my shop license!\"";
- mes "\"I purchased a store just acorss the way from the hotel exit.\"";
- next;
- mes "\"If you are looking for work, go see the shop keeper I have working for me.\"";
- mes "\"Mention your name and he will know I sent you.\"";
- set @state, 10;
- callfunc "SetKylianQuest";
- goto L_Close;
-
-L_OfferedJob:
- mes "[Kylian]";
- mes "\"I spoke with the shopkeeper, They said you haven't stopped in yet.\"";
- next;
- mes "\"I wish you would consider working for KPS.\"";
- next;
- mes "\"KPS needs a well-traveled go getter like you.\"";
- goto L_Close;
-
-L_Helping:
- mes "[Kylian]";
- mes "\"I've heard you decided to come work for me. That is great news.\"";
- mes "\"Keep up the good work and I might have something a little extra for you.\"";
- goto L_Close;
-
-L_Done:
- mes "[Kylian]";
- mes "\"Thanks a bunch, buisness is booming!\"";
- mes "\"For your hard work take this.\"";
- next;
- set Zeny, Zeny + $@delivery_money;
- getexp ($@delivery_exp_mod * BaseLevel), 0;
- set @run_cnt, 0;
- callfunc "SetKylianRunCnt";
- set @state, 12;
- callfunc "SetKylianQuest";
- mes "[" + $@delivery_money + " money]";
- mes "[" + ($@delivery_exp_mod * BaseLevel) + " experience points]";
- next;
- goto L_Close;
-
-L_Inventory:
- mes "[Kylian]";
- mes "\"Oh, you're carrying a lot of things. Come back when you have more room.\"";
- goto L_Close;
-
-L_NoItem:
- mes "[Kylian]";
- mes "\"I don't see it! Are you trying to tease me? This is not funny!\"";
- goto L_Close;
-
-L_Close:
- set @acorn_amount, 0;
- set @suitcase_money, 0;
- set @suitcase_exp, 0;
- set @license_money, 0;
- set @license_exp, 0;
- set @sightseeing_money, 0;
- set @sightseeing_exp, 0;
- set @food_money, 0;
- set @food_exp, 0;
- set @clothes_money, 0;
- set @clothes_exp, 0;
- set @fun_money, 0;
- set @fun_exp, 0;
- set @inventorylist_count, 0;
- set @bernard, 0;
- // NOT set to zero: @KylianNTLicense, @KylianNTSightSeeing and @KylianNTCasino
- // those are used to check if the player logged out in the meanwhile
- close;
-}
-function|script|SetKylianQuest
-{
- set QUEST_NorthTulimshar, (QUEST_NorthTulimshar & ~(NIBBLE_5_MASK)) | (@state << NIBBLE_5_SHIFT);
- return;
-}
-function|script|KylianDebug
-{
- set @state, ((QUEST_NorthTulimshar & NIBBLE_5_MASK) >> NIBBLE_5_SHIFT);
- callfunc "ClearVarTMW_Quest";
- set @bernard, ((QUEST_SouthTulimshar & NIBBLE_0_MASK) >> NIBBLE_0_SHIFT);
- set @run, ((QUEST_NorthTulimshar & TWOBIT_8_MASK) >> TWOBIT_8_SHIFT);
- set @run_cnt, ((QUEST_NorthTulimshar & TWOBIT_9_MASK) >> TWOBIT_9_SHIFT);
- goto L_Menu;
-
-L_Menu:
- mes "[Kylian Debug]";
- menu
- "Show Quest State", L_ShowState,
- "Set Quest State", L_SetState,
- "Reset Timer to now", L_WorkTimer,
- "Reset Timer + 24 hours", L_MoreWorkTimer,
- "Close.", L_Close;
-
-L_ShowState:
- mes "State: " + @state;
- mes "Timer: " + Kylian_Timer;
- mes "Time: " + gettimetick(2);
- mes "Elapsed Time: " + (gettimetick(2) - Kylian_Timer);
- mes "Reset Timer: 86400 > " + (gettimetick(2) - Kylian_Timer);
- mes "Run: " + @run;
- mes "Run NPC: " + $@random_quests$[@run];
- mes "Run Count: " + @run_cnt;
- goto L_Menu;
-
-L_SetState:
- mes "\"Input the quest state desired.\"";
- input @state;
- callfunc "SetKylianQuest";
- goto L_Menu;
-
-L_WorkTimer:
- set Kylian_Timer, gettimetick(2);
- goto L_Menu;
-
-L_MoreWorkTimer:
- set Kylian_Timer, (gettimetick(2) - 86401);
- goto L_Menu;
-
-L_Close:
- close;
-}
-021-2.gat,87,55,0|script|KylianDebug#1|193
-{
- callfunc "KylianDebug";
- end;
-OnInit:
- if (!debug)
- disablenpc "KylianDebug#1";
- end;
-}
-021-2.gat,29,124,0|script|KylianDebug#2|193
-{
- callfunc "KylianDebug";
- end;
-OnInit:
- if (!debug)
- disablenpc "KylianDebug#2";
- end;
-}