#include "cleanup" #include "spawner" void GroupThanks(object oPC) { object oTeam; object oCreature; int oDice; oCreature = GetFirstObjectInArea(OBJECT_SELF); while ((GetObjectType(oCreature)!=OBJECT_TYPE_CREATURE)|| (GetIsPC(oCreature))||(GetTag(oCreature)=="starfall")||(GetTag(oCreature)=="reaper")) { oCreature =GetNextObjectInArea(OBJECT_SELF); } oTeam = GetFirstFactionMember(oCreature, FALSE); while (GetIsObjectValid(oTeam)) { if (!GetIsDead(oTeam)) { NPCvoice(oTeam, oPC, 9); DelayCommand(0.8, NPCvoice(oTeam, oPC, 10)); oDice = d2(); if (oDice==1) { DelayCommand(1.0, AssignCommand(oTeam, ActionPlayAnimation (ANIMATION_FIREFORGET_GREETING))); } else { DelayCommand(1.0, AssignCommand(oTeam, ActionPlayAnimation (ANIMATION_FIREFORGET_BOW))); } } oTeam = GetNextFactionMember(oCreature, FALSE); } } void LimboSend(object oPC) { object oTarget1, oTarget2, oTarget3, oTarget4, oTarget5, oTarget6, oTarget7, oTarget8, oTarget9, oTarget10, oTarget11, oTarget12, oTarget13, oTarget14, oTarget15, oTarget16, oTarget17, oStuff; object oMod = GetModule(); SetLocalInt(oMod, "d1", 0); SetLocalInt(oMod, "d2", 0); SetLocalInt(oMod, "d2a", 0); SetLocalInt(oMod, "d3", 0); SetLocalInt(oMod, "d4", 0); SetLocalInt(oMod, "d5", 0); 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(oMod, "ch_hw", 0); SetLocalInt(oMod, "ch_dr", 0); SetLocalInt(oMod, "ch_bl", 0); SetLocalInt(oMod, "ch_pf", 0); SetLocalInt(oMod, "ch_df", 0); SetLocalInt(oMod, "ch_pm", 0); SetLocalInt(oMod, "ch_bm", 0); SetLocalInt(oMod, "ch_lm", 0); SetLocalInt(oMod, "ch_ll", 0); SetLocalInt(oMod, "ch_xx", 0); SetLocalInt(oMod, "gr_xx", 0); SetLocalInt(oMod, "challenge", 0); SetLocalInt(oMod, "hwar_on", 0); SetLocked(GetObjectByTag("arena_gate"), FALSE); object oMonster = GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE, oPC); effect eEffect = EffectVisualEffect(VFX_IMP_UNSUMMON); oTarget1 = GetObjectByTag("zep_balrog001"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget1)); DestroyObject(GetObjectByTag("zep_balrog001")); oTarget2 = GetObjectByTag("dragon1"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget2)); DestroyObject(GetObjectByTag("dragon1")); oTarget3 = GetObjectByTag("zep_halfdrafn001"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget3)); DestroyObject(GetObjectByTag("zep_halfdrafn001")); oTarget4 = GetObjectByTag("zep_marilithb001"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget4)); DestroyObject(GetObjectByTag("zep_marilithb001")); oTarget5 = GetObjectByTag("palewarrior"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget5)); DestroyObject(GetObjectByTag("palewarrior")); oTarget6 = GetObjectByTag("zep_pitfiend001"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget6)); DestroyObject(GetObjectByTag("zep_pitfiend001")); oTarget7 = GetObjectByTag("dopple"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget7)); DestroyObject(GetObjectByTag("dopple")); oTarget8 = GetObjectByTag("boss1"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget8)); DestroyObject(GetObjectByTag("boss1")); oTarget9 = GetObjectByTag("lord"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget9)); DestroyObject(GetObjectByTag("lord")); oTarget10 = GetObjectByTag("lucifer"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget10)); DestroyObject(GetObjectByTag("lucifer")); oTarget11 = GetObjectByTag("boss002"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget11)); DestroyObject(GetObjectByTag("boss002")); oTarget12 = GetObjectByTag("thor"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget12)); DestroyObject(GetObjectByTag("thor")); oTarget13 = GetObjectByTag("angel"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget13)); DestroyObject(GetObjectByTag("angel")); oTarget14 = GetObjectByTag("notime1"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget14)); DestroyObject(GetObjectByTag("notime1")); oTarget15 = GetObjectByTag("notime2"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget15)); DestroyObject(GetObjectByTag("notime2")); oTarget16 = GetObjectByTag("notime3"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget16)); DestroyObject(GetObjectByTag("notime3")); oTarget17 = GetObjectByTag("notime4"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget17)); DestroyObject(GetObjectByTag("notime4")); oTarget17 = GetObjectByTag("notime4"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget17)); DestroyObject(GetObjectByTag("death")); oTarget17 = GetObjectByTag("death"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget17)); DestroyObject(GetObjectByTag("dragon2"));oTarget17 = GetObjectByTag("notime4"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget17)); DestroyObject(GetObjectByTag("dragon2")); oTarget17 = GetObjectByTag("mistress2"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget17)); DestroyObject(GetObjectByTag("mistress2")); oTarget17 = GetObjectByTag("bard2"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget17)); DestroyObject(GetObjectByTag("bard2")); oTarget17 = GetObjectByTag("darcher"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget17)); DestroyObject(GetObjectByTag("darcher")); oTarget17 = GetObjectByTag("beli2"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget17)); DestroyObject(GetObjectByTag("beli2")); oTarget17 = GetObjectByTag("palewarrior3"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget17)); DestroyObject(GetObjectByTag("palewarrior3")); oTarget17 = GetObjectByTag("hdrag2"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget17)); DestroyObject(GetObjectByTag("hdrag2")); oTarget17 = GetObjectByTag("pfiend2"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget17)); DestroyObject(GetObjectByTag("pfiend2")); oTarget17 = GetObjectByTag("horod2"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget17)); DestroyObject(GetObjectByTag("horod2")); oTarget17 = GetObjectByTag("div2"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget17)); DestroyObject(GetObjectByTag("div2")); oTarget17 = GetObjectByTag("pwar3"); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget17)); DestroyObject(GetObjectByTag("pwar3")); if (GetIsEnemy(oPC, oMonster)) { oStuff = GetFirstItemInInventory(oMonster); while(GetIsObjectValid(oStuff)) { DestroyObject(oStuff); oStuff = GetNextItemInInventory(oMonster); } ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oMonster)); DestroyObject(oMonster); } } void Limbo(object oPC) { LimboSend(oPC); DelayCommand(0.5, LimboSend(oPC)); DelayCommand(1.0, LimboSend(oPC)); DelayCommand(1.5, LimboSend(oPC)); //DelayCommand(5.0, CleanArea(oPC)); } void EradS(object oPC) { effect eEffect= EffectDeath(); object oTarget; object oStuff; string sRef; object oPest; oPest= GetFirstObjectInArea(OBJECT_SELF); while (GetIsObjectValid(oPest)) { if ((!GetIsPC(oPest))&&(GetTag(oPest)!="starfall")) { ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oPest); } oPest = GetNextObjectInArea(OBJECT_SELF); } } void Eradicate(object oPC) { object oMod = GetModule(); int iStatus = GetLocalInt(oMod, "war_won"); int iTurnFlag = GetLocalInt(oMod, "turn_flag"); int iPCSide = GetLocalInt(oPC, "pc_side"); int iHappy = GetLocalInt(oPC, "iHappy"); int iConvSwitch = GetLocalInt(oPC, "conv_switch"); //FloatingTextStringOnCreature("conv switch: "+IntToString(iConvSwitch), oPC); //FloatingTextStringOnCreature("war won: "+IntToString(iStatus), oPC); //FloatingTextStringOnCreature("iHappy: "+IntToString(iHappy), oPC); if ((iConvSwitch==1)&&(iStatus==1)) { if (iHappy==1) { SetLocalInt(oPC, "iHappy", 0); AssignCommand(oPC, PlayVoiceChat(VOICE_CHAT_GOODBYE)); GroupThanks(oPC); DelayCommand(5.0, Limbo(oPC)); SetLocalInt(oMod, "war_won",0); return; } Limbo(oPC); return; } if ((iStatus==1)&&(iTurnFlag!=1)&&(iPCSide!=0)) { if (iHappy==1) { SetLocalInt(oPC, "iHappy", 0); AssignCommand(oPC, PlayVoiceChat(VOICE_CHAT_GOODBYE)); GroupThanks(oPC); DelayCommand(5.0, Limbo(oPC)); SetLocalInt(oMod, "war_won",0); } else { Limbo(oPC); } } else { EradS(oPC); DelayCommand(0.5, EradS(oPC)); DelayCommand(1.0, EradS(oPC)); DelayCommand(1.5, EradS(oPC)); DelayCommand(5.0, CleanArea(oPC)); } } //void main (){}