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

148 lines
3.6 KiB
Plaintext

#include "spawner"
void main()
{
object oPC = GetPCSpeaker();
object oMod = GetModule();
object oTarget = GetWaypointByTag("big_wp");
location lTarget;
int oDragon = GetLocalInt(oPC, "hw_on");
int oRender = GetLocalInt(oPC, "dr_on");
int oBalrog = GetLocalInt(oPC, "bl_on");
int oPitfiend = GetLocalInt(oPC, "pf_on");
int oHalfDrag = GetLocalInt(oPC, "df_on");
int oPaleWar = GetLocalInt(oPC, "pm_on");
int oMarilith = GetLocalInt(oPC, "bm_on");
int oMist = GetLocalInt(oPC, "lm_on");
int oLucif = GetLocalInt(oPC, "ll_on");
int oLord = GetLocalInt(oPC, "xx_on");
int oMode = GetLocalInt(oMod, "gamemode");
SetLocalInt(oMod, "sw_hw", 0);
SetLocalInt(oMod, "sw_dr", 0);
SetLocalInt(oMod, "sw_bl", 0);
SetLocalInt(oMod, "sw_pf", 0);
SetLocalInt(oMod, "sw_df", 0);
SetLocalInt(oMod, "sw_pm", 0);
SetLocalInt(oMod, "sw_bm", 0);
SetLocalInt(oMod, "sw_lm", 0);
SetLocalInt(oMod, "sw_ll", 0);
SetLocalInt(oMod, "sw_xx", 0);
SetLocalInt(oPC, "hw_on", 0);
SetLocalInt(oPC, "dr_on", 0);
SetLocalInt(oPC, "bl_on", 0);
SetLocalInt(oPC, "pf_on", 0);
SetLocalInt(oPC, "df_on", 0);
SetLocalInt(oPC, "pm_on", 0);
SetLocalInt(oPC, "bm_on", 0);
SetLocalInt(oPC, "lm_on", 0);
SetLocalInt(oPC, "ll_on", 0);
SetLocalInt(oPC, "xx_on", 0);
SetLocalInt(oPC, "gr_xx", 1);
object oSpawner = GetObjectByTag("spawner");
AssignCommand(oSpawner, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE));
if (oDragon==1)
{
SetLocalInt(oMod, "sw_hw", 1);
SetLocalInt(oMod, "ch_hw", 1);
if (oMode==1)
DelayCommand( 1.0, spawner (oPC, "dragon2", 1));
else
DelayCommand( 1.0, spawner (oPC, "dragon1", 1));
}
if (oRender==1)
{
SetLocalInt(oMod, "sw_dr", 1);
SetLocalInt(oMod, "ch_dr", 1);
if (oMode==1)
DelayCommand( 1.0, spawner (oPC, "dopple001", 0));
else
DelayCommand( 1.0, spawner (oPC, "dopple", 0));
}
if (oBalrog==1)
{
SetLocalInt(oMod, "sw_bl", 1);
SetLocalInt(oMod, "ch_bl", 1);
if (oMode==1)
DelayCommand( 1.0, spawner (oPC, "balrog2", 0));
else
DelayCommand( 1.0, spawner (oPC, "zep_balrog001", 0));
}
if (oPitfiend==1)
{
SetLocalInt(oMod, "sw_pf", 1);
SetLocalInt(oMod, "ch_pf", 1);
if (oMode==1)
DelayCommand( 1.0, spawner (oPC, "pfiend2", 0));
else
DelayCommand( 1.0, spawner (oPC, "zep_pitfiend001", 0));
}
if (oHalfDrag==1)
{
SetLocalInt(oMod, "sw_df", 1);
SetLocalInt(oMod, "ch_df", 1);
if (oMode==1)
DelayCommand( 1.0, spawner (oPC, "hdrag2", 0));
else
DelayCommand( 1.0, spawner (oPC, "zep_halfdrafn001", 0));
}
if (oPaleWar==1)
{
SetLocalInt(oMod, "sw_pm", 1);
SetLocalInt(oMod, "ch_pm", 1);
if (oMode==1)
DelayCommand( 1.0, spawner (oPC, "pwar2", 0));
else
DelayCommand( 1.0, spawner (oPC, "palewarrior", 0));
}
if (oMarilith==1)
{
SetLocalInt(oMod, "sw_bm", 1);
SetLocalInt(oMod, "ch_bm", 1);
if (oMode==1)
DelayCommand( 1.0, spawner (oPC, "beli2", 0));
else
DelayCommand( 1.0, spawner (oPC, "zep_marilithb001", 0));
}
if (oMist==1)
{
SetLocalInt(oMod, "sw_lm", 1);
SetLocalInt(oMod, "ch_lm", 1);
if (oMode==1)
DelayCommand( 1.0, spawner (oPC, "boss002", 0));
else
DelayCommand( 1.0, spawner (oPC, "boss1", 1));
}
if (oLucif==1)
{
SetLocalInt(oMod, "sw_ll", 1);
SetLocalInt(oMod, "ch_ll", 1);
if (oMode==1)
{
DoEffect(1.0,VFX_IMP_LIGHTNING_M, "monster_wp");
DelayCommand( 1.0, spawner (oPC, "notime1", 0));
}
else
{
DelayCommand( 1.0, spawner (oPC, "notime3", 0));
DoEffect(1.0,VFX_FNF_FIRESTORM, "monster_wp");
}
}
if (oLord==1)
{
SetLocalInt(oMod, "sw_xx", 1);
SetLocalInt(oMod, "ch_xx", 1);
if (oMode==1)
{
DelayCommand( 1.0, spawner (oPC, "notime2", 0));
DoEffect(1.0,VFX_FNF_SUNBEAM, "monster_wp");
}
else
{
DelayCommand( 1.0, spawner (oPC, "notime4", 0));
DoEffect(1.0,VFX_FNF_METEOR_SWARM, "monster_wp");
}
}
oTarget = GetObjectByTag("arena_gate");
SetLocked(oTarget, TRUE);
}