#W# Source and Scripts added. Added Scripts/Settings.cs to expose some basic tweak able settings.
This commit is contained in:
parent
b51c58f514
commit
3045c83799
3512 changed files with 627673 additions and 0 deletions
74
Scripts/Holiday Stuff/Halloween/2009/Engines/PumpkinPatch.cs
Normal file
74
Scripts/Holiday Stuff/Halloween/2009/Engines/PumpkinPatch.cs
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
using System;
|
||||
using Server.Items;
|
||||
using Server.Events.Halloween;
|
||||
|
||||
namespace Server.Engines.Events
|
||||
{
|
||||
public class PumpkinPatchSpawner
|
||||
{
|
||||
private static Timer m_Timer;
|
||||
|
||||
private static Rectangle2D[] m_PumpkinFields =
|
||||
{
|
||||
new Rectangle2D( 4557, 1471, 20, 10 ),
|
||||
new Rectangle2D( 796, 2152, 36, 24 ),
|
||||
new Rectangle2D( 816, 2251, 16, 8 ),
|
||||
new Rectangle2D( 816, 2261, 16, 8 ),
|
||||
new Rectangle2D( 816, 2271, 16, 8 ),
|
||||
new Rectangle2D( 816, 2281, 16, 8 ),
|
||||
new Rectangle2D( 835, 2344, 16, 16 ),
|
||||
new Rectangle2D( 816, 2344, 16, 24 )
|
||||
};
|
||||
|
||||
public static void Initialize()
|
||||
{
|
||||
DateTime now = DateTime.UtcNow;
|
||||
|
||||
if( DateTime.UtcNow >= HolidaySettings.StartHalloween && DateTime.UtcNow <= HolidaySettings.FinishHalloween )
|
||||
{
|
||||
m_Timer = Timer.DelayCall( TimeSpan.Zero, TimeSpan.FromMinutes( .50 ), 0, new TimerCallback( PumpkinPatchSpawnerCallback ));
|
||||
}
|
||||
}
|
||||
|
||||
protected static void PumpkinPatchSpawnerCallback()
|
||||
{
|
||||
AddPumpkin( Map.Felucca );
|
||||
AddPumpkin( Map.Trammel );
|
||||
}
|
||||
|
||||
private static void AddPumpkin( Map map )
|
||||
{
|
||||
for( int i = 0; i < m_PumpkinFields.Length; i++ )
|
||||
{
|
||||
Rectangle2D rect = m_PumpkinFields[ i ];
|
||||
|
||||
int spawncount = ( ( rect.Height * rect.Width ) / 20 );
|
||||
int pumpkins = 0;
|
||||
|
||||
foreach( Item item in map.GetItemsInBounds( rect ) )
|
||||
{
|
||||
if( item is HalloweenPumpkin )
|
||||
{
|
||||
pumpkins++;
|
||||
}
|
||||
}
|
||||
|
||||
if( spawncount > pumpkins )
|
||||
{
|
||||
Item item = new HalloweenPumpkin();
|
||||
|
||||
item.MoveToWorld( RandomPointIn( rect, map ), map );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static Point3D RandomPointIn( Rectangle2D rect, Map map )
|
||||
{
|
||||
int x = Utility.Random( rect.X, rect.Width );
|
||||
int y = Utility.Random( rect.Y, rect.Height );
|
||||
int z = map.GetAverageZ( x, y );
|
||||
|
||||
return new Point3D( x, y, z );
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue