diff options
Diffstat (limited to 'npc/new_20-1-woodland-village/alan.txt')
-rw-r--r-- | npc/new_20-1-woodland-village/alan.txt | 422 |
1 files changed, 211 insertions, 211 deletions
diff --git a/npc/new_20-1-woodland-village/alan.txt b/npc/new_20-1-woodland-village/alan.txt index d8c2f51e..fc779676 100644 --- a/npc/new_20-1-woodland-village/alan.txt +++ b/npc/new_20-1-woodland-village/alan.txt @@ -1,211 +1,211 @@ -//#################################################################################
-//# #
-//# This script file contains the npc scripts for the quest to obtain a forestbow #
-//# #
-//# Needed: 10 Raw Logs, 5000gp, some chatting and running. #
-//# #
-//# Reward: Forest Bow #
-//#################################################################################
-
-// Archer Shop Master
-new_20-1.gat,99,23,0 script Alan 125, {
- set @Q_MASK, NIBBLE_0_MASK;
- set @Q_SHIFT, NIBBLE_0_SHIFT;
-
- set @Q_status, ((QUEST_Forestbow_state) & @Q_MASK) >> @Q_SHIFT;
-
- if (@Q_status == 1) goto L_State_1;
- if (@Q_status == 2) goto L_State_2;
- if (@Q_status == 3) goto L_State_3;
- if (@Q_status == 4) goto L_State_4;
- if (@Q_status == 5) goto L_State_5;
-
- mes "[Alan]";
- mes "\"When you want to buy something then please speak to my apprentice. I am only doing special requests.\"";
- next;
- if (Inspector == 1)
- menu
- "OK, thanks", -,
- "Can you make me a really good bow?", L_State_0_1,
- "Have you seen anything strange recently that might be connected to the robberies?", L_NohMask_Answer;
- if (Inspector != 1)
- menu
- "OK, thanks", -,
- "Can you make me a really good bow?", L_State_0_1;
- close;
-
-L_State_0_1:
- mes "[Alan]";
- mes "\"You mean like one of my legendary forest bows?\"";
- next;
- menu
- "Yes, that would be nice.", -;
- mes "[Alan]";
- mes "\"Sorry, I am not making these anymore.\"";
- next;
- menu
- "Oh, too bad.", -,
- "What? Why that?", L_State_0_2;
- close;
-
-L_State_0_2:
- mes "[Alan]";
- mes "\"The problem is that I am short of material. My forestbows are not made of regular wood, you know.";
- mes "They are made of special living wood. And only the best logs of living wood are good enough for them.";
- mes "I used to get these logs from Jack, the lumberjack. But the last time I asked him for a new delivery he said that he would never again get any for me.\"";
-
- set @Q_status, 1;
- callsub S_Update_Var;
-
- next;
- menu
- "Too bad.", -,
- "Did you ask him why?", L_State_0_3;
- close;
-
-L_State_0_3:
- mes "[Alan]";
- mes "\"Sure I did. But he just told me to leave him alone. Maybe you could ask him what's wrong?\"";
- next;
- menu
- "OK, I'll ask him.", -,
- "I am sure he got his reasons.", -;
- close;
-
-L_State_1:
- mes "[Alan]";
- mes "\"Did you already ask Jack why he won't deliver me any more living wood?\"";
- next;
- if (Inspector == 1)
- menu
- "No, I haven't had the time yet", -,
- "No, I didn't find him yet.", L_State_1_1,
- "Have you seen anything strange recently that might be connected to the robberies?", L_NohMask_Answer;
- if (Inspector != 1)
- menu
- "No, I haven't had the time yet", -,
- "No, I didn't find him yet.", L_State_1_1;
- close;
-
-L_State_1_1:
- mes "[Alan]";
- mes "\"When you leave my shop just go southwest over the village plaza. You can't miss it.\"";
- close;
-
-L_State_2:
- mes "[Alan]";
- mes "\"Did you already ask Jack why he won't deliver me any more living wood?\"";
- next;
- if (Inspector == 1)
- menu
- "Yes, I did. He said that the trees turned into dangerous monsters.", -,
- "Have you seen anything strange recently that might be connected to the robberies?", L_NohMask_Answer;
- if (Inspector != 1)
- menu
- "Yes, I did. He said that the trees turned into dangerous monsters.", -;
- mes "[Alan]";
- mes "\"Oh, that's really bad news. Maybe you can do his job?";
- mes "When you kill some of these tree monsters and bring me their wood I can take a look at them.";
- mes "Maybe you will find a piece of wood that is strong enough to become one of my forest bows.\"";
-
- set @Q_status, 3;
- callsub S_Update_Var;
-
- close;
-
-L_State_3:
- mes "[Alan]";
- mes "\"How is the hunt going? Did you bring me any wood?\"";
- if (countitem(569) < 1) close;
- next;
- if (Inspector == 1)
- menu
- "Here, take a look!", L_State_3_try,
- "Yes, but I need it for something else.", -,
- "Have you seen anything strange recently that might be connected to the robberies?", L_NohMask_Answer;
- if (Inspector != 1)
- menu
- "Here, take a look!", L_State_3_try,
- "Yes, but I need it for something else.", -;
- close;
-
-L_State_3_try:
- mes "[Alan]";
- mes "\"Hmmm... looks ok, but is it strong enough?\"";
- mes "Alan bends the log over his knee.";
- next;
- delitem 569, 1;
- set @Temp1, rand(20);
- if (@Temp1 == 0) goto L_State_3_success;
- mes "The log breaks with a loud crack";
- next;
- mes "[Alan]";
- mes "\"Sorry, this log was too weak for one of my forest bows. Now it is junk. Give me another.\"";
- if (countitem(569) < 1) close;
- next;
- menu
- "Sure, here you go.", L_State_3_try,
- "Hey! Stop breaking my stuff!", -;
- close;
-
-L_State_3_success:
- mes "Alan tries as hard as he can but the log won't bend.";
- next;
- mes "[Alan]";
- mes "\"Aaah! Yes! That is a really fine piece of wood you bought me. It will make an excelent bow!\"";
- next;
- set @Q_status, 4;
- callsub S_Update_Var;
-
-L_State_4:
- mes "[Alan]";
- mes "\"I can make you a really nice forest bow out of this. I just need 10,000 GP for material and work time.\"";
- next;
- if (Inspector == 1)
- menu
- "10,000??? What a ripoff!", -,
- "Sure, here you go!", L_State_4_pay,
- "Have you seen anything strange recently that might be connected to the robberies?", L_NohMask_Answer;
- if (Inspector != 1)
- menu
- "10,000??? What a ripoff!", -,
- "Sure, here you go!", L_State_4_pay;
- close;
-
-L_State_4_pay:
- if (zeny < 10000) goto L_State_4_nocash;
- set zeny, zeny - 10000;
- getitem 545, 1;
- set @Q_status, 5;
- callsub S_Update_Var;
- mes "[Alan]";
- mes "\"Here you go - have fun with it.\"";
- close;
-
-L_State_4_nocash:
- mes "[Alan]";
- mes "\"Seems like you are out of cash.\"";
- close;
-
-L_State_5:
- mes "[Alan]";
- mes "\"I hope you are statisfied with your forest bow. It is one of my best works.\"";
- next;
-
- if (Inspector == 1)
- menu
- "I am!", -,
- "Have you seen anything strange recently that might be connected to the robberies?", L_NohMask_Answer;
- close;
-
-L_NohMask_Answer:
- mes "[Alan]";
- mes "\"No.\"";
- close;
-
-S_Update_Var:
- set QUEST_Forestbow_state,
- (QUEST_Forestbow_state & ~(@Q_MASK)
- | (@Q_status << @Q_SHIFT));
- return;
-}
+//################################################################################# +//# # +//# This script file contains the npc scripts for the quest to obtain a forestbow # +//# # +//# Needed: 10 Raw Logs, 5000gp, some chatting and running. # +//# # +//# Reward: Forest Bow # +//################################################################################# + +// Archer Shop Master +new_20-1.gat,99,23,0 script Alan 125, { + set @Q_MASK, NIBBLE_0_MASK; + set @Q_SHIFT, NIBBLE_0_SHIFT; + + set @Q_status, ((QUEST_Forestbow_state) & @Q_MASK) >> @Q_SHIFT; + + if (@Q_status == 1) goto L_State_1; + if (@Q_status == 2) goto L_State_2; + if (@Q_status == 3) goto L_State_3; + if (@Q_status == 4) goto L_State_4; + if (@Q_status == 5) goto L_State_5; + + mes "[Alan]"; + mes "\"When you want to buy something then please speak to my apprentice. I am only doing special requests.\""; + next; + if (Inspector == 1) + menu + "OK, thanks", -, + "Can you make me a really good bow?", L_State_0_1, + "Have you seen anything strange recently that might be connected to the robberies?", L_NohMask_Answer; + if (Inspector != 1) + menu + "OK, thanks", -, + "Can you make me a really good bow?", L_State_0_1; + close; + +L_State_0_1: + mes "[Alan]"; + mes "\"You mean like one of my legendary forest bows?\""; + next; + menu + "Yes, that would be nice.", -; + mes "[Alan]"; + mes "\"Sorry, I am not making these anymore.\""; + next; + menu + "Oh, too bad.", -, + "What? Why that?", L_State_0_2; + close; + +L_State_0_2: + mes "[Alan]"; + mes "\"The problem is that I am short of material. My forestbows are not made of regular wood, you know."; + mes "They are made of special living wood. And only the best logs of living wood are good enough for them."; + mes "I used to get these logs from Jack, the lumberjack. But the last time I asked him for a new delivery he said that he would never again get any for me.\""; + + set @Q_status, 1; + callsub S_Update_Var; + + next; + menu + "Too bad.", -, + "Did you ask him why?", L_State_0_3; + close; + +L_State_0_3: + mes "[Alan]"; + mes "\"Sure I did. But he just told me to leave him alone. Maybe you could ask him what's wrong?\""; + next; + menu + "OK, I'll ask him.", -, + "I am sure he got his reasons.", -; + close; + +L_State_1: + mes "[Alan]"; + mes "\"Did you already ask Jack why he won't deliver me any more living wood?\""; + next; + if (Inspector == 1) + menu + "No, I haven't had the time yet", -, + "No, I didn't find him yet.", L_State_1_1, + "Have you seen anything strange recently that might be connected to the robberies?", L_NohMask_Answer; + if (Inspector != 1) + menu + "No, I haven't had the time yet", -, + "No, I didn't find him yet.", L_State_1_1; + close; + +L_State_1_1: + mes "[Alan]"; + mes "\"When you leave my shop just go southwest over the village plaza. You can't miss it.\""; + close; + +L_State_2: + mes "[Alan]"; + mes "\"Did you already ask Jack why he won't deliver me any more living wood?\""; + next; + if (Inspector == 1) + menu + "Yes, I did. He said that the trees turned into dangerous monsters.", -, + "Have you seen anything strange recently that might be connected to the robberies?", L_NohMask_Answer; + if (Inspector != 1) + menu + "Yes, I did. He said that the trees turned into dangerous monsters.", -; + mes "[Alan]"; + mes "\"Oh, that's really bad news. Maybe you can do his job?"; + mes "When you kill some of these tree monsters and bring me their wood I can take a look at them."; + mes "Maybe you will find a piece of wood that is strong enough to become one of my forest bows.\""; + + set @Q_status, 3; + callsub S_Update_Var; + + close; + +L_State_3: + mes "[Alan]"; + mes "\"How is the hunt going? Did you bring me any wood?\""; + if (countitem(569) < 1) close; + next; + if (Inspector == 1) + menu + "Here, take a look!", L_State_3_try, + "Yes, but I need it for something else.", -, + "Have you seen anything strange recently that might be connected to the robberies?", L_NohMask_Answer; + if (Inspector != 1) + menu + "Here, take a look!", L_State_3_try, + "Yes, but I need it for something else.", -; + close; + +L_State_3_try: + mes "[Alan]"; + mes "\"Hmmm... looks ok, but is it strong enough?\""; + mes "Alan bends the log over his knee."; + next; + delitem 569, 1; + set @Temp1, rand(20); + if (@Temp1 == 0) goto L_State_3_success; + mes "The log breaks with a loud crack"; + next; + mes "[Alan]"; + mes "\"Sorry, this log was too weak for one of my forest bows. Now it is junk. Give me another.\""; + if (countitem(569) < 1) close; + next; + menu + "Sure, here you go.", L_State_3_try, + "Hey! Stop breaking my stuff!", -; + close; + +L_State_3_success: + mes "Alan tries as hard as he can but the log won't bend."; + next; + mes "[Alan]"; + mes "\"Aaah! Yes! That is a really fine piece of wood you bought me. It will make an excelent bow!\""; + next; + set @Q_status, 4; + callsub S_Update_Var; + +L_State_4: + mes "[Alan]"; + mes "\"I can make you a really nice forest bow out of this. I just need 10,000 GP for material and work time.\""; + next; + if (Inspector == 1) + menu + "10,000??? What a ripoff!", -, + "Sure, here you go!", L_State_4_pay, + "Have you seen anything strange recently that might be connected to the robberies?", L_NohMask_Answer; + if (Inspector != 1) + menu + "10,000??? What a ripoff!", -, + "Sure, here you go!", L_State_4_pay; + close; + +L_State_4_pay: + if (zeny < 10000) goto L_State_4_nocash; + set zeny, zeny - 10000; + getitem 545, 1; + set @Q_status, 5; + callsub S_Update_Var; + mes "[Alan]"; + mes "\"Here you go - have fun with it.\""; + close; + +L_State_4_nocash: + mes "[Alan]"; + mes "\"Seems like you are out of cash.\""; + close; + +L_State_5: + mes "[Alan]"; + mes "\"I hope you are statisfied with your forest bow. It is one of my best works.\""; + next; + + if (Inspector == 1) + menu + "I am!", -, + "Have you seen anything strange recently that might be connected to the robberies?", L_NohMask_Answer; + close; + +L_NohMask_Answer: + mes "[Alan]"; + mes "\"No.\""; + close; + +S_Update_Var: + set QUEST_Forestbow_state, + (QUEST_Forestbow_state & ~(@Q_MASK) + | (@Q_status << @Q_SHIFT)); + return; +} |