110 lines
2.9 KiB
Plaintext
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);
|
|
}
|