135 lines
5.0 KiB
Plaintext
135 lines
5.0 KiB
Plaintext
#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));
|
|
}
|