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

110 lines
2.9 KiB
Plaintext

#include "spawner"
#include "rank"
void main()
{
object oPC = GetPCSpeaker();
object oMod = GetModule();
string oJourn;
// Determine Game Theme and set appropriate final boss journal entry
int oMode = GetLocalInt(oMod, "gamemode");
if (oMode==1)
{oJourn = "tyriel";}
else
{oJourn = "lucifer";}
// Reset kill and death count
SetLocalInt(oPC, "iKilled", 0);
SetLocalInt(oPC, "iDied", 0);
SetLocalInt(oPC, "pc_swing", 0);
SetLocalInt(oPC, "pc_HWswing", 0);
SetLocalInt(oPC, "pc_hit", 0);
SetLocalInt(oPC, "player_dd", 0);
SetLocalInt(oPC, "pc_HWdam", 0);
SetLocalInt(oPC, "pc_HWhit", 0);
SetLocalInt(oPC, "aScore", 0);
// Reset Completed Arena Challenges
SetLocalInt(oMod, "d1_complete",0);
SetLocalInt(oMod, "d2_complete",0);
SetLocalInt(oMod, "d2a_complete",0);
SetLocalInt(oMod, "d3_complete",0);
SetLocalInt(oMod, "d4_complete",0);
SetLocalInt(oMod, "d5_complete",0);
// Reset Killed Challengers
SetLocalInt(oPC, "wurmdead",0);
SetLocalInt(oPC, "balrogdead",0);
SetLocalInt(oPC, "doppledead",0);
SetLocalInt(oPC, "pitfienddead",0);
SetLocalInt(oPC, "hdfienddead",0);
SetLocalInt(oPC, "paledead",0);
SetLocalInt(oPC, "marilithdead",0);
SetLocalInt(oPC, "bossdead",0);
SetLocalInt(oPC, "lorddead",0);
SetLocalInt(oPC, "luciferdead",0);
// Reset the Arena Scoreboard to its default display
SetLocalInt(oMod, "score_switch", 0);
// Remove Journal Entries
RemoveJournalQuestEntry(oJourn, oPC, FALSE, FALSE);
if (oMode==1)
{
RemoveJournalQuestEntry("boss1_0", oPC, FALSE, FALSE);
RemoveJournalQuestEntry("boss2_0", oPC, FALSE, FALSE);
RemoveJournalQuestEntry("boss3_0", oPC, FALSE, FALSE);
RemoveJournalQuestEntry("boss4_0", oPC, FALSE, FALSE);
RemoveJournalQuestEntry("boss5_0", oPC, FALSE, FALSE);
RemoveJournalQuestEntry("boss6_0", oPC, FALSE, FALSE);
}
else
{
RemoveJournalQuestEntry("boss1", oPC, FALSE, FALSE);
RemoveJournalQuestEntry("boss2", oPC, FALSE, FALSE);
RemoveJournalQuestEntry("boss3", oPC, FALSE, FALSE);
RemoveJournalQuestEntry("boss4", oPC, FALSE, FALSE);
RemoveJournalQuestEntry("boss5", oPC, FALSE, FALSE);
RemoveJournalQuestEntry("boss6", oPC, FALSE, FALSE);
}
object oItem;
oItem = GetItemPossessedBy(oPC, "divine_talisman");
if (GetIsObjectValid(oItem))
DestroyObject(oItem);
object oItem2;
oItem2 = GetItemPossessedBy(oPC, "final_ring");
if (GetIsObjectValid(oItem2))
DestroyObject(oItem2);
object oItem3;
oItem3 = GetItemPossessedBy(oPC, "wrathrod");
if (GetIsObjectValid(oItem3))
DestroyObject(oItem3);
object oItem4;
oItem4 = GetItemPossessedBy(oPC, "duel_pass");
if (GetIsObjectValid(oItem4))
DestroyObject(oItem4);
PlaySound("gui_select");
PCEffect(0.5, VFX_DUR_PIXIEDUST, oPC);
PCEffect(0.6, VFX_IMP_HOLY_AID, oPC);
DelayCommand(0.5, PlaySound("sce_neutral"));
DelayCommand(2.0, PlaySound("sce_positive"));
Message(2.0, "*** The Arena has been reset ***", oPC);
GetRank(oPC);
}