48 lines
1.6 KiB
Plaintext
48 lines
1.6 KiB
Plaintext
///////////////////////////////////////////////////////////////////////////////
|
|
// area_visit - Controls exploration tracking
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
void main()
|
|
{
|
|
object oMod=GetModule();
|
|
object oE=GetEnteringObject();
|
|
object oArea=GetArea(oE);
|
|
string sID;
|
|
int nN;
|
|
if (GetIsPC(oE)==TRUE&&GetIsDM(oE)==FALSE)
|
|
{ // possible setting
|
|
sID=GetLocalString(oE,"sTeamID");
|
|
if (GetLocalInt(oArea,"bExplored"+sID)==FALSE)
|
|
{ // explore this area
|
|
SetLocalInt(oArea,"bExplored"+sID,TRUE);
|
|
SetLocalInt(oE,"bExplored"+GetTag(oArea),TRUE);
|
|
SendMessageToPC(oE,"You've discovered a new area for your team!");
|
|
nN=GetLocalInt(oE,"nAreasDiscovered");
|
|
nN++;
|
|
SetLocalInt(oE,"nAreasDiscovered",nN);
|
|
nN=GetLocalInt(oMod,"nTeamExploration"+sID);
|
|
nN++;
|
|
SetLocalInt(oMod,"nTeamExploration"+sID,nN);
|
|
float fXP=GetLocalFloat(oMod,"fXPMultiplier");
|
|
int nXP=3;
|
|
int nMult=FloatToInt(fXP);
|
|
if (nMult==0) nMult=6;
|
|
nXP=nXP*nMult;
|
|
GiveXPToCreature(oE,nXP);
|
|
} // explore this area
|
|
else if (!GetLocalInt(oE,"bExplored"+GetTag(oArea)))
|
|
{ // first time for you
|
|
SendMessageToPC(oE,"This is your first time to this area.");
|
|
SetLocalInt(oE,"bExplored"+GetTag(oArea),TRUE);
|
|
float fXP=GetLocalFloat(oMod,"fXPMultiplier");
|
|
int nXP=1;
|
|
int nMult=FloatToInt(fXP);
|
|
if (nMult==0) nMult=6;
|
|
nXP=nXP*nMult;
|
|
GiveXPToCreature(oE,nXP);
|
|
} // firtt time for you
|
|
} // possible setting
|
|
}
|