033-1.gat,72,27,0 script Birrod 217, {
//TODO: minimum level for quests?
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: think about amount
set @candy, 25;
set @chocolate, 20;
set @candycane, 15;
set @sweet_exp, 10000;
//TODO set @wolfdrop, ;
//TODO set @wolf_exp, ;
set @minigame_exp, 5000;
if (@state >= 6) goto L_Impressed;
if (@state == 5) goto L_Questions;
if (@state == 4) goto L_Warrior;
if (@state == 3) goto L_Sweets;
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_Sweets:
mes "Birrod speaks with a lowered voice.";
mes "[Birrod]";
mes "\"" + strcharinfo(0) + ", can I ask you for a favor?\"";
next;
mes "\"I noticed those slime things with the funny hats. And they have so tasty stuff with them!\"";
next;
mes "He blushes.";
mes "[Birrod]";
mes "\"A warrior shouldn't get excited about sweets, so ahm, it would be great if you don't tell Yerrnk and Kimarr about it.\"";
next;
mes "\"Do you have " + @candy + " Candys, " + @chocolate + " Chocolate Bars and " + @candycane + " Candy Canes for me?\"";
menu
"Sure.",-,
"I'll see what I can do.",L_Close,
"I'm a great warrior, I don't have sweets with me!",L_Close;
if ((countitem("Candy") < @candy) || (countitem("ChocolateBar") < @chocolate) || (countitem("CandyCane") < @candycane)) goto L_No_Items;
delitem "Candy", @candy;
delitem "ChocolateBar", @chocolate;
delitem "CandyCane", @candycane;
getexp @sweet_exp, 0;
set @state, 4;
callsub S_Update_Mask;
mes "[Birrod]";
mes "\"Thank you!\"";
mes "He puts the sweets in his pockets covertly.";
mes "Then takes one candy and eats it with such a delighted look on his face that's really hard not to burst out in laughter.";
close;
L_Warrior:
//TODO: player can show his fighting abilities by bringing some drop of wolve monsters
// wolve monsters are more dangerous and harder to hunt than fluffies -> harder task
// reason to hunt them: there unusual aggressive and are a danger for the people living in that area
// also use of the items the drop (e.g. fur -> clothes)
mes "[Birrod]";
mes "\"Hello, " + strcharinfo(0) + "! Would you like to prove your hunting skills again?\"";
next;
//TODO: check name of monster
mes "\"I noticed many wolverns in this area. When there are so many of them, they reduce the fluffy population too much.";
mes "Also they are dangerous to all the small people who live in the town nearby.\"";
next;
mes "\"Bring me (amount) (TODO:drop of wolvern).";
mes "TODO: add story about what useful can be done with that drop.";
menu
"Debug succes",-,
"Debug no succes",L_Close;
set @state, 5;
callsub S_Update_Mask;
mes "[Birrod]";
mes "\"TODO: impressed, player is ready to become a fully accepted warrior of the tribe. Shall come back when ready for initiation ritual. (that means getting the skill pool skill)\"";
close;
L_Questions:
//TODO: minigame idea: barbarian asks some questions with three possible answers, player needs to always choose the right answer
//question are about how the player would act in certain situations and about his attitude
// give raging skill if successfull
//TODO: find out the problem
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;
mes "TODO: some introductionw words to the skill";
setskill SKILL_WARRIOR_BERSERK, 1;
set @state, 6;
callsub S_Update_Mask;
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 "TODO: not ready, some hint to skill pool";
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_Close:
close;
S_Update_Mask:
set QUEST_Barbarians,
(QUEST_Barbarians & ~(@Q_Barbarians_MASK))
| (@state << @Q_Barbarians_SHIFT);
return;
}