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

77 lines
2.7 KiB
Plaintext

#include "x0_i0_petrify"
#include "nw_i0_generic"
#include "spawner"
/* Script generated by
Lilac Soul's NWN Script Generator, v. 1.6
For download info, please visit:
http://www.lilacsoul.revility.com */
//Put this on action taken in the conversation editor
void main()
{
object oPC = GetPCSpeaker();
object oMod = GetModule();
SetLocalInt(oMod, "xcheck", 0);
SetLocalInt(oMod, "challenge", 1);
SetLocalInt(oMod, "difficulty", 1);
SetLocalInt(oMod, "d4", 1);
SetLocalInt(oPC, "lives", 5);
object oTarget;
object oSpawn;
location lTarget;
object oTarget2 = GetWaypointByTag("big_wp");
lTarget = GetLocation(oTarget);
location bTarget = GetLocation(oTarget2);
object oLever = GetObjectByTag("cr_lever");
object oCrystal1 = GetObjectByTag("crystal1");
object oCrystal2 = GetObjectByTag("crystal2");
object oCrystal3 = GetObjectByTag("crystal3");
int lState = GetLocalInt(oMod, "lever_state");
if (lState==1)
{
DelayCommand(0.0, PlaySound("sce_negative"));
AssignCommand(oLever, ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
AssignCommand(oCrystal1, ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
AssignCommand(oCrystal2, ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
AssignCommand(oCrystal3, ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
SetLocalInt(oMod, "lever_state", 0);
}
object oP1 = GetObjectByTag("pool1");
object oP2 = GetObjectByTag("pool2");
object oP3 = GetObjectByTag("fountain1");
object oP4 = GetObjectByTag("fountain2");
object oLever1 = GetObjectByTag("pool_lever");
object oLever2 = GetObjectByTag("fount_lever");
effect eEffect = EffectVisualEffect(VFX_DUR_GLOBE_INVULNERABILITY);
AssignCommand(oLever1, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE));
AssignCommand(oLever2, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE));
//RemoveEffectOfType(oP1, GetEffectType(eEffect));
//RemoveEffectOfType(oP2, GetEffectType(eEffect));
//RemoveEffectOfType(oP3, GetEffectType(eEffect));
//RemoveEffectOfType(oP4, GetEffectType(eEffect));
ApplyEffectToObject(DURATION_TYPE_PERMANENT,eEffect, oP1);
ApplyEffectToObject(DURATION_TYPE_PERMANENT,eEffect, oP2);
ApplyEffectToObject(DURATION_TYPE_PERMANENT,eEffect, oP3);
ApplyEffectToObject(DURATION_TYPE_PERMANENT,eEffect, oP4);
object oSpawner = GetObjectByTag("spawner");
SetLocalInt(oMod, "fountain_state", 1);
SetLocalInt(oMod, "pool_state", 1);
int oGameMode = GetLocalInt(oMod, "gamemode");
if (oGameMode==1)
{
DelayCommand( 3.0, spawner (oPC, "dragon2", 1));
DoEffect(3.0,VFX_FNF_PWKILL, "big_wp");
}
else
{
DelayCommand( 3.0, spawner (oPC, "dragon1", 1));
DoEffect(3.0,VFX_FNF_PWKILL, "big_wp");
}
FloatingTextStringOnCreature("You have 6 lives to complete the challenge", oPC);
AssignCommand(oSpawner, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE));
SetLocked(GetObjectByTag("arena_gate"), TRUE);
}