84 lines
2.8 KiB
Plaintext
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()));
|
|
|
|
}
|