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
|
||
|
}
|