How do I add this to my own item/monster?
First we need to define the variable that will hold the aura:
private Bittiez.Aura.Aura EffectAura;
This is usually done near the top of your class:
public class EffectCloak : BaseCloak
{
private Bittiez.Aura.Aura EffectAura;
Next the step is setting up the aura, because we have to set this up any time the server restarts it's easiest to create a re-usable method to do this:
private void AuraSetup()
{
EffectAura = new Bittiez.Aura.Aura(this, 8, Bittiez.Aura.AURATYPE.EFFECTAURA);
EffectAura.AffectsSelf = true;
}
Now we need to call this method when 1. we initially create the item or 2. the server restarts and the item is effectively re-created:
Add a call to the method you just created
AuraSetup();
to the constructor method of your class:
[Constructable]
public EffectCloak(int hue)
: base(0x1515, hue)
{
AuraSetup();
Weight = 5.0;
}
And add a call in the deserialize method as well:
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
AuraSetup();
}
Last, but not least, we need a way to turn the aura on and off, if this is for monsters/ or items left on the ground(like a healing totem or something), I recommend using sector activation and deactivate:
This will turn the aura on when that area of the map is active (from a player entering the area)
public override void OnSectorActivate()
{
EffectAura.EnableAura();
base.OnSectorActivate();
}
public override void OnSectorDeactivate()
{
EffectAura.DisableAura();
base.OnSectorDeactivate();
}
Or if you want the player to be able to turn it on and off via double clicking the item:
public override void OnDoubleClick(Mobile from)
{
if (EffectAura.ToggleAura()) from.SendMessage("Aura on"); else from.SendMessage("Aura off");
base.OnDoubleClick(from);
}
Alternatively you could have the aura always on by using
EffectAura.EnableAura();
inside the AuraSetup() method.
Now your aura should work if everything was setup properly.