WoR_PRC8/_module/nss/s_sharstar.nss

84 lines
3.2 KiB
Plaintext
Raw Permalink Normal View History

2025-04-03 11:49:34 -04:00
#include "x0_i0_petrify"
object L1 = GetObjectByTag("SHA_LP1");
object L2 = GetObjectByTag("SHA_LP2");
object L3 = GetObjectByTag("SHA_LP3");
object L4 = GetObjectByTag("SHA_LP4");
object L5 = GetObjectByTag("SHA_LP5");
object sparks = GetObjectByTag("SHA_SPARKS");
object Altar = GetObjectByTag("SHA_SHARALTAR");
void drawStar()
{
// Declare the fire beam effect
effect eBeam1 = EffectBeam(VFX_BEAM_BLACK, L1, BODY_NODE_CHEST);
effect eBeam2 = EffectBeam(VFX_BEAM_BLACK, L2, BODY_NODE_CHEST);
effect eBeam3 = EffectBeam(VFX_BEAM_BLACK, L3, BODY_NODE_CHEST);
effect eBeam4 = EffectBeam(VFX_BEAM_BLACK, L4, BODY_NODE_CHEST);
effect eBeam5 = EffectBeam(VFX_BEAM_BLACK, L5, BODY_NODE_CHEST);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBeam1, L3);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBeam1, L4);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBeam2, L4);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBeam2, L5);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBeam3, L5);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBeam3, L1);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBeam4, L1);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBeam4, L2);
Altar = GetObjectByTag("SHA_SHARALTAR");
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBeam5, L2);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBeam5, L3);
SetLocalInt(Altar, "STARACTIVE", 1);
ActionWait(1.0);
AssignCommand(L1, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE));
AssignCommand(L2, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE));
AssignCommand(L3, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE));
AssignCommand(L4, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE));
AssignCommand(L5, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE));
AssignCommand(sparks, PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE));
}
void DestroyStar()
{
effect oEffect = EffectVisualEffect(VFX_FNF_SUMMON_CELESTIAL);
AssignCommand(L1, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
AssignCommand(L2, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
AssignCommand(L3, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
AssignCommand(L4, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
AssignCommand(L5, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
AssignCommand(sparks, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
Altar = GetObjectByTag("SHA_SHARALTAR");
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, oEffect, Altar);
ActionWait(1.2);
oEffect = EffectVisualEffect(VFX_IMP_HEALING_X);
ApplyEffectToObject(DURATION_TYPE_INSTANT, oEffect, L1);
ApplyEffectToObject(DURATION_TYPE_INSTANT, oEffect, L2);
ApplyEffectToObject(DURATION_TYPE_INSTANT, oEffect, L3);
ApplyEffectToObject(DURATION_TYPE_INSTANT, oEffect, L4);
ApplyEffectToObject(DURATION_TYPE_INSTANT, oEffect, L5);
SetLocalInt(Altar, "STARACTIVE", 10);
RemoveEffectOfType(L1, EFFECT_TYPE_BEAM);
RemoveEffectOfType(L2, EFFECT_TYPE_BEAM);
RemoveEffectOfType(L3, EFFECT_TYPE_BEAM);
RemoveEffectOfType(L4, EFFECT_TYPE_BEAM);
RemoveEffectOfType(L5, EFFECT_TYPE_BEAM);
}
int isActivated()
{
int Active = GetLocalInt(Altar, "STARACTIVE");
if(Active == 1)
{
return TRUE;
}
else
{
return FALSE;
}
}
//void main() {}