HoS_PRC8/_mod/_module/nss/area_visit.nss
Jaysyn904 04165202c0 Initial upload
Initial upload
2024-11-25 19:36:07 -05:00

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
}