EN4_PRC8/_module/nss/qst_cq8_setup.nss

86 lines
2.1 KiB
Plaintext
Raw Permalink Normal View History

#include "rd_questinc"
void main()
{
object oPC;
object oBoss;
object oVillager;
int iVariance;
int iLevel;
int iAdjustedLevel;
int iRandom;
string sTokenLine;
string sTag;
oPC = GetPCSpeaker();
iLevel = GetHitDice(oPC);
iAdjustedLevel = GetAdjustedLevel(oPC);
iAdjustedLevel = ZoneLevel(GetArea(oPC),iAdjustedLevel);
SetPartyInt(oPC,"QuestStep",1);
SetPartyString(oPC,"QuestGiver",GetTag(OBJECT_SELF));
SetPartyInt(oPC,"Quest",1);
SetPartyInt(oPC,"QuestType",2);
SetCustomToken(111, "");
SetCustomToken(112, "");
SetCustomToken(113, "");
SetToken(oPC,OBJECT_SELF,103,GetName(OBJECT_SELF));
if (iAdjustedLevel < 11)
{
iRandom = Random(4)+1;
switch (iRandom)
{
case 1: sTag = "bandit"; break;
case 2: sTag = "goblin"; break;
case 3: sTag = "orc"; break;
case 4: sTag = "slaver"; break;
}
}
else if (iAdjustedLevel < 21)
{
iRandom = Random(3)+1;
switch (iRandom)
{
case 1: sTag = "merc"; break;
case 2: sTag = "ogre"; break;
case 3: sTag = "slaver"; break;
}
}
else
{
iRandom = Random(3)+1;
switch (iRandom)
{
case 1: sTag = "drow"; break;
case 2: sTag = "duergar"; break;
case 3: sTag = "slaver"; break;
}
}
oBoss = GetSpecificCamp(oPC,OBJECT_SELF,"P2",1,sTag);
oVillager = GetObjectByTag("p2_villager1");
DestroyObject(oVillager);
oVillager = GetObjectByTag("p2_villager2");
DestroyObject(oVillager);
oVillager = GetObjectByTag("p2_villager3");
DestroyObject(oVillager);
CreateObject(OBJECT_TYPE_CREATURE,"p2_villager1",GetLocation(GetObjectByTag("P2_1")));
CreateObject(OBJECT_TYPE_CREATURE,"p2_villager2",GetLocation(GetObjectByTag("P2_2")));
CreateObject(OBJECT_TYPE_CREATURE,"p2_villager3",GetLocation(GetObjectByTag("P2_3")));
sTokenLine = "I need to save some prisoners from some " + GetToken(101) + ".";
sTokenLine = FixTokenLine(sTokenLine,"REPEAT");
SetToken(oPC,OBJECT_SELF,111,sTokenLine);
RemoveJournalQuestEntry("jDelivery",oPC);
RemoveJournalQuestEntry("jCamp",oPC);
AddJournalQuestEntry("jCamp",1,oPC);
}