056-2,67,24,0 script Mirak NPC372,{
callfunc "DailyQuestPointsFunc";
@Mirak_MASK = NIBBLE_0_MASK;
@Mirak_SHIFT = NIBBLE_0_SHIFT;
@talk = ((QUEST_Mirak & @Mirak_MASK) >> @Mirak_SHIFT);
@Mirak_Annoy_MASK = NIBBLE_1_MASK;
@Mirak_Annoy_SHIFT = NIBBLE_1_SHIFT;
@annoy = ((QUEST_Mirak & @Mirak_Annoy_MASK) >> @Mirak_Annoy_SHIFT);
if (Mirak_Questtime > gettimetick(2))
goto L_TooSoon;
if (@annoy > 3)
goto L_Kill;
if (Mirak_Bantime > gettimetick(2))
goto L_Ban;
if (@talk < 3)
goto L_Talk;
goto L_Ban;
L_Ban:
mes "[Mirak]";
mes "\"How did you get back here?\"";
goto L_Kill;
L_Talk:
Mirak_Bantime = 0;
Mirak_Questtime = 0;
if (@talk == 1)
goto L_Talk1;
if (@talk == 2)
goto L_Talk2;
mes "The old man reads a book and looks up when he sees you coming.";
mes "He looks at you angrily.";
next;
mes "[Mirak]";
mes "\"Hi, my name is Mirak. You might have the impression that I am nice, but I am NOT! I want to be left alone to read in peace! I tried that at my mansion in Port City but it did not work. My damn brother, he always kept going on about Bat Wings...\"";
next;
mes "Suddenly his face gets red. He breathes slowly three times...";
next;
mes "He seems to be calm again.";
next;
mes "[Mirak]";
mes "\"Eh... Ah! That's why I bought this house in this goddamn woods. I hoped nobody would come by here. It seems I was wrong. I believe that you did not read the notes I left behind. Read them on your way out.\"";
mes "He looks down on his book and ignores you.";
@talk = 1;
callsub S_Update_Mask;
close;
L_Talk1:
mes "[Mirak]";
mes "\"What?! You again? Get going!\"";
@talk = 2;
callsub S_Update_Mask;
close;
L_Talk2:
mes "[Mirak]";
mes "\"What do you want?!\"";
menu
"Nothing.", L_Nothing,
"Money!", L_Quest;
L_Nothing:
mes "[Mirak]";
mes "\"Ahhhh! Get lost, or you'll regret it!\"";
@annoy = @annoy+1;
callsub S_Update_Mask_Annoy;
close;
L_Quest:
@dq_cost = DailyQuestPoints;
@dq_money = 20;
@dq_exp = 20;
mes "[Mirak]";
mes "\"If you have some energy left, which I need, I can give you money for it. But only if you will leave me alone!\"";
menu
"Okay.", L_Trade,
"Nah, I won't leave you alone.", L_Kill;
L_TooSoon:
mes "Mirak looks up, sees you, and gets angry.";
mes "[Mirak]";
mes "\"I told you not to bother me again! That's why I paid you!\"";
goto L_Kill;
L_Kill:
misceffect sfx_magic_war, strcharinfo(0);
heal -Hp, 0;
@annoy = 0;
callsub S_Update_Mask_Annoy;
Mirak_Bantime = gettimetick(2) + 86400;
Mirak_Questtime = 0;
mes "The old man stands up and looks at you angrier than ever. He mumbles something and your head explodes.";
next;
mes "[Mirak]";
mes "\"That's what you get for annoying me! I studied under the Mages of Tulimshar!";
mes "I feel better now.\"";
next;
mes "The old man sits back down and continues to read.";
close;
L_Trade:
if (DailyQuestPoints == 0)
goto L_NoPoints;
Zeny = Zeny + (@dq_money * @dq_cost);
getexp @dq_exp * @dq_cost, 0;
DailyQuestPoints = DailyQuestPoints - @dq_cost;
mes "[" + @dq_money * @dq_cost + " money]";
mes "[" + @dq_exp * @dq_cost + " experience points]";
mes "\"Now leave or you'll regret it. Don't come back!\"";
Mirak_Questtime = gettimetick(2) + 86400;
Mirak_Bantime = 0;
close;
L_NoPoints:
mes "[Mirak]";
mes "\"Why do you bother me!? You have no energy left!\"";
goto L_Kill;
S_Update_Mask_Annoy:
set QUEST_Mirak,
(QUEST_Mirak & ~(@Mirak_Annoy_MASK))
| (@annoy << @Mirak_Annoy_SHIFT);
return;
S_Update_Mask:
set QUEST_Mirak,
(QUEST_Mirak & ~(@Mirak_MASK))
| (@talk << @Mirak_SHIFT);
return;
}