AOC_PRC8/_module/nss/pvp_set.nss
Jaysyn904 5e558169a0 Initial Commit
Initial Commit
2025-04-03 11:24:16 -04:00

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