#include "spawner"
#include "scorekeep"



void main()
{
	
object oPC = GetEnteringObject();

    AddJournalQuestEntry("JRNL_XPCHART", 1, oPC, FALSE, FALSE, FALSE);
    AddJournalQuestEntry("JRNL_LA_BUYOFF", 1, oPC, FALSE, FALSE, FALSE);
	AddJournalQuestEntry("JRNL_PRC8", 1, oPC, FALSE, FALSE, FALSE);
	
	
object oArea = GetArea(oPC);
SetImmortal(oPC, TRUE);
SetIsTemporaryFriend(oPC, GetObjectByTag("starfall"));
object oMod = GetModule();
int oNum;
int oBeenBefore = 0;
if (GetItemPossessedBy(oPC, "nordock_token")!=OBJECT_INVALID){SetLocalInt(oMod, "nord_mode", 1);}
int oPCs = GetLocalInt(oMod, "num_players");
++oNum;
SetLocalInt(oMod, "num_players", oNum);
if (oNum>1)
{
 Place("crystal_pvp", "crystal_pvp_wp");
}
SetLocalInt(oPC, "hwscore", 1);
int oAlign = GetAlignmentGoodEvil(oPC);
int nInt = GetLocalInt(oMod, "initiate");
if (nInt!=1)
{
 SetLocalInt(oMod, "initiate", 1);
 if (oAlign==ALIGNMENT_EVIL)
    {
    SetLocalInt(oMod, "gamemode",1);
    spawner (oPC, "mephisto", 2);
    }
    else
    {
    SetLocalInt(oMod, "gamemode",0);
    spawner (oPC, "starfall", 2);
    }
DelayCommand(8.0, AssignCommand(GetObjectByTag("starfall"),
             PlayAnimation(ANIMATION_FIREFORGET_GREETING)));
DelayCommand(8.2, AssignCommand(GetObjectByTag("starfall"),
             PlayVoiceChat(VOICE_CHAT_HELLO)));
DelayCommand(3.0, GetScore(oPC));
DelayCommand(2.0, SetPlotFlag(GetObjectByTag("starfall"), TRUE));
}
if (GetItemPossessedBy(oPC, "chapterstone")!=OBJECT_INVALID)
    {
    oBeenBefore=1;
    }
object oItem = GetFirstItemInInventory(oPC);
while (GetIsObjectValid(oItem))
    {
     if (FindSubString(GetResRef(oItem),"xill")==1)
        {
         oBeenBefore=1;
        }
      oItem = GetNextItemInInventory(oPC);
    }
if (oBeenBefore!=1)
           {
            object oGear = GetItemInSlot(INVENTORY_SLOT_ARMS, oPC);
            if(GetIsObjectValid(oGear)) DestroyObject(oGear);
            oGear = GetItemInSlot(INVENTORY_SLOT_BELT, oPC);
            if(GetIsObjectValid(oGear)) DestroyObject(oGear);
            oGear = GetItemInSlot(INVENTORY_SLOT_BOLTS, oPC);
            if(GetIsObjectValid(oGear)) DestroyObject(oGear);
            oGear = GetItemInSlot(INVENTORY_SLOT_BOOTS, oPC);
            if(GetIsObjectValid(oGear)) DestroyObject(oGear);
            oGear = GetItemInSlot(INVENTORY_SLOT_CHEST, oPC);
            if(GetIsObjectValid(oGear)) DestroyObject(oGear);
            oGear = GetItemInSlot(INVENTORY_SLOT_CLOAK, oPC);
            if(GetIsObjectValid(oGear)) DestroyObject(oGear);
            oGear = GetItemInSlot(INVENTORY_SLOT_HEAD, oPC);
            if(GetIsObjectValid(oGear)) DestroyObject(oGear);
            oGear = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC);
            if(GetIsObjectValid(oGear)) DestroyObject(oGear);
            oGear = GetItemInSlot(INVENTORY_SLOT_LEFTRING, oPC);
            if(GetIsObjectValid(oGear)) DestroyObject(oGear);
            oGear = GetItemInSlot(INVENTORY_SLOT_NECK, oPC);
            if(GetIsObjectValid(oGear)) DestroyObject(oGear);
            oGear = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
            if(GetIsObjectValid(oGear)) DestroyObject(oGear);
            oGear = GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oPC);
            if(GetIsObjectValid(oGear)) DestroyObject(oGear);
            object oStuff = GetFirstItemInInventory(oPC);
            while(GetIsObjectValid(oStuff))
            {
             DestroyObject(oStuff);
             oStuff = GetNextItemInInventory(oPC);
            }
            DelayCommand(7.0, FloatingTextStringOnCreature("Welcome, " + GetName(oPC) + "! You have been stripped of all your belongings in accordance with the Arena policy", oPC));
            CreateItemOnObject("sxillwa", oPC, 1);
            CreateItemOnObject("bzedyer", oPC, 1);
            CreateItemOnObject("trqcva", oPC, 1);
            CreateItemOnObject("fgnpde", oPC, 1);
            CreateItemOnObject("qxcove", oPC, 1);
            CreateItemOnObject("bsntfn", oPC, 1);
            CreateItemOnObject("ahuvpw", oPC, 1);
            CreateItemOnObject("arscod", oPC, 1);
            CreateItemOnObject("deitzy", oPC, 1);
            int nInt=GetGold(oPC);
            AssignCommand(oPC, TakeGoldFromCreature(nInt, oPC, TRUE));

       }
       else
       {
        DelayCommand(6.0, FloatingTextStringOnCreature("Welcome back, " + GetName(oPC), oPC));

        //Debugging
        //GiveGoldToCreature(oPC,1000000);
        //CreateItemOnObject("cursering", oPC, 1);
        //DelayCommand(6.0, GiveGoldToCreature(oPC, 5000));
        //CreateItemOnObject("it_mboots007", oPC, 1);
        //CreateItemOnObject("testkama", oPC, 1);
        //CreateItemOnObject("testkama", oPC, 1);
        //CreateItemOnObject("trqcva", oPC, 1);
        //CreateItemOnObject("fgnpde", oPC, 1);
        //CreateItemOnObject("debugsw", oPC, 1);

       }
        DelayCommand(5.0, HouseKeep(oPC));
        DelayCommand(5.4, HouseKeep2(oPC));
        DelayCommand(5.8, HouseKeep3(oPC));
        DelayCommand(5.8, HouseKeep4(oPC));
        DelayCommand(6.0, HouseKeep5(oPC));
        DelayCommand(3.0, AddJournalQuestEntry("enter", 1, oPC, FALSE, FALSE));
}