033-1.gat,72,27,0|script|Birrod|217,{
// TODO: check name of wolf monster after it has been added to the mob_db
set @Q_Barbarians_MASK, NIBBLE_0_MASK;
set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT;
set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT);
// TODO: determine values:
set @wolvern_level, 40; // minimum level to do the wolvern hunting
set @wolvern_amount, 10; // number of script spawned wolverns to kill
set @wolvern_exp, 5000;
set @minigame_exp, 5000;
if (@state >= 6) goto L_Impressed;
if (@state == 5) goto L_Questions;
if (@state == 4) goto L_Wolverns;
if (@state == 3) goto L_Hunting;
if (@state == 2) goto L_Kimarr;
if (@state == 1) goto L_Fluffy;
mes "[Barbarian]";
mes "\"Welcome. My name is Birrod, warrior of the Mangarr.\"";
next;
mes "\"We usually live high up in the snowy mountains, but we need to solve a problem, so we came down here.\"";
next;
mes "\"But this shouldn't concern you.\"";
close;
L_Fluffy:
mes "[Birrod]";
mes "\"Kimarr asked you to perform the fluffy hunting? I'm curious how you're going to do it.\"";
mes "He grins.";
close;
L_Kimarr:
mes "[Birrod]";
mes "\"Great! Very well done! Welcome to our tribe.\"";
next;
mes "\"But I think, Kimarr has something for you.\"";
close;
L_Hunting:
if (BaseLevel < @wolvern_level)
goto L_Weak;
mes "[Birrod]";
mes "\"Hello, " + strcharinfo(0) + "! Would you like to prove your hunting skills again?\"";
next;
mes "\"I noticed some groups of wolverns in the forest west of here which are unusually aggressive.";
mes "This makes dangerous to all the small people from the town nearby to go there.\"";
next;
mes "\"To prove your skills, go to the forest and hunt down " + @wolvern_amount + " of the very aggressive wolverns.\"";
next;
mes "\"There are also some wolverns that behave normally attacking you when you come to close to them.";
mes "Those are not the ones I mean, but those that seek the battle themselves.\"";
set @state, 4;
callsub S_Update_Mask;
close;
L_Wolverns:
if (wolvern_count >= @wolvern_amount)
goto L_Wolverns_Done;
mes "[Birrod]";
mes "\"Greetings, my friend.";
mes "The aggressive wolverns are still roaming the forest west of here.\"";
next;
mes "\"This is your chance to prove your worth.\"";
close;
L_Wolverns_Done:
set @state, 5;
callsub S_Update_Mask;
set wolvern_count, 0;
mes "[Birrod]";
mes "\"" + strcharinfo(0) + "!";
mes "Good work. Now this area is much safer.\"";
next;
getexp @wolvern_exp, 0;
if (getskilllv(SKILL_POOL) == 0) goto L_Not_Ready;
mes "\"Your skills are impressing. You are worthy to be called a warrior of the Mangarr, if you accept.\"";
next;
goto L_Questions;
L_Questions:
if (getskilllv(SKILL_POOL) == 0) goto L_Not_Ready;
mes "Birrod has a very ceremonial look on his face.";
mes "[Birrod]";
mes "\"" + strcharinfo(0) + ", are you ready to become a full-fledged member of our tribe, the Mangarr?\"";
menu
"Yes, what do I need to do?",-,
"That's why I'm here.",-,
"Sorry, I have to go. See you.",L_No_Member;
mes "Birrod nods earnestly.";
mes "[Birrod]";
mes "\"I will ask you some questions.";
mes "Think well and be honest, because it will depend on your answers if you will be considered worthily.\"";
next;
mes "\"What's the most important thing for a true warrior?\"";
menu
"Strength!",L_Fail11,
"A good weapon.",L_Fail12,
"Braveness.",L_Success11;
L_Fail11:
mes "[Birrod]";
mes "\"Strength is indeed important for a warrior. But before you can show strength, you need to have something else.\"";
next;
goto L_No_Member;
L_Fail12:
mes "[Birrod]";
mes "\"Are you kidding?\"";
next;
goto L_No_Member;
L_Success11:
mes "[Birrod]";
mes "\"Wise words.\"";
next;
mes "\"What would you do if you are wounded but Yetis are attacking our tribe?\"";
menu
"Run as fast as I can.",L_Fail21,
"Fight no matter what.",L_Fail22,
"Try to hold them back until everyone is safe, then retreat.",L_Success21;
L_Fail21:
mes "[Birrod]";
mes "\"You will never get a accepted member of our tribe with that attitude.\"";
next;
goto L_No_Member;
L_Fail22:
mes "[Birrod]";
mes "\"Honorably but stupid.\"";
next;
goto L_No_Member;
L_Success21:
mes "[Birrod]";
mes "\"Right.\"";
next;
mes "\"When you are on a hunting trip with your comrades and it's time to set up a camp in the evening, what things do you do?\"";
menu
"Take care of everyone who got wounded.",L_Success31,
"Pitch the tent and make a fire.",L_Success32,
"Lay down and rest.",L_Fail31;
L_Success31:
mes "[Birrod]";
mes "\"You're a caring person. Good.\"";
next;
goto L_Success3;
L_Success32:
mes "[Birrod]";
mes "\"You're diligent, good.\"";
next;
goto L_Success3;
L_Fail31:
mes "[Birrod]";
mes "\"You wouldn't make friends that way.\"";
next;
goto L_No_Member;
L_Success3:
mes "\"What is your goal in life?\"";
menu
"Learning new things and see the world.",L_Success41,
"Becoming as powerful as I can.",L_Fail41,
"Protect the ones I love.",L_Success42;
L_Success41:
mes "[Birrod]";
mes "\"You're curious. An attribute we appreciate.\"";
next;
goto L_Success4;
L_Fail41:
mes "[Birrod]";
mes "\"You're seeking power? For what?\"";
next;
goto L_No_Member;
L_Success42:
mes "[Birrod]";
mes "\"An honorable goal.\"";
next;
L_Success4:
mes "\"What do you think is a good reason to fight and kill?\"";
menu
"Because I want it.",L_Fail51,
"To survive.",L_Success51,
"To protect someone in need.",L_Success52;
L_Fail51:
mes "[Birrod]";
mes "\"You think so?\"";
next;
goto L_No_Member;
L_Success51:
mes "[Birrod]";
mes "\"Right.\"";
next;
goto L_Success5;
L_Success52:
mes "[Birrod]";
mes "\"Yes, that's the most honorable reason.\"";
next;
L_Success5:
getexp @minigame_exp, 0;
setskill SKILL_WARRIOR_RAGING, 1;
set @state, 6;
callsub S_Update_Mask;
mes "You feel an exciting vim inside of you.";
mes "[Birrod]";
mes "\"You are now a warrior of the Mangarr.\"";
next;
mes "\"Therefore you gain the ability to put back your own safety for Raging in battle with a tremendous power.";
mes "This power now lies within you, waiting for someone to help you focusing on it.\"";
close;
L_Impressed:
mes "\"I'm very proud of you being a member of the tribe.\"";
close;
L_No_Items:
mes "\"" + strcharinfo(0) + ", remember that a member of our tribe is candid and honest.\"";
close;
L_Not_Ready:
mes "[Birrod]";
mes "\"" + strcharinfo(0) + ", you've shown that you have great hunting skills and are an enrichment to our tribe.";
mes "But you still lack the needed mental skills to become a full member of our tribe.\"";
next;
mes "\"Roam this world to find more experienced persons than yourself to learn new things.";
mes "Then come back when you've gained the ability to focus your mind.\"";
close;
L_No_Member:
mes "Birrod shakes his head.";
mes "[Birrod]";
mes "\"Think again about your position in our tribe and what you want to achieve.";
mes "Come back when you feel better prepared.\"";
close;
L_Weak:
mes "[Birrod]";
mes "\"Hello, " + strcharinfo(0) + "! I might have a task for you when you've grown up a bit.\"";
close;
L_Close:
// TODO: set all variables to 0
close;
S_Update_Mask:
set QUEST_Barbarians,
(QUEST_Barbarians & ~(@Q_Barbarians_MASK))
| (@state << @Q_Barbarians_SHIFT);
return;
}