diff options
Diffstat (limited to 'world/map/npc/001-2/omar.txt')
-rw-r--r-- | world/map/npc/001-2/omar.txt | 528 |
1 files changed, 240 insertions, 288 deletions
diff --git a/world/map/npc/001-2/omar.txt b/world/map/npc/001-2/omar.txt index 4f75574e..37bd3307 100644 --- a/world/map/npc/001-2/omar.txt +++ b/world/map/npc/001-2/omar.txt @@ -1,348 +1,300 @@ // -function script KadiyaSubquestConsts { - set @Q_kadiya_status, (QUEST_MAGIC2 & NIBBLE_3_MASK) >> NIBBLE_3_SHIFT; - - set @Q_STATUS_NONE, 0; - set @Q_STATUS_KNOWS_MOPOX, 1; - set @Q_STATUS_MADE_MOPOX, 2; - set @Q_STATUS_DIDNT_DRINK, 3; - set @Q_STATUS_WANTS_CHOCOCAKE, 4; - set @Q_STATUS_WANTS_ORANGECUPCAKE, 5; - set @Q_STATUS_COMPLETED, 6; - set @Q_STATUS_COMPLETED_ELANORE, 7; - set @Q_STATUS_COMPLETED_NOELANORE, 8; - set @Q_STATUS_COMPLETED_POST_ELANORE, 9; - - if (((QUEST_MAGIC2 & NIBBLE_1_MASK) >> NIBBLE_1_SHIFT) < 4) - set @Q_kadiya_status, @Q_STATUS_NONE; - - if (((QUEST_MAGIC2 & NIBBLE_1_MASK) >> NIBBLE_1_SHIFT) > 4) - set @Q_kadiya_status, @Q_STATUS_COMPLETED_POST_ELANORE; - - return; -} +function|script|KadiyaSubquestConsts|{ + set @Q_kadiya_status, (QUEST_MAGIC2 & NIBBLE_3_MASK) >> NIBBLE_3_SHIFT; + + set @Q_STATUS_NONE, 0; + set @Q_STATUS_KNOWS_MOPOX, 1; + set @Q_STATUS_MADE_MOPOX, 2; + set @Q_STATUS_DIDNT_DRINK, 3; + set @Q_STATUS_WANTS_CHOCOCAKE, 4; + set @Q_STATUS_WANTS_ORANGECUPCAKE, 5; + set @Q_STATUS_COMPLETED, 6; + set @Q_STATUS_COMPLETED_ELANORE, 7; + set @Q_STATUS_COMPLETED_NOELANORE, 8; + set @Q_STATUS_COMPLETED_POST_ELANORE, 9; + if (((QUEST_MAGIC2 & NIBBLE_1_MASK) >> NIBBLE_1_SHIFT) < 4) set @Q_kadiya_status, @Q_STATUS_NONE; -001-2.gat,70,60,0 script Omar 162,{ - callfunc "ElanoreFix"; - callfunc "KadiyaSubquestConsts"; + if (((QUEST_MAGIC2 & NIBBLE_1_MASK) >> NIBBLE_1_SHIFT) > 4) set @Q_kadiya_status, @Q_STATUS_COMPLETED_POST_ELANORE; - set @Q_status, @Q_kadiya_status; + return; +} - if (@Q_status >= @Q_STATUS_COMPLETED) - goto L_cured; +001-2.gat,70,60,0|script|Omar|162,{ + callfunc "ElanoreFix"; + callfunc "KadiyaSubquestConsts"; - if (@Q_status == @Q_STATUS_DIDNT_DRINK) - goto L_didnt_drink; + set @Q_status, @Q_kadiya_status; - if (@Q_status > @Q_STATUS_DIDNT_DRINK) - goto L_make_food; + if (@Q_status >= @Q_STATUS_COMPLETED) goto L_cured; - mes "[Omar]"; - mes "\"Welcome to my humble abode.\""; - next; + if (@Q_status == @Q_STATUS_DIDNT_DRINK) goto L_didnt_drink; - menu - "Well met! May I ask who you are?", L_omar, - "What's wrong with your daughter?", L_kadiya_sick, - "Thank you!", -; - close; + if (@Q_status > @Q_STATUS_DIDNT_DRINK) goto L_make_food; + + mes "[Omar]"; + mes "\"Welcome to my humble abode.\""; + next; + menu + "Well met! May I ask who you are?", L_omar, + "What's wrong with your daughter?", L_kadiya_sick, + "Thank you!", -; + close; L_omar: - mes "[Omar]"; - mes "\"My name is Omar; I am a trader of oils and spices.\""; - close; + mes "[Omar]"; + mes "\"My name is Omar; I am a trader of oils and spices.\""; + close; L_kadiya_sick: - mes "[Omar]"; - mes "\"Kadiya has caught Ponderpox, I fear.\""; - mes "He sighs."; - mes "\"She's has been feverish for many days now. I wish there were something I could do.\""; - next; - - menu - "Have you asked Elanore the healer?", L_sick_elanore, - "How about the Hurnscald hospital?", L_sick_hospital, - "Can I help?", L_sick_self, - "I'm sorry to hear that.", -; - - mes "[Omar]"; - mes "\"Well, she is a strong girl. I am sure that she will get over it eventually.\""; - mes "He smiles, but you see doubt in his eyes."; - close; + mes "[Omar]"; + mes "\"Kadiya has caught Ponderpox, I fear.\""; + mes "He sighs."; + mes "\"She's has been feverish for many days now. I wish there were something I could do.\""; + next; + menu + "Have you asked Elanore the healer?", L_sick_elanore, + "How about the Hurnscald hospital?", L_sick_hospital, + "Can I help?", L_sick_self, + "I'm sorry to hear that.", -; + + mes "[Omar]"; + mes "\"Well, she is a strong girl. I am sure that she will get over it eventually.\""; + mes "He smiles, but you see doubt in his eyes."; + close; L_sick_elanore: - mes "[Omar]"; - mes "\"Elanore?\""; - mes "He frowns."; - mes "\"She knows nothing. I see no point in talking to her.\""; - close; + mes "[Omar]"; + mes "\"Elanore?\""; + mes "He frowns."; + mes "\"She knows nothing. I see no point in talking to her.\""; + close; L_sick_hospital: - mes "[Omar]"; - mes "\"Hurnscald is too far away. I don't think that it would be good for her to go on such a long trip.\""; - close; + mes "[Omar]"; + mes "\"Hurnscald is too far away. I don't think that it would be good for her to go on such a long trip.\""; + close; L_sick_self: - mes "[Omar]"; - mes "\"You are very kind, but I don't think there is anything you can do.\""; - close; + mes "[Omar]"; + mes "\"You are very kind, but I don't think there is anything you can do.\""; + close; L_didnt_drink: - mes "[Omar]"; - mes "\"So she has Mopox, not Ponderpox, you say? Hmm. That is much harder to cure, I think.\""; - mes "\"I am grateful for the effort you put into brewing a potion for her. But it does smell vile...\""; - next; - - mes "[Omar]"; - mes "\"I promised my dear wife that I would never make Kadiya eat or drink anything she doesn't like. So I won't force her to drink this.\""; - next; - - mes "[Omar]"; - set @Q_status, (@Q_STATUS_WANTS_CHOCOCAKE + rand(2)); - callsub S_update_var; - - if (@Q_status == @Q_STATUS_WANTS_ORANGECUPCAKE) - mes "\"If only we could make it smell and taste like orange cupcakes... she really loves those cupcakes.\""; - if (@Q_status == @Q_STATUS_WANTS_CHOCOCAKE) - mes "\"If only this were a chocolate cake and not a potion... she really loves chocolate cakes.\""; - close; + mes "[Omar]"; + mes "\"So she has Mopox, not Ponderpox, you say? Hmm. That is much harder to cure, I think.\""; + mes "\"I am grateful for the effort you put into brewing a potion for her. But it does smell vile...\""; + next; + mes "[Omar]"; + mes "\"I promised my dear wife that I would never make Kadiya eat or drink anything she doesn't like. So I won't force her to drink this.\""; + next; + mes "[Omar]"; + set @Q_status, (@Q_STATUS_WANTS_CHOCOCAKE + rand(2)); + callsub S_update_var; + if (@Q_status == @Q_STATUS_WANTS_ORANGECUPCAKE) + mes "\"If only we could make it smell and taste like orange cupcakes... she really loves those cupcakes.\""; + if (@Q_status == @Q_STATUS_WANTS_CHOCOCAKE) + mes "\"If only this were a chocolate cake and not a potion... she really loves chocolate cakes.\""; + close; L_make_food: - mes "[Omar]"; - mes "\"I should stay here to watch over her. I wish I could think of a way to convince her to drink the potion...\""; - if (@Q_status == @Q_STATUS_WANTS_ORANGECUPCAKE) - mes "\"Alas, it is not an orange cupcake.\""; - if (@Q_status == @Q_STATUS_WANTS_CHOCOCAKE) - mes "\"If only it were to smell and taste like her favourite chocolate cake...\""; - close; + mes "[Omar]"; + mes "\"I should stay here to watch over her. I wish I could think of a way to convince her to drink the potion...\""; + if (@Q_status == @Q_STATUS_WANTS_ORANGECUPCAKE) + mes "\"Alas, it is not an orange cupcake.\""; + if (@Q_status == @Q_STATUS_WANTS_CHOCOCAKE) + mes "\"If only it were to smell and taste like her favourite chocolate cake...\""; + close; L_cured: - if (@Q_status == @Q_STATUS_COMPLETED) - goto L_cured_choice; - mes "[Omar]"; - mes "\"She is sleeping now, but she seems to be much better. I am sure that she will be up and running around again soon.\""; - close; + if (@Q_status == @Q_STATUS_COMPLETED) goto L_cured_choice; + mes "[Omar]"; + mes "\"She is sleeping now, but she seems to be much better. I am sure that she will be up and running around again soon.\""; + close; L_cured_choice: - mes "[Omar]"; - mes "\"I am very grateful for your help. I really was sure that it was Ponderpox, not Mopox, that she had.\""; - next; - - menu - "Oh, it was nothing.", L_cured_nothing, - "I didn't do it alone; Elanore helped.", L_cured_elanore, - "That will be 5000 GP.", -; - - mes "[Omar]"; - mes "\"Ah, certainly.\""; - mes "He hands you a small bag of money."; - next; - - set @Q_status, @Q_STATUS_COMPLETED_NOELANORE; - callsub S_update_var; - - set zeny, zeny + 5000; - close; + mes "[Omar]"; + mes "\"I am very grateful for your help. I really was sure that it was Ponderpox, not Mopox, that she had.\""; + next; + menu + "Oh, it was nothing.", L_cured_nothing, + "I didn't do it alone; Elanore helped.", L_cured_elanore, + "That will be 5000 GP.", -; + mes "[Omar]"; + mes "\"Ah, certainly.\""; + mes "He hands you a small bag of money."; + next; + set @Q_status, @Q_STATUS_COMPLETED_NOELANORE; + callsub S_update_var; + set zeny, zeny + 5000; + close; L_cured_nothing: - mes "[Omar]"; - mes "\"No, this wasn't nothing. She is everything to me. Here, you deserve a reward.\""; - mes "He hands you a bag of money containing 10,000 GP and two pearls."; - mes "\"And feel free to drop by again whenever you would like!\""; - - set @Q_status, @Q_STATUS_COMPLETED_NOELANORE; - callsub S_update_var; - - getitem "Pearl", 2; - set zeny, zeny + 10000; - close; + mes "[Omar]"; + mes "\"No, this wasn't nothing. She is everything to me. Here, you deserve a reward.\""; + mes "He hands you a bag of money containing 10,000 GP and two pearls."; + mes "\"And feel free to drop by again whenever you would like!\""; + set @Q_status, @Q_STATUS_COMPLETED_NOELANORE; + callsub S_update_var; + getitem "Pearl", 2; + set zeny, zeny + 10000; + close; L_cured_elanore: - mes "[Omar]"; - mes "Omar frowns."; - mes "\"That witch? You worked with her without telling me?\""; - mes "He looks over to his daughter, concern suddenly in his eyes."; - mes "\"She is looking better, though...\""; - next; - - mes "[Omar]"; - mes "Omar shakes his head."; - mes "\"I will have to think about this. Please leave me alone.\""; - next; - - set @Q_status, @Q_STATUS_COMPLETED_ELANORE; - callsub S_update_var; - - close; + mes "[Omar]"; + mes "Omar frowns."; + mes "\"That witch? You worked with her without telling me?\""; + mes "He looks over to his daughter, concern suddenly in his eyes."; + mes "\"She is looking better, though...\""; + next; + mes "[Omar]"; + mes "Omar shakes his head."; + mes "\"I will have to think about this. Please leave me alone.\""; + next; + set @Q_status, @Q_STATUS_COMPLETED_ELANORE; + callsub S_update_var; + close; S_update_var: - set QUEST_MAGIC2, - (QUEST_MAGIC2 & ~(NIBBLE_3_MASK) - | (@Q_status << NIBBLE_3_SHIFT)); - return; + set QUEST_MAGIC2, (QUEST_MAGIC2 & ~(NIBBLE_3_MASK) | (@Q_status << NIBBLE_3_SHIFT)); + return; } - -001-2.gat,76,59,0 script _______Kadiya 174,{ - callfunc "ElanoreFix"; - set @Q_MASK, NIBBLE_3_MASK; - set @Q_SHIFT, NIBBLE_3_SHIFT; - - callfunc "KadiyaSubquestConsts"; - set @Q_status, @Q_kadiya_status; - - if (@Q_status >= @Q_STATUS_COMPLETED) - goto L_cured; - - mes "You see a young girl lying in bed. At first she doesn't seem to notice you approaching."; - mes "Finally, she turns her head towards you. Judging from the sweat on her forehead and look in her eyes, she is suffering from some kind of fever."; - next; - - mes "[Kadiya]"; - mes "\"Hello,\" she says in a tiny voice."; - next; - - set @M_NAME, 1; - set @M_CANDY, 2; - set @M_POTION, 3; - set @M_CHOCOCAKE, 4; - set @M_CUPCAKE, 5; - - setarray @choice$, "Hello! What's your name?", "Would you like some candy?", "", "", "", "", "", ""; - setarray @choice_idx, @M_NAME, @M_CANDY, 0, 0, 0, 0, 0, 0; - set @choices_nr, 2; - - if (countitem("MopoxCurePotion") == 0) - goto L_M_no_cure; - - set @choice_idx[@choices_nr], @M_POTION; - set @choice$[@choices_nr], "This potion will cure your illness!"; - set @choices_nr, @choices_nr + 1; +001-2.gat,76,59,0|script|Kadiya|174,{ + callfunc "ElanoreFix"; + set @Q_MASK, NIBBLE_3_MASK; + set @Q_SHIFT, NIBBLE_3_SHIFT; + callfunc "KadiyaSubquestConsts"; + set @Q_status, @Q_kadiya_status; + if (@Q_status >= @Q_STATUS_COMPLETED) goto L_cured; + + mes "You see a young girl lying in bed. At first she doesn't seem to notice you approaching."; + mes "Finally, she turns her head towards you. Judging from the sweat on her forehead and look in her eyes, she is suffering from some kind of fever."; + next; + mes "[Kadiya]"; + mes "\"Hello,\" she says in a tiny voice."; + next; + set @M_NAME, 1; + set @M_CANDY, 2; + set @M_POTION, 3; + set @M_CHOCOCAKE, 4; + set @M_CUPCAKE, 5; + + setarray @choice$, "Hello! What's your name?", "Would you like some candy?", "", "", "", "", "", ""; + setarray @choice_idx, @M_NAME, @M_CANDY, 0, 0, 0, 0, 0, 0; + set @choices_nr, 2; + + if (countitem("MopoxCurePotion") == 0) goto L_M_no_cure; + + set @choice_idx[@choices_nr], @M_POTION; + set @choice$[@choices_nr], "This potion will cure your illness!"; + set @choices_nr, @choices_nr + 1; L_M_no_cure: - - if ((countitem("LacedChocolateCake") == 0) || (@Q_status != @Q_STATUS_WANTS_CHOCOCAKE)) - goto L_M_no_chococake; - - set @choice_idx[@choices_nr], @M_CHOCOCAKE; - set @choice$[@choices_nr], "Would you like special chocolate cake?"; - set @choices_nr, @choices_nr + 1; + if ((countitem("LacedChocolateCake") == 0) || (@Q_status != @Q_STATUS_WANTS_CHOCOCAKE)) + goto L_M_no_chococake; + set @choice_idx[@choices_nr], @M_CHOCOCAKE; + set @choice$[@choices_nr], "Would you like special chocolate cake?"; + set @choices_nr, @choices_nr + 1; L_M_no_chococake: - - if ((countitem("LacedOrangeCupcake") == 0) || (@Q_status != @Q_STATUS_WANTS_ORANGECUPCAKE)) - goto L_M_no_cupcake; - - set @choice_idx[@choices_nr], @M_CUPCAKE; - set @choice$[@choices_nr], "Would you like special orange cupcake?"; - set @choices_nr, @choices_nr + 1; + if ((countitem("LacedOrangeCupcake") == 0) || (@Q_status != @Q_STATUS_WANTS_ORANGECUPCAKE)) + goto L_M_no_cupcake; + set @choice_idx[@choices_nr], @M_CUPCAKE; + set @choice$[@choices_nr], "Would you like special orange cupcake?"; + set @choices_nr, @choices_nr + 1; L_M_no_cupcake: - - set @choice_idx[@choices_nr], 0; - set @choice$[@choices_nr], "Goodbye."; - set @choices_nr, @choices_nr + 1; - - menu - @choice$[0], -, - @choice$[1], -, - @choice$[2], -, - @choice$[3], -, - @choice$[4], -, - @choice$[5], -; - - set @choice, @choice_idx[@menu - 1]; - - if (@choice == @M_NAME) goto L_name; - if (@choice == @M_CANDY) goto L_no_candy; - if (@choice == @M_POTION) goto L_potion; - if (@choice == @M_CHOCOCAKE) goto L_chococake; - if (@choice == @M_CUPCAKE) goto L_cupcake; - - close; + set @choice_idx[@choices_nr], 0; + set @choice$[@choices_nr], "Goodbye."; + set @choices_nr, @choices_nr + 1; + + menu + @choice$[0], -, + @choice$[1], -, + @choice$[2], -, + @choice$[3], -, + @choice$[4], -, + @choice$[5], -; + + set @choice, @choice_idx[@menu - 1]; + + if (@choice == @M_NAME) goto L_name; + if (@choice == @M_CANDY) goto L_no_candy; + if (@choice == @M_POTION) goto L_potion; + if (@choice == @M_CHOCOCAKE) goto L_chococake; + if (@choice == @M_CUPCAKE) goto L_cupcake; + close; L_name: - mes "[Kadiya]"; - mes "She smiles a faint smile."; - mes "\"My name is Kadiya.\""; - - close; + mes "[Kadiya]"; + mes "She smiles a faint smile."; + mes "\"My name is Kadiya.\""; + close; L_no_candy: - mes "[Kadiya]"; - mes "She hesitates for a moment."; - mes "\"No, thank you. I don't think I should.\""; - - close; + mes "[Kadiya]"; + mes "She hesitates for a moment."; + mes "\"No, thank you. I don't think I should.\""; + close; L_potion: - mes "[Kadiya]"; - if (@Q_status < @Q_STATUS_DIDNT_DRINK) - set @Q_status, @Q_STATUS_DIDNT_DRINK; - callsub S_update_var; - - mes "Kadiya grimaces and pushes the bottle away."; - mes "\"That smells terrible!\""; - next; - - mes "[Kadiya]"; - mes "She pulls the sheets over her head."; - mes "\"I won't drink that!\""; - next; - - close; + mes "[Kadiya]"; + if (@Q_status < @Q_STATUS_DIDNT_DRINK) set @Q_status, @Q_STATUS_DIDNT_DRINK; + callsub S_update_var; + + mes "Kadiya grimaces and pushes the bottle away."; + mes "\"That smells terrible!\""; + next; + mes "[Kadiya]"; + mes "She pulls the sheets over her head."; + mes "\"I won't drink that!\""; + next; + close; L_chococake: - delitem "LacedChocolateCake", 1; - goto L_do_cure; + delitem "LacedChocolateCake", 1; + goto L_do_cure; L_cupcake: - delitem "LacedOrangeCupcake", 1; - goto L_do_cure; + delitem "LacedOrangeCupcake", 1; + goto L_do_cure; L_do_cure: - if (@Q_status < @Q_STATUS_COMPLETED) - set @Q_status, @Q_STATUS_COMPLETED; - callsub S_update_var; - mes "[Kadiya]"; - mes "Kadiya's eyes widen."; - mes "\"Oh! Daddy, is it okay if I eat this?\""; - mes "Omar nods and smiles. \"You should eat a bit to regain your strength, sweetheart.\""; - next; - - mes "[Kadiya]"; - mes "Kadiya devours your gift in just a handful of bites."; - next; - - mes "[Kadiya]"; - mes "She smiles. \"Thank you! I feel better already!\"."; - next; - - mes "[Kadiya]"; - mes "She looks much healthier, too. Omar walks over and touches her forehead."; - mes "\"Now that is funny-- your fever has gone down quite a bit!\""; - mes "He smiles at you. \"Thank you for your help!\""; - next; - - mes "[Kadiya]"; - mes "\"You should get some sleep now, sweetheart. I'm sure that you will be better soon.\""; - close; + if (@Q_status < @Q_STATUS_COMPLETED) set @Q_status, @Q_STATUS_COMPLETED; + callsub S_update_var; + + mes "[Kadiya]"; + mes "Kadiya's eyes widen."; + mes "\"Oh! Daddy, is it okay if I eat this?\""; + mes "Omar nods and smiles. \"You should eat a bit to regain your strength, sweetheart.\""; + next; + mes "[Kadiya]"; + mes "Kadiya devours your gift in just a handful of bites."; + next; + mes "[Kadiya]"; + mes "She smiles. \"Thank you! I feel better already!\"."; + next; + mes "[Kadiya]"; + mes "She looks much healthier, too. Omar walks over and touches her forehead."; + mes "\"Now that is funny-- your fever has gone down quite a bit!\""; + mes "He smiles at you. \"Thank you for your help!\""; + next; + mes "[Kadiya]"; + mes "\"You should get some sleep now, sweetheart. I'm sure that you will be better soon.\""; + close; L_goodbye: - mes "[Kadiya]"; - mes "Goodbye!"; - - close; + mes "[Kadiya]"; + mes "Goodbye!"; + close; L_cured: - mes "[Kadiya]"; - mes "Kadiya seems to be sleeping calmly. She looks much less sweaty than earlier; unless you are very much mistaken, her fever has disappeared."; - close; + mes "[Kadiya]"; + mes "Kadiya seems to be sleeping calmly. She looks much less sweaty than earlier; unless you are very much mistaken, her fever has disappeared."; + close; S_update_var: - set QUEST_MAGIC2, - (QUEST_MAGIC2 & ~(@Q_MASK) - | (@Q_status << @Q_SHIFT)); - return; + set QUEST_MAGIC2, (QUEST_MAGIC2 & ~(@Q_MASK) | (@Q_status << @Q_SHIFT)); + return; } |