AOC_PRC8/_module/nss/pvp_set_duelmode.nss

71 lines
1.9 KiB
Plaintext
Raw Permalink Normal View History

2025-04-03 11:24:16 -04:00
#include "spawner"
#include "scorekeep"
void main()
{
object oPC = GetEnteringObject();
SetImmortal(oPC, TRUE);
SetIsTemporaryFriend(oPC, GetObjectByTag("starfall"));
object oMod = GetModule();
int oNum;
int oBeenBefore = 0;
int oPCs = GetLocalInt(oMod, "num_players");
++oNum;
SetLocalInt(oMod, "num_players", oNum);
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);
}
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)
{
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));
}
DelayCommand(5.0, HouseKeep(oPC));
DelayCommand(5.4, HouseKeep2(oPC));
DelayCommand(3.0, AddJournalQuestEntry("enter", 1, oPC, FALSE, FALSE));
}