public virtual void ResurrectPet()
{
if ( !IsDeadPet )
return;
OnBeforeResurrect();
Poison = null;
Warmode = false;
Hits = 10;
Stam = StamMax;
Mana = 0;
ProcessDeltaQueue();
IsDeadPet = false;
Effects.SendPacket( Location, Map, new BondedStatus( 0, this.Serial, 0 ) );
this.SendIncomingPacket();
this.SendIncomingPacket();
OnAfterResurrect();
Mobile owner = this.ControlMaster;
if ( owner == null || owner.Deleted || owner.Map != this.Map || !owner.InRange( this, 12 ) || !this.CanSee( owner ) || !this.InLOS( owner ) )
{
if ( this.OwnerAbandonTime == DateTime.MinValue )
this.OwnerAbandonTime = DateTime.Now;
}
else
{
this.OwnerAbandonTime = DateTime.MinValue;
}
CheckStatTimers();
}
public override void OnMovement(Mobile m, Point3D oldLocation) { if (!m.Frozen && DateTime.Now >= m_NextResurrect && InRange(m, 4) && !InRange(oldLocation, 4) && InLOS(m)) { if (m.IsDeadBondedPet) { m_NextResurrect = DateTime.Now + ResurrectDelay; if (m.Map == null || !m.Map.CanFit(m.Location, 16, false, false)) { Say("I sense a spirt of an animal...somewhere."); } else { BaseCreature bc = m as BaseCreature; bc.PlaySound(0x214); bc.FixedEffect(0x376A, 10, 16); bc.ResurrectPet(); Say("Rise my friend. I wish I could save every unfortunate animal."); } } } }