//#################################################################################
//# Orum/Waric Quest Part 1 - By Liana, reviewed by Stefan Beller #
//# GPL v.2 #
//# #
//# The first quest is to find Waric in the Caves with lots of torches. #
//# These torches must be set in the right color to have access to the next #
//# room, guarded by a magical barrier of other torches. #
//# #
//# The second quest is an easy, but background-story telling quest. #
//# Just visit the cave again, find what is really in there. #
//# #
//# #
//# Used variables: #
//# #
//# OrumQuest stores the progress of the quest #
//# OrumQuestTorch In nibble (0,1,2) the color of the torches is stored #
//# In nibble (3,4,5) the intensity of the torches is stored #
//# OrumQuestBarrier nibble (0,1,2) stores the color of the barriers #
//#################################################################################
009-4.gat,37,115,0|script|Orum|158,{
// needed to pass the very first barrier
set @B0_WISPPOWDER, 4;
set @B0_POLTERGEISTPOWDER, 2;
set @B0_SPECTREPOWDER, 1;
set @B0_HARDSPIKES, 1;
// needed stuff to get colorful powders
set @BT_IRONPOWDER, 10;
set @BT_PILESOFASH, 10;
set @BT_HERBS, 15;
// how many colorful powders each do you get as reward?
set @BT_REWARDCOUNT, 10;
// no exp for breaking the barrier ?
set @EXP_BREAK_BARRIERS, 0;
if (OrumQuest > 0) goto L_Started;
mes "[Orum]";
mes "\"It's not wise to venture around this place! Well hmm.. I guess since you're here, maybe you can lend a little help?\"";
next;
menu
"What exactly is 'this place'?", L_Explain,
"Umm.. what kind of help?", L_Explain,
"You're right, I'll be on my way.", -;
mes "[Orum]";
mes "\"Very smart thinking!\"";
close;
L_Explain:
mes "[Orum]";
mes "\"Recently a woman claiming to be a witch came to my village seeking help from my mentor Waric, who is a very powerful wizard, but he refused and she left. But..\"";
next;
mes "[Orum]";
mes "\"The next day he went missing! I'm no wizard yet, but from what I overheard.. I think that witch is attempting some very foul magic and has kidnapped him for some reason!\"";
next;
mes "[Orum]";
mes "\"I traveled in the direction she left until I came accross this cave, but it appears to be protected by some type of magical barrier and I haven't been able to get further than this room.\"";
next;
menu
"So where would I come in?", L_Explain_Barriers,
"I'd like to help but I have to go..", -;
mes "[Orum]";
mes "\"Thats too bad.. well, if you ever have some free time, I probably won't figure this out any time soon.\"";
close;
L_Explain_Barriers:
mes "[Orum]";
mes "\"I've examined this room and it appears that the barrier is made up of two torches on each side. The flame on them has a strange glow.. They must be imbued with magical properties.\"";
next;
mes "[Orum]";
mes "\"I've never come across anything like this barrier before.. It must be drawing it's power from the torches. I tried putting them out with conventional means but I had no luck..\"";
next;
menu
"Have any other ideas on how we get past it?", L_Explain_Note,
"I think its meant to keep us out.. bye.", -;
mes "[Orum]";
mes "\"You may be right.. but she kidnapped Waric. I know it! So I must do something! If you ever change your mind I could sure use the help.\"";
close;
L_Explain_Note:
mes "[Orum]";
mes "\"Actually! After Woric went missing I looked around at his house a bit and came across a note the witch must have dropped. I skimmed over it and didn't pay much attention but I think it mentioned something about this barrier!\"";
next;
mes "He pulls it out of his pocket and begins examining it..";
next;
mes "[Orum]";
mes "\"Ah! Here it is! If I'm reading this right we may have found a way past it after all. I guess she would need a way to come and go unaffected while everyone else is kept from entering.\"";
next;
menu
"What does it say??", L_Explain_Aura,
"Looks like you can do this without me.", -;
mes "[Orum]";
mes "\"Eh... well I guess I can't force you to stay..\"";
close;
L_Explain_Aura:
mes "[Orum]";
mes "\"Appears to be some kind of spell to place a magical aura around someone... Hmm, with these materials listed on here I'm going to guess this aura makes the wearer partly incorporeal..\"";
next;
mes "[Orum]";
mes "\"It looks like the barrier requires substances from 3 different incorporeal creatures.. I've heard of Wisps, Poltergeists, and Spectres before but I've never seen such a thing.\"";
next;
mes "[Orum]";
mes "\"Luckily I happen to be skilled in this field of magic! I'm pretty sure if I can get my hands on the materials listed on here I'll be able to cast this aura on us, and hopefully then we can get past this barrier!\"";
next;
menu
"Let me guess.. that is my job?", L_Offer_Quest,
"I think someone is calling me.. Bye", -;
close;
L_Offer_Quest:
mes "[Orum]";
mes "\"Well you would probably do better than me since I don't know this area very well.. It's not too much stuff so I'm sure you won't have any trouble at all.\"";
next;
menu
"Alright alright, just give me a list.", L_Start_Quest,
"I'm not your servant! Bye.", -;
mes "[Orum]";
mes "\"Everyone answers to someone.. that's just how the world is. If you ever change your mind I'll probably be here forever gathering these materials on my own..\"";
close;
L_Start_Quest:
mes "He pulls a crumpled piece of paper from his pocket, smooths it out and writes a list on it before handing it to you..";
next;
mes "" + @B0_WISPPOWDER + " Wisp Powders,";
mes "" + @B0_POLTERGEISTPOWDER + " Poltergeist Powders,";
mes "" + @B0_SPECTREPOWDER + " Spectre Powders,";
mes "" + @B0_HARDSPIKES + " Hard Spikes";
next;
menu
"Alright, I'll go get these.", L_Start_Gathering,
"You can forget it! I quit!", -;
mes "[Orum]";
mes "\"I know you'll be back... they always come back!\"";
close;
L_Start_Gathering:
mes "[Orum]";
mes "\"That's the spirit! But try not to take too long.\"";
set OrumQuest, 1;
close;
L_Started:
if (OrumQuest == 1) goto L_Gathering;
if (OrumQuest == 2) goto L_Use_First_Barrier;
if (OrumQuest == 3) goto L_Explore;
if (OrumQuest == 4) goto L_Found_Barriers;
if (OrumQuest == 5) goto L_Found_Barriers;
if (OrumQuest == 6) goto L_Found_Torches;
if (OrumQuest == 7) goto L_Still_Gathering;
if (OrumQuest == 8) goto L_Finish_Up;
if (OrumQuest >= 9) goto L_Finished_Up;
close;
L_Gathering:
mes "[Orum]";
mes "\"Got all the things I asked for yet?\"";
next;
menu
"Yep I have every last one of them!", L_Check_Materials,
"Can I get another list?", L_List_Materials,
"I still need a few things..", -;
mes "Orum shakes his head in frustration..";
next;
mes "[Orum]";
mes "\"You'd better get that stuff soon!\"";
close;
L_List_Materials:
mes "He scavenges around in his pocket for another piece of paper then writes a new list..";
next;
mes @B0_WISPPOWDER + " Wisp Powders,";
mes @B0_POLTERGEISTPOWDER + " Poltergeist Powders,";
mes @B0_SPECTREPOWDER + " Spectre Powders,";
mes @B0_HARDSPIKES + " Hard Spikes";
next;
mes "[Orum]";
mes "\"And try not to lose this one.. I'm running out of stuff to write on!\"";
close;
L_Check_Materials:
if (countitem("WispPowder") < @B0_WISPPOWDER ||
countitem("PoltergeistPowder") < @B0_POLTERGEISTPOWDER ||
countitem("SpectrePowder") < @B0_SPECTREPOWDER ||
countitem("HardSpike") < @B0_HARDSPIKES)
goto L_Missing_Materials;
// check directly before deleting the objects.
delitem "WispPowder", @B0_WISPPOWDER;
delitem "PoltergeistPowder", @B0_POLTERGEISTPOWDER;
delitem "SpectrePowder", @B0_SPECTREPOWDER;
delitem "HardSpike", @B0_HARDSPIKES;
mes "Orum carefully looks over all of the items then grins..";
next;
mes "[Orum]";
mes "\"Well done! And you did not even take as long as I thought you would!\"";
next;
mes "Orum takes the hard spikes in his hand and begins chanting some words..";
next;
mes "You watch as they begin to mold together, glowing brightly. He sprinkles in the powder you gathered and presses his hands together.";
misceffect sfx_magic_transmute;
next;
mes "Suddenly a feeling of dizzyness hits you and you begin to feel weightless.. It passes after a moment..";
misceffect sfx_magic_nature;
misceffect 11, strcharinfo(0);
next;
mes "[Orum]";
mes "\"Well we are both still in one piece so that is a good sign! Now we'll have to see if I did it right.. mind going first?\"";
goto L_Setup_Lair;
close;
L_Missing_Materials:
mes "Orum carefully looks over all of the items then squints his eyes at you..";
next;
mes "[Orum]";
mes "\"I'm not going to attempt this spell until I have ALL the items on this note.. Go gather the missing materials!\"";
close;
L_Setup_Lair:
set OrumQuest, 2;
// Second Barrier
set @temp, rand(1,6);
set @Color, 1;
if (@temp == 1 || @temp == 4)
set @Color, 1;
if (@temp == 2 || @temp == 5)
set @Color, 5;
if (@temp == 3 || @temp == 6)
set @Color, 9;
set @Barrier, 0;
callfunc("SetBarrierColor");
set @Torch, 0;
set @Color, rand(1, 12);
set @Intensity, 0;
callfunc("SetTorchColor");
callfunc("SetTorchIntensity");
// Third Barrier
set @temp, rand(1,6);
set @Color, 3;
if (@temp == 1 || @temp == 4)
set @Color, 3;
if (@temp == 2 || @temp == 5)
set @Color, 7;
if (@temp == 3 || @temp == 6)
set @Color, 11;
set @Barrier, 1;
callfunc("SetBarrierColor");
set @Torch, 1;
set @Color, rand(1, 12);
callfunc("SetTorchColor");
callfunc("SetTorchIntensity");
// End Barrier
set @temp, rand(1,12);
set @Color, 2;
if (@temp == 1 || @temp == 7)
set @Color, 2;
if (@temp == 2 || @temp == 8)
set @Color, 4;
if (@temp == 3 || @temp == 9)
set @Color, 6;
if (@temp == 4 || @temp == 10)
set @Color, 8;
if (@temp == 5 || @temp == 11)
set @Color, 10;
if (@temp == 6 || @temp == 12)
set @Color, 12;
set @Barrier, 2;
callfunc("SetBarrierColor");
set @Torch, 2;
set @Color, rand(1, 12);
callfunc("SetTorchColor");
callfunc("SetTorchIntensity");
close;
L_Use_First_Barrier:
mes "[Orum]";
mes "\"Casting that aura took a lot out of me.. Why don't you go explore the cave a bit while I rest?\"";
close;
L_Explore:
mes "Orum looks up as you approach..";
next;
mes "[Orum]";
mes "\"Find anything interesting in this place?\"";
next;
menu
"Yep.. a whole mess of torches!", L_Explain_Objective,
"I'm not sure what to look for..", L_Explain_Objective,
"Going to explore more, bye.", -;
mes "[Orum]";
mes "\"Be sure to let me know if you find anything. I've almost gained my energy back.\"";
close;
L_Explain_Objective:
mes "[Orum]";
mes "\"I'm positive this is where that witch took Waric, so this cave must lead to somewhere. Try looking around for another exit. I've almost gained my energy back and then I can help.\"";
close;
L_Found_Barriers:
mes "Orum looks up as you approach..";
next;
mes "[Orum]";
mes "\"Find anything interesting in this place?\"";
next;
menu
"Yep.. a whole mess of torches!", L_Explain_Objective,
"I'm not sure what to look for..", L_Explain_Objective,
"I found more barriers.. but..", L_Explain_Barriers_More,
"Going to explore more, bye.", -;
mes "[Orum]";
mes "\"Be sure to let me know if you find anything. I'm still gaining my energy back.\"";
close;
L_Explain_Barriers_More:
mes "[Orum]";
mes "\"Hm let me guess.. the aura is ineffective on the rest of the barriers here?\"";
next;
menu
"How did you know..?", L_Explain_Note_More,
"I'm not sure, I'll go try again.", -;
mes "[Orum]";
mes "\"Always a good idea to double check things!\"";
close;
L_Explain_Note_More:
mes "[Orum]";
mes "\"Well while I was resting I spent more time looking over the note that witch dropped.. And I think the aura is only to get past the entrance..\"";
next;
mes "[Orum]";
mes "\"It mentions some sort of security system to keep people from entering the actual lair but it doesn't explain in great detail. Try exploring more; maybe we will find some answers.\"";
next;
mes "Orum continues examining the note..";
close;
L_Found_Torches:
mes "Orum looks up as you approach..";
next;
mes "[Orum]";
mes "\"Find something interesting?\"";
next;
menu
"Yep.. a whole mess of torches!", L_Explain_Objective,
"I'm not sure what to look for..", L_Explain_Objective,
"I found more barriers.. but..", L_Explain_Barriers_More,
"I found a strange torch by itself.", L_Explain_Torches,
"Going to explore more, bye.", -;
mes "[Orum]";
mes "\"Be sure to let me know if you find anything new.\"";
close;
L_Explain_Torches:
mes "Orum has you direct him to the torch and he walks off to examine it before returning shortly after..";
next;
mes "[Orum]";
mes "\"Ah yes! I was hoping we would find something like this!\"";
next;
mes "[Orum]";
mes "\"While examining the note I found another set of spells to create some type of powder and with them was a few notes on using it with some type of torch..\"";
next;
mes "[Orum]";
mes "\"I'll bet this torch has something to do with the rest of these barriers which are probably the security system this note mentions.\"";
next;
mes "[Orum]";
mes "\"We will probably need to transmute this powder before we can get any further past these barriers.. Would you mind gathering a few more materials?\"";
next;
menu
"It better be the last time.", L_Gather_More,
"I'm done doing stuff for you!", -;
mes "[Orum]";
mes "\"I'm surprised you give up after we've gotten so far.. Shame.\"";
close;
L_Gather_More:
mes "Orum begins writing down another list of materials..";
next;
mes @BT_IRONPOWDER + " Piles of Iron Powder,";
mes @BT_PILESOFASH + " Piles of Sand or Ash,";
mes @BT_HERBS + " Gamboge Herbs,";
mes @BT_HERBS + " Alizarin Herbs,";
mes @BT_HERBS + " Cobalt Herbs";
next;
menu
"Yikes! I'll try..", L_Gathering_More,
"No way! Too much stuff!", -;
mes "[Orum]";
mes "\"The note says to get these and I'm not going to attempt this spell until I have what the note says.\"";
close;
L_Gathering_More:
set OrumQuest, 7;
mes "[Orum]";
mes "\"Wonderful! Try to make it quick, we must save Waric!\"";
close;
L_Still_Gathering:
mes "[Orum]";
mes "\"Have you finished gathering those things yet?\"";
next;
menu
"I believe I have!", L_Finished_Gathering_More,
"I lost my list.. again..", L_List_Materials_More,
"I've almost got them all..", -;
mes "[Orum]";
mes "\"Don't make me remind you again! Warics life is on the line here! Hurry up!\"";
close;
L_List_Materials_More:
mes "He scavenges around in his pocket for another piece of paper then writes a new list..";
next;
mes @BT_IRONPOWDER + " Piles of Iron Powder,";
mes @BT_PILESOFASH + " Piles of Sand or Ash,";
mes @BT_HERBS + " Gamboge Herbs,";
mes @BT_HERBS + " Alizarin Herbs,";
mes @BT_HERBS + " Cobalt Herbs";
next;
mes "[Orum]";
mes "\"And try not to lose this one.. I don't have much more to write on!\"";
close;
L_Finished_Gathering_More:
if (countitem("IronPowder") < @BT_IRONPOWDER ||
countitem("PileOfAsh") < @BT_PILESOFASH ||
countitem("GambogeHerb") < @BT_HERBS ||
countitem("AlizarinHerb") < @BT_HERBS ||
countitem("CobaltHerb") < @BT_HERBS)
goto L_Missing_Materials_More;
delitem "IronPowder", @BT_IRONPOWDER;
delitem "PileOfAsh", @BT_PILESOFASH;
delitem "GambogeHerb", @BT_HERBS;
delitem "AlizarinHerb", @BT_HERBS;
delitem "CobaltHerb", @BT_HERBS;
mes "[Orum]";
mes "\"Excellent work! And once again you did not take as long as I was expecting. I guess I will get started..\"";
next;
mes "You watch as Orum takes the iron powder and ash and begins chanting some words.. The two start to glow and mold together turning into a light, metallic looking powder..";
next;
misceffect sfx_magic_transmute;
mes "He then splits the powder into three piles and performs separate spells on each using the herbs. After he finishes you see 3 piles of colored metallic powder that appear to be red, yellow, and blue..";
next;
misceffect sfx_magic_transmute;
mes "[Orum]";
mes "\"Well if I did it right.. These three powders are hopefully the key to getting past these barriers!\"";
next;
mes "[Orum]";
mes "\"I'm weary, I must take some time to rest. Why don't you go ahead and experiment with these powders on that torch and let me know if you figure what they have to do with it.\"";
getitem "RedPowder", @BT_REWARDCOUNT;
getitem "YellowPowder", @BT_REWARDCOUNT;
getitem "BluePowder", @BT_REWARDCOUNT;
set OrumQuest, 8;
close;
L_Missing_Materials_More:
mes "Orum carefully looks over all of the items then squints his eyes at you..";
next;
mes "[Orum]";
mes "\"You really enjoy playing games with Warics life, don't you! Come back when you have ALL of the items I told you.\"";
close;
L_Finish_Up:
mes "Orum seems to be sitting around doing nothing as you approach.";
next;
mes "[Orum]";
mes "\"Did you find a way past any of the barriers yet?\"";
next;
menu
"No, I'm still not sure how..", L_Explain_Torches_More,
"I need more of that powder.", L_More_Powder,
"I'm still trying..", -;
mes "[Orum]";
mes "\"Excellent! Let me know when you've made any progress.\"";
close;
L_Explain_Torches_More:
mes "[Orum]";
mes "\"Most of the barriers here have a certain color radiating from them and so do the torches. The torches seem to react with this powder so maybe we have to make these torches turn a certain color in order to lower the barriers.\"";
next;
mes "[Orum]";
mes "\"It seems that the powders are only in these 3 colors, so you may have to experiment a bit to get the colors right.\"";
next;
mes "[Orum]";
mes "\"Also while looking around I saw that behind one of the barriers was a cave. Maybe Waric is in there.. we should try to get that barrier dropped.\"";
close;
L_More_Powder:
mes "[Orum]";
mes "\"You really used up that powder fast.. Luckily I can make more as long as you can bring me those materials again.\"";
next;
menu
"I have them right here!", L_More_Powder_Make,
"Hmmm.. what are they again?", L_List_Materials_More,
"I'll go get those for you..", -;
mes "[Orum]";
mes "\"You better not waste any time gathering those materials!\"";
close;
L_More_Powder_Make:
if (countitem("IronPowder") < @BT_IRONPOWDER ||
countitem("PileOfAsh") < @BT_PILESOFASH ||
countitem("GambogeHerb") < @BT_HERBS ||
countitem("AlizarinHerb") < @BT_HERBS ||
countitem("CobaltHerb") < @BT_HERBS)
goto L_Missing_Materials_More;
delitem "IronPowder", @BT_IRONPOWDER;
delitem "PileOfAsh", @BT_PILESOFASH;
delitem "GambogeHerb", @BT_HERBS;
delitem "AlizarinHerb", @BT_HERBS;
delitem "CobaltHerb", @BT_HERBS;
mes "[Orum]";
mes "\"Hmm all of the items appear to be here.. Give me a moment to make that powder for you.\"";
next;
mes "Orum begins chanting the same words as he did when he made the powder before.. He seems to be quicker at it this time..";
misceffect sfx_magic_transmute;
next;
mes "[Orum]";
mes "\"Here you are. And try to conserve this time! The more powder I have to make, the more time and resources we use up that we could be using to save Waric!\"";
getitem "RedPowder", @BT_REWARDCOUNT;
getitem "YellowPowder", @BT_REWARDCOUNT;
getitem "BluePowder", @BT_REWARDCOUNT;
close;
L_Finished_Up:
mes "As you approch you think you see Orum rolling his eyes.. maybe you're imagining it..";
next;
mes "[Orum]";
mes "\"I hope you finally dropped that barrier we need to get past!\"";
next;
menu
"Actually.. I have!", L_Enter_Cavern,
"I need more of that powder.", L_More_Powder,
"Cut me some slack! I'm working on it!", -;
mes "[Orum]";
mes "\"Just hurry it up! Warics life is on the line here!\"";
close;
L_Enter_Cavern:
if (OrumQuest >= 10) goto L_Ready_Cavern;
mes "Orum heads to the barrier then gives you a look as if he does not believe you before walking forward..";
next;
mes "He is suddenly thrown against the wall behind him! Angered, he gets up, brushes himself off, and heads back to the entrance without speaking.";
close;
L_Ready_Cavern:
// you should not get that twice ;)
if (OrumQuest == 12) goto L_Got_Reward;
mes "Orum heads to the barrier then gives you a look as if he does not believe you before walking forward..";
next;
mes "He makes it through without any problems and grins.";
next;
mes "[Orum]";
mes "\"Very good work you have done! Please take this for your efforts. It has helped me in a bind.\"";
next;
getexp @EXP_BREAK_BARRIERS, 0;
getitem "CandleHelmet", 1;
mes "You receive the Candle Helmet";
next;
mes "\"You've done enough here to help. I will go the rest of the way alone so that your life is not endangered.. You must promise me not to go any further!\"";
next;
menu
"Sure, I promise!", -,
"I thought this would never be over!", -;
mes "[Orum]";
mes "\"Well I guess this is farewell!\"";
set OrumQuest, 12;
close;
L_Got_Reward:
mes "\"You've done enough here to help. I will go the rest of the way alone so that your life is not endangered..\"";
close;
}