diff options
Diffstat (limited to 'world/map/npc/016-1/gwendolyn.txt')
-rw-r--r-- | world/map/npc/016-1/gwendolyn.txt | 69 |
1 files changed, 46 insertions, 23 deletions
diff --git a/world/map/npc/016-1/gwendolyn.txt b/world/map/npc/016-1/gwendolyn.txt index 469b720a..6e11e5ac 100644 --- a/world/map/npc/016-1/gwendolyn.txt +++ b/world/map/npc/016-1/gwendolyn.txt @@ -23,7 +23,7 @@ //# 6, state6: you did the minigame //################################################################################# -016-1.gat,33,45,0 script Gwendolyn 182, { +016-1.gat,33,45,0|script|Gwendolyn|182,{ // schoolfee in gp set @SCHOOLFEE, 25000; // how many eggs do you need of each kind? @@ -65,6 +65,7 @@ state0: menu "I want to become an archer!", -, "I'm not interested right now.", no_student; + fee: mes "[Gwendolyn Bowmaker]"; mes "\"Wonderful! The school's fee is " + @SCHOOLFEE + ".\""; @@ -73,7 +74,8 @@ fee: "That's a lot, but I think it will be worth it.", -, "I'm not sure I want to spend that much.", no_student; - if (zeny < @SCHOOLFEE) goto no_money; + if (zeny < @SCHOOLFEE) + goto no_money; set zeny, zeny - @SCHOOLFEE; set @Q_hawkseye, 2; @@ -82,7 +84,8 @@ fee: mes "[Gwendolyn Bowmaker]"; mes "\"The first thing you need is, obviously, a bow. You should not use any you come across, but a high quality one. I think it would be best to go to Alan in Hurnscald. He is my cousin, and knows how to make Forest Bows of exquisite quality. \""; - if (countitem("ForestBow") < 1) close; + if (countitem("ForestBow") < 1) + close; next; menu "I already have a Forest Bow.", -; @@ -92,9 +95,10 @@ state2: mes "\"Let me see your bow.\""; next; - if (countitem("ForestBow") < 1) goto no_bow; - - if (@FORESTBOW < 5) goto bow_bought; + if (countitem("ForestBow") < 1) + goto no_bow; + if (@FORESTBOW < 5) + goto bow_bought; set @Q_hawkseye, 3; callsub S_Update_Var; @@ -119,13 +123,16 @@ state3: mes "[Gwendolyn Bowmaker]"; mes "\"To demonstrate that you understood what I'm trying to teach you, you should go and fight against some snakes. To prove me your results, bring me ten each of cave snake eggs, snake eggs, mountain snake eggs and grass snake eggs.\""; next; - menu "Can you please repeat your lesson?", lesson, "I will go and hunt some snakes.", quit, "I have what you want.", -; - if (countitem("CaveSnakeEgg") < @EGGS_AMOUNT ||countitem("SnakeEgg") < @EGGS_AMOUNT ||countitem("MountainSnakeEgg") < @EGGS_AMOUNT ||countitem("GrassSnakeEgg") < @EGGS_AMOUNT) goto not_enough_eggs; + if (countitem("CaveSnakeEgg") < @EGGS_AMOUNT + ||countitem("SnakeEgg") < @EGGS_AMOUNT + ||countitem("MountainSnakeEgg") < @EGGS_AMOUNT + ||countitem("GrassSnakeEgg") < @EGGS_AMOUNT) + goto not_enough_eggs; delitem "CaveSnakeEgg", @EGGS_AMOUNT; delitem "SnakeEgg", @EGGS_AMOUNT; @@ -142,8 +149,10 @@ state3: next; state4: - if (baselevel < @BASELEVEL_GAME) goto not_ready; - if (!(getskilllv(SKILL_POOL))) goto not_ready; + if (baselevel < @BASELEVEL_GAME) + goto not_ready; + if (!(getskilllv(SKILL_POOL))) + goto not_ready; mes "Gwendolyn takes an analyzing look at you. Then she nods."; next; @@ -179,15 +188,16 @@ state5: mes "[Gwendolyn Bowmaker]"; mes "\"Show me what you can!\""; next; - menu "Can you please explain the task again?", game_explain, "I'm ready, let's start!", -, "I'm sorry, I will come back later.", quit; game: - if (countitem("ForestBow") < 1) goto no_bow; - if (countitem("Arrow") < 1) goto no_arrows; + if (countitem("ForestBow") < 1) + goto no_bow; + if (countitem("Arrow") < 1) + goto no_arrows; delitem "Arrow", 1; mes "You go to the training field and stand exactly on the same level with the target. The target is located about 43 feet north of you.You take one arrow and look at Gwendolyn."; next; @@ -214,10 +224,14 @@ game: set @wp_sq, (@wdX * @wdX) + (@wdY * @wdY); - if (@wp_sq == 0) goto wp0; - if (@wp_sq < 3) goto wp1; - if (@wp_sq < 9) goto wp2; - if (@wp_sq < 19) goto wp3; + if (@wp_sq == 0) + goto wp0; + if (@wp_sq < 3) + goto wp1; + if (@wp_sq < 9) + goto wp2; + if (@wp_sq < 19) + goto wp3; goto wp4; @@ -250,12 +264,11 @@ wp4: choose_start_pos: mes "Do you want to go to the left, the right or stay where you are?"; next; - menu "I want to move left.", step_left, "I go right.", step_right, "I stay.", step_no, - "I will try it later.", quit; + "I will try it later.", quit; step_no: set @spX, 0; @@ -271,21 +284,25 @@ step_left: "2", step_left2, "3", step_left3, "4", step_left4; + step_left1: set @spX, -1; mes "You take one step to the left."; next; goto choose_shotpower; + step_left2: set @spX, -2; mes "You take two steps to the left."; next; goto choose_shotpower; + step_left3: set @spX, -3; mes "You take three steps to the left."; next; goto choose_shotpower; + step_left4: set @spX, -4; mes "You take four steps to the left."; @@ -300,21 +317,25 @@ step_right: "2", step_right2, "3", step_right3, "4", step_right4; + step_right1: set @spX, 1; mes "You take one step to the right."; next; goto choose_shotpower; + step_right2: set @spX, 2; mes "You take two steps to the right."; next; goto choose_shotpower; + step_right3: set @spX, 3; mes "You take three steps to the right."; next; goto choose_shotpower; + step_right4: set @spX, 4; mes "You take four steps to the right."; @@ -324,7 +345,6 @@ step_right4: choose_shotpower: mes "How powerfully do you want to shoot?"; next; - menu "very weak shot", -, "rather weak shot", -, @@ -364,8 +384,10 @@ choose_shotpower: // rest is a quite fucking shot set @target_dist_sq, (@pointX * @pointX) + (@pointY*@pointY); - if (@target_dist_sq < 5) goto target_veryclose; - if (@target_dist_sq < 17) goto target_close; + if (@target_dist_sq < 5) + goto target_veryclose; + if (@target_dist_sq < 17) + goto target_close; //here are bad shots: mes "[Gwendolyn Bowmaker]"; @@ -407,7 +429,8 @@ target_hit: next; mes "\"Let me inspect it...\" She walks to the target."; next; - if( rand(500) > (2*readparam(bDex) + readparam(bAgi))) goto target_nohit; + if( rand(500) > (2*readparam(bDex) + readparam(bAgi))) + goto target_nohit; set @Q_hawkseye, 6; callsub S_Update_Var; |