EN4_PRC8/_module/nss/rd_quests.nss
Jaysyn904 b464d8da05 Initial Commit
Initial Commit [v1.32PRC8]
2025-04-03 13:38:45 -04:00

791 lines
38 KiB
Plaintext

#include "rd_misc"
int GetQuest0(object oPC);
int GetQuest1(object oPC);
int GetQuest2(object oPC);
int GetQuest3(object oPC);
int GetItemQuest1(object oPC);
int GetItemQuest2(object oPC);
int GetItemQuest3(object oPC);
int GetItemQuest4(object oPC);
int GetItemQuest5(object oPC);
int GetItemQuest6(object oPC);
int GetItemQuest7(object oPC);
int GetItemQuest8(object oPC);
void DebugQuest(object oPC);
//iType1 = Camp
//iType2 = Camp w/ item
//iType3 = Creatures
//iType4 = Creatures w/ item
//iType5 = Delivery
//iType6 = Dungeon Camp
//iType7 = Dungeon Camp w/ item
//iType8 = Escort
int GetQuest0(object oPC)
{
int iQuestStepType;
SetPartyInt(oPC,"QuestSteps",1);
iQuestStepType = 1;
return iQuestStepType;
}
int GetQuest1(object oPC)
{
int iQuestStepType;
SetPartyInt(oPC,"QuestSteps",4);
iQuestStepType = 3;
SetPartyString(oPC,"QuestStep1Response","Thank you, but I need more of your help...");
if (Random(2)==0)
{
SetPartyInt(oPC,"QuestStep2",4);
SetPartyString(oPC,"QuestStep2Item","en4_letter1");
SetPartyString(oPC,"QuestStep2Mob","REPEAT");
SetPartyString(oPC,"QuestStep2Token111","It seems they were not alone and I need you to take care of this continuing menace. Look for anything that will give a clue to their intentions.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
SetPartyString(oPC,"QuestStep2Response","This is very interesting indeed. It seems I need your help once again.");
if (Random(2)==0)
{
SetPartyInt(oPC,"QuestStep3",5);
SetPartyString(oPC,"QuestStep3Item","REPEAT");
SetPartyString(oPC,"QuestStep3Token111","I am unable to read this letter, but I feel it contains important information.");
SetPartyString(oPC,"QuestStep3Token112","REPEAT");
SetPartyString(oPC,"QuestStep3Response","Interesting, very interesting indeed. It seems your services are once again in need...");
if (Random(2)==0)
{
SetPartyInt(oPC,"QuestStep4",1);
SetPartyString(oPC,"QuestStep4Token111","The letter talks of a camp full of the enemy.");
SetPartyString(oPC,"QuestStep4Token112","REPEAT");
SetPartyString(oPC,"QuestStep4Mob","REPEAT");
} else {
SetPartyInt(oPC,"QuestStep4",6);
SetPartyString(oPC,"QuestStep4Token111","The letter talks of a camp full of the enemy.");
SetPartyString(oPC,"QuestStep4Token112","REPEAT");
SetPartyString(oPC,"QuestStep4Mob","REPEAT");
}
} else {
SetPartyInt(oPC,"QuestSteps",3);
SetPartyInt(oPC,"QuestStep3",1);
SetPartyString(oPC,"QuestStep3Token111","The letter talks of a camp full of the enemy.");
SetPartyString(oPC,"QuestStep3Token112","REPEAT");
SetPartyString(oPC,"QuestStep3Mob","REPEAT");
}
} else {
SetPartyInt(oPC,"QuestSteps",2);
SetPartyInt(oPC,"QuestStep2",1);
SetPartyString(oPC,"QuestStep2Token111","It seems they were not alone, there exists a whole camp full of the enemy.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
SetPartyString(oPC,"QuestStep2Mob","REPEAT");
}
return iQuestStepType;
}
int GetQuest2(object oPC)
{
int iQuestStepType;
SetPartyInt(oPC,"QuestSteps",2);
iQuestStepType = 5;
SetPartyString(oPC,"QuestStep1Item","en4_letter1");
SetPartyString(oPC,"QuestStep1Response","This is very interesting indeed. It seems I need your help.");
if (Random(2)==0)
{
SetPartyInt(oPC,"QuestStep2",3);
SetPartyString(oPC,"QuestStep2Token111","This letter informs me of a possible menace spotted in the nearby area.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
if (Random(2)==0)
{
SetPartyInt(oPC,"QuestSteps",3);
SetPartyString(oPC,"QuestStep2Response","Very good, but it seems I need more of your help.");
SetPartyInt(oPC,"QuestStep3",1);
SetPartyString(oPC,"QuestStep3Token111","More of the creatures have been spotted in the area.");
SetPartyString(oPC,"QuestStep3Token112","REPEAT");
SetPartyString(oPC,"QuestStep3Mob","REPEAT");
}
} else {
SetPartyInt(oPC,"QuestStep2",1);
SetPartyString(oPC,"QuestStep2Token111","This letter informs me of a possible menace spotted in the nearby area.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
}
return iQuestStepType;
}
int GetQuest3(object oPC)
{
int iQuestStepType;
SetPartyInt(oPC,"QuestSteps",2);
SetPartyString(oPC,"QuestStep1Escort","en4_agent1");
iQuestStepType = 8;
SetPartyString(oPC,"QuestStep1Response","This is very interesting indeed. It seems I need your help.");
if (Random(2)==0)
{
SetPartyInt(oPC,"QuestStep2",3);
SetPartyString(oPC,"QuestStep2Token111","The agent informs me of a possible menace spotted in the nearby area.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
if (Random(2)==0)
{
SetPartyInt(oPC,"QuestSteps",3);
SetPartyInt(oPC,"QuestStep3",3);
SetPartyString(oPC,"QuestStep2Response","Very good, but it seems I need more of your help.");
SetPartyString(oPC,"QuestStep3Token111","More of the creatures have been spotted in the area.");
SetPartyString(oPC,"QuestStep3Token112","REPEAT");
SetPartyString(oPC,"QuestStep3Mob","REPEAT");
if (Random(2)==0)
{
if (Random(3)==0)
{
SetPartyInt(oPC,"QuestSteps",4);
SetPartyInt(oPC,"QuestStep4",6);
SetPartyString(oPC,"QuestStep3Response","Well done, but it seems I need your help once again...");
SetPartyString(oPC,"QuestStep4Token111","We have found where they are coming from and need your help in clearing them out.");
SetPartyString(oPC,"QuestStep4Token112","REPEAT");
SetPartyString(oPC,"QuestStep4Mob","REPEAT");
} else {
SetPartyInt(oPC,"QuestSteps",4);
SetPartyInt(oPC,"QuestStep4",1);
SetPartyString(oPC,"QuestStep3Response","Well done, but it seems I need your help once again...");
SetPartyString(oPC,"QuestStep4Token111","We have found where they are coming from and need your help in clearing them out.");
SetPartyString(oPC,"QuestStep4Token112","REPEAT");
SetPartyString(oPC,"QuestStep4Mob","REPEAT");
}
}
} else {
SetPartyInt(oPC,"QuestSteps",3);
SetPartyString(oPC,"QuestStep2Response","Very good, but it seems I need more of your help.");
SetPartyInt(oPC,"QuestStep3",1);
SetPartyString(oPC,"QuestStep3Token111","More of the creatures have been spotted in the area.");
SetPartyString(oPC,"QuestStep3Token112","REPEAT");
SetPartyString(oPC,"QuestStep3Mob","REPEAT");
}
} else {
if (Random(2) == 0)
{
SetPartyInt(oPC,"QuestStep2",1);
SetPartyString(oPC,"QuestStep2Token111","The agent informs me of a possible menace spotted in the nearby area.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
} else {
SetPartyInt(oPC,"QuestStep2",6);
SetPartyString(oPC,"QuestStep2Token111","The agent informs me of a possible menace spotted in the nearby area.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
}
}
return iQuestStepType;
}
int GetItemQuest1(object oPC)
{
int iQuestStepType;
SetPartyInt(oPC,"QuestSteps",3);
iQuestStepType = 4;
SetPartyString(oPC,"QuestStep1Token111","I have just learned something that needs investigating. A band of creatures in the area might have an item of interest on them.");
SetPartyString(oPC,"QuestStep1Token112","REPEAT");
SetPartyString(oPC,"QuestStep1Token113","When you are done with them, search the bodies for anything out of the ordinary.");
SetPartyString(oPC,"QuestStep1Item","en3_scroll");
SetPartyString(oPC,"QuestStep1Response","Ah, this is very interesting.");
SetPartyString(oPC,"QuestStep1Reply","What is it?");
SetPartyInt(oPC,"QuestStep1ItemUnknown",1);
if (Random(2) == 0)
{
SetPartyInt(oPC,"QuestStep2",4);
SetPartyString(oPC,"QuestStep2Item","REPEAT");
SetPartyString(oPC,"QuestStep2Token111","It is part of a scroll. I am not sure what the spell is for, but I would rather not have it fall into the wrong hands. I have a feeling we might find a piece of it in the hands of a [101] spotted in the area.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
SetPartyString(oPC,"QuestStep2Response","Excellent, and I just discovered where the last piece is being kept.");
SetPartyString(oPC,"QuestStep2Reply","Where?");
if (Random(2) == 0)
{
SetPartyInt(oPC,"QuestStep3",4);
SetPartyString(oPC,"QuestStep3Item","REPEAT");
SetPartyString(oPC,"QuestStep3Token111","It is nearby, but it is guarded by a [101].");
SetPartyString(oPC,"QuestStep3Token112","REPEAT");
} else {
SetPartyInt(oPC,"QuestStep3",2);
SetPartyString(oPC,"QuestStep3Item","REPEAT");
SetPartyString(oPC,"QuestStep3Token111","It is nearby, but it is guarded by a camp of [101].");
SetPartyString(oPC,"QuestStep3Token112","REPEAT");
}
} else {
SetPartyInt(oPC,"QuestSteps",4);
SetPartyInt(oPC,"QuestStep2",5);
SetPartyString(oPC,"QuestStep2Item","REPEAT");
SetPartyString(oPC,"QuestStep2Token111","I am not sure, but I believe it is a spell.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
SetPartyString(oPC,"QuestStep2Response","Interesting, very interesting indeed.");
SetPartyString(oPC,"QuestStep2Reply","What is it?");
if (Random(2) == 0)
{
SetPartyInt(oPC,"QuestStep3",4);
SetPartyString(oPC,"QuestStep3Item","REPEAT");
SetPartyString(oPC,"QuestStep3Token111","It is part of a scroll. I am not sure what the spell is for, but I would rather not have it fall into the wrong hands. I have a feeling I might know where you might find another piece of it. A [101] was spotted in the area acting very suspiciously.");
SetPartyString(oPC,"QuestStep3Token112","REPEAT");
SetPartyString(oPC,"QuestStep3Response","Excellent, and I just discovered where the last piece is being kept.");
SetPartyString(oPC,"QuestStep3Reply","Where?");
if (Random(2) == 0)
{
SetPartyInt(oPC,"QuestStep4",4);
SetPartyString(oPC,"QuestStep4Item","REPEAT");
SetPartyString(oPC,"QuestStep4Token111","It is nearby, but it is guarded by a [101].");
SetPartyString(oPC,"QuestStep4Token112","REPEAT");
} else {
SetPartyInt(oPC,"QuestStep4",2);
SetPartyString(oPC,"QuestStep4Item","REPEAT");
SetPartyString(oPC,"QuestStep4Token111","It is nearby, but it is guarded by a camp of [101].");
SetPartyString(oPC,"QuestStep4Token112","REPEAT");
}
} else {
SetPartyInt(oPC,"QuestStep3",2);
SetPartyString(oPC,"QuestStep3Item","REPEAT");
SetPartyString(oPC,"QuestStep3Token111","It is part of a scroll. I am not sure what the spell is for, but I would rather not have it fall into the wrong hands. I have a feeling I might know where you might find another piece of it. A [101] was spotted in the area acting very suspiciously.");
SetPartyString(oPC,"QuestStep3Token112","REPEAT");
SetPartyString(oPC,"QuestStep3Response","Excellent, and I just discovered where the last piece is being kept.");
SetPartyString(oPC,"QuestStep3Reply","Where?");
if (Random(2) == 0)
{
SetPartyInt(oPC,"QuestStep4",2);
SetPartyString(oPC,"QuestStep4Item","REPEAT");
SetPartyString(oPC,"QuestStep4Token111","It is nearby, but it is guarded by a camp of [101].");
SetPartyString(oPC,"QuestStep4Token112","REPEAT");
} else {
SetPartyInt(oPC,"QuestStep4",7);
SetPartyString(oPC,"QuestStep4Item","REPEAT");
SetPartyString(oPC,"QuestStep4Token111","It is nearby, but it is guarded by a camp of [101].");
SetPartyString(oPC,"QuestStep4Token112","REPEAT");
}
}
}
//DebugQuest(oPC);
return iQuestStepType;
}
int GetItemQuest2(object oPC)
{
int iQuestStepType;
SetPartyInt(oPC,"QuestSteps",2);
if (Random(2)==0)
{
iQuestStepType = 2;
SetPartyString(oPC,"QuestStep1Token111","I have just learned something that needs investigating. A band of [101] in the area might have an item of interest on them.");
SetPartyString(oPC,"QuestStep1Token112","REPEAT");
SetPartyString(oPC,"QuestStep1Token113","When you are done with them, search the bodies for anything out of the ordinary.");
SetPartyString(oPC,"QuestStep1Item","en3_book");
SetPartyString(oPC,"QuestStep1Response","Ah, this is very interesting.");
SetPartyString(oPC,"QuestStep1Reply","What is it?");
SetPartyInt(oPC,"QuestStep1ItemUnknown",1);
if (Random(2)==0)
{
SetPartyInt(oPC,"QuestStep2",2);
SetPartyString(oPC,"QuestStep2Item","en3_papers2");
SetPartyString(oPC,"QuestStep2Token111","It is an ancient tome, but it is missing some important pages. There are some [101] in the area, perhaps they have the missing pages.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
} else {
SetPartyInt(oPC,"QuestStep2",4);
SetPartyString(oPC,"QuestStep2Item","en3_papers2");
SetPartyString(oPC,"QuestStep2Token111","It is an ancient tome, but it is missing some important pages. A [101] was recently spotted in the area, perhaps the [101] has the missing pages.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
}
} else {
iQuestStepType = 4;
SetPartyString(oPC,"QuestStep1Token111","I have just learned something that needs investigating. A [101] was spotted in the area that might have an item of interest.");
SetPartyString(oPC,"QuestStep1Token112","REPEAT");
SetPartyString(oPC,"QuestStep1Token113","When you are done with them, search the bodies for anything out of the ordinary.");
SetPartyString(oPC,"QuestStep1Item","en3_book");
SetPartyString(oPC,"QuestStep1Response","Ah, this is very interesting.");
SetPartyString(oPC,"QuestStep1Reply","What is it?");
SetPartyInt(oPC,"QuestStep1ItemUnknown",1);
if (Random(2)==0)
{
SetPartyInt(oPC,"QuestStep2",2);
SetPartyString(oPC,"QuestStep2Item","en3_papers2");
SetPartyString(oPC,"QuestStep2Token111","It is an ancient tome, but it is missing some important pages. There are some [101] in the area, perhaps they have the missing pages.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
} else {
SetPartyInt(oPC,"QuestStep2",4);
SetPartyString(oPC,"QuestStep2Item","en3_papers2");
SetPartyString(oPC,"QuestStep2Token111","It is an ancient tome, but it is missing some important pages. A [101] was recently spotted in the area, perhaps the [101] has the missing pages.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
}
}
//DebugQuest(oPC);
return iQuestStepType;
}
int GetItemQuest3(object oPC)
{
int iQuestStepType;
int iRandom;
string sItem;
string sToken;
iRandom = Random(3)+1;
switch (iRandom)
{
case 1: sItem = "en3_evilamulet";
sToken = "The letter is written in an ancient script and speaks of an amulet blessed with evil powers. Some [101] were spotted in the area and one of my agents noticed peculiar behavior from them.";
break;
case 2: sItem = "en3_glowrod";
sToken = "The letter is written an ancient script and speaks of a glowing rod with strange powers. Some [101] were spotted in the area and one of my agents noticed peculiar behavior from them.";
break;
case 3: sItem = "en4_silver";
sToken = "The letter is written in a rare language and speaks of the transfer of a bar of enchanted silver. Some [101] were spotted in the area and if they have gotten their hands on the silver they could become a force to be feared.";
break;
}
SetPartyInt(oPC,"QuestSteps",2);
if (Random(2)==0)
{
iQuestStepType = 2;
SetPartyString(oPC,"QuestStep1Token111","I have just learned something that needs investigating. Some [101] were spotted in the area might have an item of interest on them.");
SetPartyString(oPC,"QuestStep1Token112","REPEAT");
SetPartyString(oPC,"QuestStep1Token113","When you are done with them, search the bodies for anything out of the ordinary.");
SetPartyString(oPC,"QuestStep1Item","en4_letter2");
SetPartyString(oPC,"QuestStep1Response","Ah, this is very interesting.");
SetPartyString(oPC,"QuestStep1Reply","What is it?");
SetPartyInt(oPC,"QuestStep1ItemUnknown",1);
} else {
iQuestStepType = 4;
SetPartyString(oPC,"QuestStep1Token111","I have just learned something that needs investigating. A [101] was spotted in the area that might have an item of interest.");
SetPartyString(oPC,"QuestStep1Token112","REPEAT");
SetPartyString(oPC,"QuestStep1Token113","When you are done with them, search the bodies for anything out of the ordinary.");
SetPartyString(oPC,"QuestStep1Item","en4_letter2");
SetPartyString(oPC,"QuestStep1Response","Ah, this is very interesting.");
SetPartyString(oPC,"QuestStep1Reply","What is it?");
SetPartyInt(oPC,"QuestStep1ItemUnknown",1);
}
if (Random(2)==0)
{
if (Random(2)==0)
{
SetPartyInt(oPC,"QuestStep2", 4);
SetPartyString(oPC,"QuestStep2Token111",sToken);
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
SetPartyString(oPC,"QuestStep2Item",sItem);
} else {
SetPartyInt(oPC,"QuestStep2", 7);
SetPartyString(oPC,"QuestStep2Token111",sToken);
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
SetPartyString(oPC,"QuestStep2Item",sItem);
}
} else {
SetPartyString(oPC,"QuestStep1Response","Hmmm...");
SetPartyInt(oPC,"QuestSteps",3);
SetPartyInt(oPC,"QuestStep2",5);
SetPartyString(oPC,"QuestStep2Item","REPEAT");
SetPartyString(oPC,"QuestStep2Token111","I am not sure, it is in a script I cannot read.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
SetPartyString(oPC,"QuestStep2Response","Interesting, very interesting indeed.");
SetPartyString(oPC,"QuestStep2Reply","What is it?");
if (Random(2)==0)
{
SetPartyInt(oPC,"QuestStep3", 4);
SetPartyString(oPC,"QuestStep3Token111",sToken);
SetPartyString(oPC,"QuestStep3Token112","REPEAT");
SetPartyString(oPC,"QuestStep3Item",sItem);
} else {
SetPartyInt(oPC,"QuestStep3", 7);
SetPartyString(oPC,"QuestStep3Token111",sToken);
SetPartyString(oPC,"QuestStep3Token112","REPEAT");
SetPartyString(oPC,"QuestStep3Item",sItem);
}
}
return iQuestStepType;
}
int GetItemQuest4(object oPC)
{
int iQuestStepType;
SetPartyInt(oPC,"QuestSteps",4);
if (Random(2)==0)
{
iQuestStepType = 2;
SetPartyString(oPC,"QuestStep1Token111","I have just learned something that needs investigating. Some [101] were spotted in the area might have an item of interest on them.");
SetPartyString(oPC,"QuestStep1Token112","REPEAT");
SetPartyString(oPC,"QuestStep1Token113","When you are done with them, search the bodies for anything out of the ordinary.");
SetPartyString(oPC,"QuestStep1Item","en4_orb");
SetPartyString(oPC,"QuestStep1Response","Hmmm...");
SetPartyString(oPC,"QuestStep1Reply","What is it?");
SetPartyInt(oPC,"QuestStep1ItemUnknown",1);
} else {
iQuestStepType = 4;
SetPartyString(oPC,"QuestStep1Token111","I have just learned something that needs investigating. A [101] was spotted in the area that might have an item of interest.");
SetPartyString(oPC,"QuestStep1Token112","REPEAT");
SetPartyString(oPC,"QuestStep1Token113","When you are done with them, search the bodies for anything out of the ordinary.");
SetPartyString(oPC,"QuestStep1Item","en4_orb");
SetPartyString(oPC,"QuestStep1Response","Hmmm...");
SetPartyString(oPC,"QuestStep1Reply","What is it?");
SetPartyInt(oPC,"QuestStep1ItemUnknown",1);
}
SetPartyInt(oPC,"QuestStep2",5);
SetPartyString(oPC,"QuestStep2Item","REPEAT");
SetPartyString(oPC,"QuestStep2Token111","I am not sure. It definately contains some powerful magic. We need to find out more about this orb.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
SetPartyString(oPC,"QuestStep2Response","An orb you say? Here, let me take a look at it.");
SetPartyString(oPC,"QuestStep2Reply","What does it do?");
if (Random(2)==0)
{
SetPartyInt(oPC,"QuestStep3", 2);
SetPartyString(oPC,"QuestStep3Token111","I am not sure, but I think I know how we can find out. Some [101] are in the area and my agents tell me they are carrying some type of document that they guard. Eliminate the [101] and bring me this document, it might be related to the orb.");
SetPartyString(oPC,"QuestStep3Token112","REPEAT");
SetPartyString(oPC,"QuestStep3Item","en4_letter3");
SetPartyString(oPC,"QuestStep3Response","Ahhh...");
SetPartyString(oPC,"QuestStep3Reply","What does it say?");
} else {
SetPartyInt(oPC,"QuestStep3", 4);
SetPartyString(oPC,"QuestStep3Token111","I am not sure, but I think I know how we can find out. A [101] was spotted in the area carrying some type of document. Eliminate the [101] and bring me this document, it might be related to the orb.");
SetPartyString(oPC,"QuestStep3Token112","REPEAT");
SetPartyString(oPC,"QuestStep3Item","en4_letter3");
SetPartyString(oPC,"QuestStep3Response","Ahhh...");
SetPartyString(oPC,"QuestStep3Reply","What does it say?");
}
if (Random(2)==0)
{
SetPartyInt(oPC,"QuestStep4", 2);
SetPartyString(oPC,"QuestStep4Token111","It doesn't give any specific information about the orb, but it speaks of an ancient tome that details what the device does. The tome is guarded by some [101] though, so tread carefully.");
SetPartyString(oPC,"QuestStep4Token112","REPEAT");
SetPartyString(oPC,"QuestStep4Item","en4_tome1");
} else {
SetPartyInt(oPC,"QuestStep4", 7);
SetPartyString(oPC,"QuestStep4Token111","It doesn't give any specific information about the orb, but it speaks of an ancient tome that details what the device does. The tome is guarded by some [101] though, so tread carefully.");
SetPartyString(oPC,"QuestStep4Token112","REPEAT");
SetPartyString(oPC,"QuestStep4Item","en4_tome1");
}
return iQuestStepType;
}
int GetItemQuest5(object oPC)
{
int iQuestStepType;
SetPartyInt(oPC,"QuestSteps",2);
iQuestStepType = 4;
SetPartyString(oPC,"QuestStep1Token111","I have received news that some slavers were spotted in the area. I fear if left to their own they will take prisoners.");
SetPartyString(oPC,"QuestStep1Token112","REPEAT");
SetPartyString(oPC,"QuestStep1Token113","When you are done with them, search the bodies for anything out of the ordinary.");
SetPartyString(oPC,"QuestStep1Item","en4_letter1");
SetPartyString(oPC,"QuestStep1Mob","slaver");
SetPartyString(oPC,"QuestStep1Response","Hmmm...");
SetPartyString(oPC,"QuestStep1Reply","What is it?");
SetPartyInt(oPC,"QuestStep2",1);
SetPartyString(oPC,"QuestStep2Token111","The letter is an order for slaves. It specifies where they are to be delivered. There is, no doubt, many slavers there. We need them eliminated as quickly as possible.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
SetPartyString(oPC,"QuestStep2Mob","slaver");
return iQuestStepType;
}
int GetItemQuest6(object oPC)
{
int iQuestStepType;
SetPartyInt(oPC,"QuestSteps",5);
iQuestStepType = 4;
SetPartyString(oPC,"QuestStep1Token111","I have just learned something that needs investigating. A [101] was spotted in the area that might have an item of interest.");
SetPartyString(oPC,"QuestStep1Token112","REPEAT");
SetPartyString(oPC,"QuestStep1Token113","When you are done with them, search the bodies for anything out of the ordinary.");
SetPartyString(oPC,"QuestStep1Item","en4_map");
SetPartyString(oPC,"QuestStep1Response","A map, huh? It looks like a treasure map");
SetPartyString(oPC,"QuestStep1Reply","Where does it lead?");
SetPartyInt(oPC,"QuestStep1ItemUnknown",1);
SetPartyInt(oPC,"QuestStep2",5);
SetPartyString(oPC,"QuestStep2Item","REPEAT");
SetPartyString(oPC,"QuestStep2Token111","I am not sure. I think I know someone who might, though.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
SetPartyString(oPC,"QuestStep2Response","A map you say? Here, let me take a look at it.");
SetPartyString(oPC,"QuestStep2Reply","Where does it lead?");
SetPartyInt(oPC,"QuestStep3", 2);
SetPartyString(oPC,"QuestStep3Token111","The place is not far, but I have heard of some [101] hiding out there. Perhaps they are there for the treasure? Deal with them and find out what they found.");
SetPartyString(oPC,"QuestStep3Token112","REPEAT");
SetPartyString(oPC,"QuestStep3Item","en4_skull");
SetPartyString(oPC,"QuestStep3Response","A skull? That is an odd thing for a treasure map to lead to.");
SetPartyString(oPC,"QuestStep3Reply","What do you think it means?");
SetPartyInt(oPC,"QuestStep3ItemUnknown",1);
SetPartyInt(oPC,"QuestStep4",5);
SetPartyString(oPC,"QuestStep4Item","REPEAT");
SetPartyString(oPC,"QuestStep4Token111","I don't know. I need you to take this to someone who might know.");
SetPartyString(oPC,"QuestStep4Token112","REPEAT");
SetPartyString(oPC,"QuestStep4Response","A skull? Let me take a look...");
SetPartyString(oPC,"QuestStep4Reply","What does it mean?");
if (Random(2)==0)
{
SetPartyInt(oPC,"QuestStep5", 2);
SetPartyString(oPC,"QuestStep5Token111","I think I know. Some [101] were spotted in the area carrying a metal head. We didn't know what they were planning to do with it, but now it is obvious. They are working on some type of golem. I need you to go retrieve the metal head, without it or the skull their work will be for naught.");
SetPartyString(oPC,"QuestStep5Token112","REPEAT");
SetPartyString(oPC,"QuestStep5Item","en4_head");
} else {
SetPartyInt(oPC,"QuestStep5", 4);
SetPartyString(oPC,"QuestStep5Token111","I think I know. Some [101] were spotted in the area carrying a metal head. We didn't know what they were planning to do with it, but now it is obvious. They are working on some type of golem. I need you to go retrieve the metal head, without it or the skull their work will be for naught.");
SetPartyString(oPC,"QuestStep5Token112","REPEAT");
SetPartyString(oPC,"QuestStep5Item","en4_head");
}
return iQuestStepType;
}
int GetItemQuest7(object oPC)
{
int iQuestStepType;
SetPartyInt(oPC,"QuestSteps",4);
if (Random(2)==0)
{
iQuestStepType = 2;
SetPartyString(oPC,"QuestStep1Token111","I have just learned something that needs investigating. Some [101] were spotted in the area might have an item of interest on them.");
SetPartyString(oPC,"QuestStep1Token112","REPEAT");
SetPartyString(oPC,"QuestStep1Token113","When you are done with them, search the bodies for anything out of the ordinary.");
SetPartyString(oPC,"QuestStep1Item","en4_qring1");
SetPartyString(oPC,"QuestStep1Response","A ring, eh? This is very odd. I need a little time to study it, but I do have something for you to do in the meantime.");
SetPartyString(oPC,"QuestStep1Reply","What's that?");
SetPartyInt(oPC,"QuestStep1ItemUnknown",1);
} else {
iQuestStepType = 4;
SetPartyString(oPC,"QuestStep1Token111","I have just learned something that needs investigating. A [101] was spotted in the area that might have an item of interest.");
SetPartyString(oPC,"QuestStep1Token112","REPEAT");
SetPartyString(oPC,"QuestStep1Token113","When you are done with them, search the bodies for anything out of the ordinary.");
SetPartyString(oPC,"QuestStep1Item","en4_qring1");
SetPartyString(oPC,"QuestStep1Response","A ring, eh? This is very odd. I need a little time to study it, but I do have something for you to do in the meantime.");
SetPartyString(oPC,"QuestStep1Reply","What's that?");
SetPartyInt(oPC,"QuestStep1ItemUnknown",1);
}
if (Random(2)==0)
{
SetPartyInt(oPC,"QuestStep2",1);
SetPartyString(oPC,"QuestStep2Token111","Some [101] were spotted in the area. I don't know if they have anthing to do with the ring, but we need them eliminated.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
SetPartyString(oPC,"QuestStep2Token113","When you are done with them, return to me and perhaps I'll have learned more about this ring.");
SetPartyString(oPC,"QuestStep2Response","You've done well. I've been studying the ring in your absense, but have learned nothing new. I need you to take it to someone that might be able to figure out more.");
SetPartyString(oPC,"QuestStep2Reply","Who's that?");
} else {
SetPartyInt(oPC,"QuestStep2",3);
SetPartyString(oPC,"QuestStep2Token111","A [101] and some of it's companions were spotted in the area. I don't know if they have anthing to do with the ring, but we need them eliminated.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
SetPartyString(oPC,"QuestStep2Token113","When you are done with them, search the bodies for anything out of the ordinary.");
SetPartyString(oPC,"QuestStep2Response","You've done well. I've been studying the ring in your absense, but have learned nothing new. I need you to take it to someone that might be able to figure out more.");
SetPartyString(oPC,"QuestStep2Reply","Who's that?");
}
SetPartyInt(oPC,"QuestStep3",5);
SetPartyString(oPC,"QuestStep3Item","REPEAT");
SetPartyString(oPC,"QuestStep3Token111","I know a simple delivery is trivial to you, but I do not have anyone else to spare at this time.");
SetPartyString(oPC,"QuestStep3Token112","REPEAT");
SetPartyString(oPC,"QuestStep3Item","en4_qring1");
SetPartyString(oPC,"QuestStep3Response","A ring you say? Here, let me take a look at it.");
SetPartyString(oPC,"QuestStep3Reply","What is it?");
SetPartyInt(oPC,"QuestStep4", 1);
SetPartyString(oPC,"QuestStep4Token111","It is the lost ring of the elves. Centuries ago, the elven prince was ambushed and this ring was believed to be lost forever. But now it has turned up. It holds great power in the right hands, and many seek it out. Some of those who seek it are in the nearby area. I need you to deal with them while I send and agent with the ring to the elves.");
SetPartyString(oPC,"QuestStep4Token112","REPEAT");
return iQuestStepType;
}
int GetItemQuest8(object oPC)
{
int iQuestStepType;
int iMinLevel;
int iSteps;
int iRandom;
string sTag;
object oArea;
oArea = GetArea(oPC);
iMinLevel = GetLocalInt(oArea,"MinimumLevel");
sTag = "drow";
if (iMinLevel<10)
{
iRandom = Random(3)+1;
switch (iRandom)
{
case 1: sTag = "orc"; break;
case 2: sTag = "goblin"; break;
case 3: sTag = "lizard"; break;
}
}
else if (iMinLevel<20)
{
iRandom = Random(6)+1;
switch (iRandom)
{
case 1: sTag = "ogre"; break;
case 2: sTag = "merc"; break;
case 3: sTag = "duergar"; break;
case 4: sTag = "drow"; break;
case 5: sTag = "minotaur"; break;
case 6: sTag = "shade"; break;
}
}
else
{
iRandom = Random(5)+1;
switch (iRandom)
{
case 1: sTag = "giant"; break;
case 2: sTag = "fiend"; break;
case 3: sTag = "duergar"; break;
case 4: sTag = "drow"; break;
case 5: sTag = "vampire"; break;
}
}
SetLocalString(oPC,"QuestAttackers",sTag);
SetLocalInt(oPC,"QuestDifficulty",2);
iSteps = Random(4)+2;
SetPartyInt(oPC,"QuestSteps",iSteps);
if (Random(2)==0)
{
iQuestStepType = 1;
SetPartyString(oPC,"QuestStep1Mob",sTag);
SetPartyString(oPC,"QuestStep1Token111","I spotted some [101] and tracked them back to a full camp of [101].");
SetPartyString(oPC,"QuestStep1Token112","REPEAT");
SetPartyString(oPC,"QuestStep1Token113","I will reward you if you can eliminate them.");
SetPartyString(oPC,"QuestStep1Response","You've done a good job. Unfortunately, the problem is more serious than I first thought.");
SetPartyString(oPC,"QuestStep1Reply","How serious?");
} else {
iQuestStepType = 3;
SetPartyString(oPC,"QuestStep1Mob",sTag);
SetPartyString(oPC,"QuestStep1Token111","I spotted a [101] and followed it, but it met up with others of its kind.");
SetPartyString(oPC,"QuestStep1Token112","REPEAT");
SetPartyString(oPC,"QuestStep1Token113","");
SetPartyString(oPC,"QuestStep1Response","You've done a good job. Unfortunately, the problem is more serious than I first thought.");
SetPartyString(oPC,"QuestStep1Reply","How serious?");
}
if (Random(2)==0)
{
SetPartyInt(oPC,"QuestStep2",1);
SetPartyString(oPC,"QuestStep2Mob",sTag);
SetPartyString(oPC,"QuestStep2Token111","It seems we may be under attack. More of the [101] have been spotted in the area. We cannot allow them to gather in strong numbers else our grip on this land might be lost.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
SetPartyString(oPC,"QuestStep2Token113","We need you to eliminate them.");
SetPartyString(oPC,"QuestStep2Response","You've done a good job. But there is more work to be done.");
SetPartyString(oPC,"QuestStep2Reply","What do you need?");
} else {
SetPartyInt(oPC,"QuestStep2",3);
SetPartyString(oPC,"QuestStep2Mob",sTag);
SetPartyString(oPC,"QuestStep2Token111","It seems we may be under attack. A [101] and some companions have been spotted in the area. We cannot allow them to gather in strong numbers else our grip on this land might be lost.");
SetPartyString(oPC,"QuestStep2Token112","REPEAT");
SetPartyString(oPC,"QuestStep2Token113","");
SetPartyString(oPC,"QuestStep2Response","You've done a good job. But there is more work to be done.");
SetPartyString(oPC,"QuestStep2Reply","What do you need?");
}
if (Random(2)==0)
{
SetPartyInt(oPC,"QuestStep3",1);
SetPartyString(oPC,"QuestStep3Mob",sTag);
SetPartyString(oPC,"QuestStep3Token111","Their forces grow strong. More of the [101] have been spotted in the area.");
SetPartyString(oPC,"QuestStep3Token112","REPEAT");
SetPartyString(oPC,"QuestStep3Token113","We need you to eliminate them.");
SetPartyString(oPC,"QuestStep3Response","You've done a good job. But there is more work to be done.");
SetPartyString(oPC,"QuestStep3Reply","What do you need?");
} else {
SetPartyInt(oPC,"QuestStep3",3);
SetPartyString(oPC,"QuestStep3Mob",sTag);
SetPartyString(oPC,"QuestStep3Token111","Their forces grow strong. A [101] and some companions have been spotted in the area.");
SetPartyString(oPC,"QuestStep3Token112","REPEAT");
SetPartyString(oPC,"QuestStep3Token113","");
SetPartyString(oPC,"QuestStep3Response","You've done a good job. But there is more work to be done.");
SetPartyString(oPC,"QuestStep3Reply","What do you need?");
}
if (Random(2)==0)
{
SetPartyInt(oPC,"QuestStep4",1);
SetPartyString(oPC,"QuestStep4Mob",sTag);
SetPartyString(oPC,"QuestStep4Token111","Their forces are growing even stronger. More of the [101] have been spotted in the area.");
SetPartyString(oPC,"QuestStep4Token112","REPEAT");
SetPartyString(oPC,"QuestStep4Token113","We need you to eliminate them.");
SetPartyString(oPC,"QuestStep4Response","You've done a good job. But there is more work to be done.");
SetPartyString(oPC,"QuestStep4Reply","What do you need?");
} else {
SetPartyInt(oPC,"QuestStep4",3);
SetPartyString(oPC,"QuestStep4Mob",sTag);
SetPartyString(oPC,"QuestStep4Token111","Their forces are growing even stronger. A [101] and some companions have been spotted in the area.");
SetPartyString(oPC,"QuestStep4Token112","REPEAT");
SetPartyString(oPC,"QuestStep4Token113","");
SetPartyString(oPC,"QuestStep4Response","You've done a good job. But there is more work to be done.");
SetPartyString(oPC,"QuestStep4Reply","What do you need?");
}
if (Random(2)==0)
{
SetPartyInt(oPC,"QuestStep5",1);
SetPartyString(oPC,"QuestStep5Mob",sTag);
SetPartyString(oPC,"QuestStep5Token111","They seem unending. More of the [101] have been spotted in the area.");
SetPartyString(oPC,"QuestStep5Token112","REPEAT");
SetPartyString(oPC,"QuestStep5Token113","We need you to eliminate them.");
SetPartyString(oPC,"QuestStep5Response","You've done a good job. But there is more work to be done.");
SetPartyString(oPC,"QuestStep5Reply","What do you need?");
} else {
SetPartyInt(oPC,"QuestStep5",3);
SetPartyString(oPC,"QuestStep5Mob",sTag);
SetPartyString(oPC,"QuestStep5Token111","They seem unending. A [101] and some companions have been spotted in the area.");
SetPartyString(oPC,"QuestStep5Token112","REPEAT");
SetPartyString(oPC,"QuestStep5Token113","");
SetPartyString(oPC,"QuestStep5Response","You've done a good job. But there is more work to be done.");
SetPartyString(oPC,"QuestStep5Reply","What do you need?");
}
return iQuestStepType;
}
void DebugQuest(object oPC)
{
int iIndex;
int iSteps;
string sQuestStep;
iSteps = GetLocalInt(oPC,"QuestSteps");
iIndex = 0;
while (iIndex < iSteps)
{
iIndex++;
sQuestStep = "QuestStep" + IntToString(iIndex);
SendMessageToPC(oPC,IntToString(iIndex) + " : " + IntToString(GetLocalInt(oPC,sQuestStep)));
SendMessageToPC(oPC,IntToString(iIndex) + "Token111 : " + GetLocalString(oPC,sQuestStep + "Token111"));
SendMessageToPC(oPC,IntToString(iIndex) + "Token112 : " + GetLocalString(oPC,sQuestStep + "Token112"));
SendMessageToPC(oPC,IntToString(iIndex) + "Token113 : " + GetLocalString(oPC,sQuestStep + "Token113"));
SendMessageToPC(oPC,IntToString(iIndex) + "Response : " + GetLocalString(oPC,sQuestStep + "Response"));
SendMessageToPC(oPC,IntToString(iIndex) + "Reply : " + GetLocalString(oPC,sQuestStep + "Reply"));
SendMessageToPC(oPC,IntToString(iIndex) + "Item : " + GetLocalString(oPC,sQuestStep + "Item"));
SendMessageToPC(oPC,IntToString(iIndex) + "Mob : " + GetLocalString(oPC,sQuestStep + "Mob"));
SendMessageToPC(oPC,IntToString(iIndex) + "Escort : " + GetLocalString(oPC,sQuestStep + "Escort"));
}
}