From cf18ce071c79ae37e14ea38943e0b1d88da70a7b Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Fri, 9 Apr 2021 13:33:57 -0300 Subject: Override --- npc/056-2/mirak.txt | 139 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100755 npc/056-2/mirak.txt (limited to 'npc/056-2/mirak.txt') diff --git a/npc/056-2/mirak.txt b/npc/056-2/mirak.txt new file mode 100755 index 00000000..d24b3ec1 --- /dev/null +++ b/npc/056-2/mirak.txt @@ -0,0 +1,139 @@ +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; +} -- cgit v1.2.3-70-g09d2