Files
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

67 lines
1.8 KiB
C#

using System;
using Server;
using System.Collections.Generic;
using System.Linq;
using Server.Mobiles;
using Server.Items;
using Server.Engines.CityLoyalty;
namespace Server.Engines.Blackthorn
{
public class InvasionBeacon : Beacon
{
[CommandProperty(AccessLevel.GameMaster)]
public InvasionController Controller { get; set; }
public override bool CanDamage { get { return Controller == null || Controller.BeaconVulnerable; } }
public InvasionBeacon(InvasionController controller)
{
Controller = controller;
Name = "lighthouse";
Level = ItemLevel.Easy; // Hard
}
public override void OnHalfDamage()
{
IPooledEnumerable eable = this.Map.GetMobilesInRange(this.Location, 20);
foreach (Mobile m in eable)
{
if (m.NetState != null)
m.PrivateOverheadMessage(Server.Network.MessageType.Regular, 1154, 1154551, m.NetState); // *Minax's Beacon surges with energy into an invulnerable state! Defeat her Captains to weaken the Beacon's defenses!*
}
eable.Free();
if (Controller != null)
Timer.DelayCall(TimeSpan.FromSeconds(1), () => Controller.SpawnWave());
}
public override bool OnBeforeDestroyed()
{
if (Controller != null)
Controller.OnBeaconDestroyed();
return base.OnBeforeDestroyed();
}
public InvasionBeacon(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
reader.ReadInt();
}
}
}