148 lines
3.6 KiB
Plaintext
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);
|
|
}
|