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

68 lines
3.5 KiB
Plaintext

#include "nw_i0_generic"
void main()
{
object oTarget;
object oTarget1;
object oPC = GetPCSpeaker();
object oMod = GetModule();
object oLever = GetObjectByTag("cr_lever");
object oCrystal1 = GetObjectByTag("crystal1");
object oCrystal2 = GetObjectByTag("crystal2");
object oCrystal3 = GetObjectByTag("crystal3");
object oP1 = GetObjectByTag("pool1");
object oP2 = GetObjectByTag("pool2");
object oP3 = GetObjectByTag("fountain1");
object oP4 = GetObjectByTag("fountain2");
int nInt;
int lState = GetLocalInt(oMod, "lever_state");
effect eEffect = EffectVisualEffect(VFX_DUR_GLOBE_INVULNERABILITY);
AssignCommand(GetObjectByTag("starfall"), ClearAllActions());
DelayCommand(0.2, AssignCommand(GetObjectByTag("starfall"), ActionPlayAnimation(ANIMATION_FIREFORGET_VICTORY2)));
SetLocalInt(oMod, "duel_on", 1);
oTarget = GetObjectByTag("duel_effect");
nInt = GetObjectType(oTarget);
if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), oTarget);
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), GetLocation(oTarget));
oTarget1 = GetObjectByTag("starfall");
SetPlotFlag(GetObjectByTag("starfall"), FALSE);
if (lState==1)
{
DelayCommand(1.8, AssignCommand(oTarget1, JumpToLocation(GetLocation(GetObjectByTag ("s_duel_wp")))));
DelayCommand(1.8, AssignCommand(oPC, JumpToLocation(GetLocation(GetObjectByTag ("p_duel_wp")))));
DelayCommand(5.5, AssignCommand(GetObjectByTag("starfall"), ActionSpeakString("You can't use the crystals in difficult mode",TALKVOLUME_SHOUT)));
DelayCommand(7.5, AssignCommand(GetObjectByTag("starfall"), ActionPlayAnimation(ANIMATION_FIREFORGET_VICTORY2)));
DelayCommand(7.5, AssignCommand(GetObjectByTag("starfall"), ActionSpeakString("Crystals Off!",TALKVOLUME_SHOUT)));
DelayCommand(10.5, AssignCommand(GetObjectByTag("starfall"), ActionSpeakString("Ready?",TALKVOLUME_SHOUT)));
DelayCommand(12.5, AssignCommand(GetObjectByTag("starfall"), ActionSpeakString("GO!!!",TALKVOLUME_SHOUT)));
DelayCommand(13.5,SetIsTemporaryEnemy(oPC, oTarget1));
DelayCommand(13.5,AssignCommand(oTarget1, ActionAttack(oPC)));
DelayCommand(8.5, AssignCommand(oPC, PlaySound("sce_positive")));
AssignCommand(oLever, ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
DelayCommand(8.5, FloatingTextStringOnCreature("Power Crystals deactivated", oPC));
DelayCommand(8.5, AssignCommand(oCrystal1, ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)));
DelayCommand(8.5, AssignCommand(oCrystal2, ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)));
DelayCommand(8.5, AssignCommand(oCrystal3, ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)));
SetLocalInt(oMod, "lever_state", 0);
}
else
{
DelayCommand(1.8, AssignCommand(oTarget1, JumpToLocation(GetLocation(GetObjectByTag ("s_duel_wp")))));
DelayCommand(1.8, AssignCommand(oPC, JumpToLocation(GetLocation(GetObjectByTag ("p_duel_wp")))));
DelayCommand(5.5, AssignCommand(GetObjectByTag("starfall"), ActionSpeakString("Ready?",TALKVOLUME_SHOUT)));
DelayCommand(6.5, AssignCommand(GetObjectByTag("starfall"), ActionSpeakString("GO!!!",TALKVOLUME_SHOUT)));
DelayCommand(7.2,SetIsTemporaryEnemy(oPC, oTarget1));
DelayCommand(7.5,AssignCommand(oTarget1, ActionAttack(oPC)));
}
SetLocalInt(oMod, "pool_state", 1);
SetLocalInt(oMod, "fountain_state", 1);
DelayCommand(14.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eEffect, oP1));
DelayCommand(14.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eEffect, oP2));
DelayCommand(14.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eEffect, oP3));
DelayCommand(14.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT,eEffect, oP4));
}