Files
Anphillia_PRC8/_module/nss/wa_narbondel.nss
Jaysyn904 28cdb617b3 Initial commit
Adding all of the current content for Anphillia Unlimited.
2024-01-04 07:49:38 -05:00

84 lines
2.8 KiB
Plaintext

void ApplyFireEffect()
{
int hour = GetTimeHour();
int minute = GetTimeMinute();
int second = GetTimeSecond();
float Duration = HoursToSeconds(12) - (HoursToSeconds(hour)) - (HoursToSeconds(minute)/60) - second;
object Fire = CreateObject(OBJECT_TYPE_PLACEABLE, "narbfire", GetLocation(GetObjectByTag("wa_narbondel")));
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_DUR_ELEMENTAL_SHIELD), Fire);
DelayCommand(Duration, DestroyObject(Fire));
}
void LightNarbondel()
{
object Char = GetObjectByTag("drow_archmage");
AssignCommand(Char, ActionMoveToObject(GetObjectByTag("wa_narbondel"), FALSE, 3.0));
AssignCommand(Char, ActionCastFakeSpellAtObject(SPELL_DELAYED_BLAST_FIREBALL, GetObjectByTag("wa_narbondel")));
AssignCommand(Char, ActionDoCommand(ApplyFireEffect()));
AssignCommand(Char, ActionWait(5.0));
AssignCommand(Char, ActionMoveToObject(GetObjectByTag("drow_archmage_post")));
}
void main()
{
float HEIGHT = 7.0;
object Waypoint = GetObjectByTag("wa_narbondel");
int hour = GetTimeHour();
int fireamount = hour;
vector vWaypoint = GetPosition(Waypoint);
float place = vWaypoint.z;
float step = HEIGHT/12;
location lFire;
object Fire;
effect eVis1 = EffectVisualEffect(VFX_DUR_PROTECTION_GOOD_MAJOR);
effect eVis2 = EffectVisualEffect(VFX_DUR_PROTECTION_EVIL_MAJOR);
// eVis = EffectLinkEffects(EffectVisualEffect(VFX_DUR_PROTECTION_ELEMENTS), eVis);
// eVis = EffectLinkEffects(EffectVisualEffect(VFX_DUR_PROTECTION_EVIL_MAJOR), eVis);
if (hour > 12)
fireamount = 24 - hour;
if (hour == 0)
LightNarbondel();
int x = 0;
while (x < fireamount)
{
lFire = Location(GetArea(Waypoint), Vector(vWaypoint.x, vWaypoint.y, vWaypoint.z + x*step), IntToFloat(0));
Fire = CreateObject(OBJECT_TYPE_PLACEABLE, "narbfire", lFire);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eVis1, Fire);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eVis2, Fire);
DelayCommand(HoursToSeconds(1), DestroyObject(Fire));
// ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eVis, lFire, 120.0);
x++;
}
///////////////////////////////////
// TIMES
// _______
// | |
// | | 12 - 12 (1)
// | | 11 - 13 (3)
// | | 10 - 14 (5)
// | | 9 - 15 (7)
// | | 8 - 16 (9)
// | | 7 - 17 (11)
// | | 6 - 18 (13)
// | | 5 - 19 (15)
// | | 4 - 20 (17)
// | | 3 - 21 (19)
// | | 2 - 22 (21)
// | | 1 - 23 (23)
// |_______|
//
// DelayCommand(3.0, RecomputeStaticLighting(GetArea(Waypoint)));
DelayCommand(HoursToSeconds(1), ExecuteScript("wa_narbondel", GetModule()));
}