public void CheckEnd()
{
if ( !m_Active || m_Started + m_Duration > DateTime.Now )
return;
m_Active = false;
if ( m_Region != null && m_Entries.Count != 0 )
{
int winner = Utility.Random( m_Entries.Count );
m_Winner = m_Entries[winner].From;
if ( m_Winner != null )
{
m_Deed = new HouseRaffleDeed( this, m_Winner );
m_Winner.SendMessage( MessageHue, "Congratulations, {0}! You have won the raffle for the plot located at {1}.", m_Entries[winner].From.Name, FormatLocation() );
if ( m_Winner.AddToBackpack( m_Deed ) )
{
m_Winner.SendMessage( MessageHue, "The writ of lease has been placed in your backpack." );
}
else
{
BankBox box = m_Winner.BankBox;
if ( box.TryDropItem( m_Winner, m_Deed, false ) )
{
m_Winner.SendMessage( MessageHue, "As your backpack is full, the writ of lease has been placed in your bank box." );
}
else
{
// Item is already at the mobile's feet
m_Winner.SendMessage( MessageHue, "As both your backpack and bank box are full, the writ of lease has been placed at your feet." );
}
}
}
}
InvalidateProperties();
}