summaryrefslogtreecommitdiff
path: root/world/map/npc/001-2/omar.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/001-2/omar.txt')
-rw-r--r--world/map/npc/001-2/omar.txt528
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;
}