Generic-y goodness. Or hatred. You choose.

This commit is contained in:
asayre 2006-06-21 08:02:49 +00:00
parent 8737c38c85
commit c5027649a1
9 changed files with 105 additions and 98 deletions

View file

@ -5,6 +5,7 @@ using Server.Gumps;
using Server.Items;
using Server.Mobiles;
using Server.Regions;
using System.Collections.Generic;
namespace Server.Engines.CannedEvil
{
@ -13,9 +14,9 @@ namespace Server.Engines.CannedEvil
private bool m_Active;
private bool m_RandomizeType;
private ChampionSpawnType m_Type;
private ArrayList m_Creatures;
private ArrayList m_RedSkulls;
private ArrayList m_WhiteSkulls;
private List<Mobile> m_Creatures;
private List<Item> m_RedSkulls;
private List<Item> m_WhiteSkulls;
private ChampionPlatform m_Platform;
private ChampionAltar m_Altar;
private int m_Kills;
@ -58,9 +59,9 @@ namespace Server.Engines.CannedEvil
Movable = false;
Visible = false;
m_Creatures = new ArrayList();
m_RedSkulls = new ArrayList();
m_WhiteSkulls = new ArrayList();
m_Creatures = new List<Mobile>();
m_RedSkulls = new List<Item>();
m_WhiteSkulls = new List<Item>();
m_Platform = new ChampionPlatform( this );
m_Altar = new ChampionAltar( this );
@ -243,7 +244,7 @@ namespace Server.Engines.CannedEvil
{
for( int i = m_RedSkulls.Count - 1; i >= value; --i )
{
((Item)m_RedSkulls[i]).Delete();
m_RedSkulls[i].Delete();
m_RedSkulls.RemoveAt( i );
}
@ -276,7 +277,7 @@ namespace Server.Engines.CannedEvil
{
for( int i = m_WhiteSkulls.Count - 1; i >= val; --i )
{
((Item)m_WhiteSkulls[i]).Delete();
m_WhiteSkulls[i].Delete();
m_WhiteSkulls.RemoveAt( i );
}
@ -412,7 +413,7 @@ namespace Server.Engines.CannedEvil
for ( int i = 0; i < m_Creatures.Count; ++i )
{
Mobile m = (Mobile)m_Creatures[i];
Mobile m = m_Creatures[i];
if ( m.Deleted )
{
@ -773,13 +774,13 @@ namespace Server.Engines.CannedEvil
if( m_RedSkulls != null )
{
for( int i = 0; i < m_RedSkulls.Count; ++i )
((Item)m_RedSkulls[i]).Location = GetRedSkullLocation( i );
m_RedSkulls[i].Location = GetRedSkullLocation( i );
}
if( m_WhiteSkulls != null )
{
for( int i = 0; i < m_WhiteSkulls.Count; ++i )
((Item)m_WhiteSkulls[i]).Location = GetWhiteSkullLocation( i );
m_WhiteSkulls[i].Location = GetWhiteSkullLocation( i );
}
m_SpawnArea.X += Location.X - oldLoc.X;
@ -805,13 +806,13 @@ namespace Server.Engines.CannedEvil
if( m_RedSkulls != null )
{
for( int i = 0; i < m_RedSkulls.Count; ++i )
((Item)m_RedSkulls[i]).Map = Map;
m_RedSkulls[i].Map = Map;
}
if( m_WhiteSkulls != null )
{
for( int i = 0; i < m_WhiteSkulls.Count; ++i )
((Item)m_WhiteSkulls[i]).Map = Map;
m_WhiteSkulls[i].Map = Map;
}
UpdateRegion();
@ -833,7 +834,7 @@ namespace Server.Engines.CannedEvil
if( m_RedSkulls != null )
{
for( int i = 0; i < m_RedSkulls.Count; ++i )
((Item)m_RedSkulls[i]).Delete();
m_RedSkulls[i].Delete();
m_RedSkulls.Clear();
}
@ -841,7 +842,7 @@ namespace Server.Engines.CannedEvil
if( m_WhiteSkulls != null )
{
for( int i = 0; i < m_WhiteSkulls.Count; ++i )
((Item)m_WhiteSkulls[i]).Delete();
m_WhiteSkulls[i].Delete();
m_WhiteSkulls.Clear();
}
@ -850,7 +851,7 @@ namespace Server.Engines.CannedEvil
{
for( int i = 0; i < m_Creatures.Count; ++i )
{
Mobile mob = (Mobile)m_Creatures[i];
Mobile mob = m_Creatures[i];
if( !mob.Player )
mob.Delete();
@ -878,7 +879,7 @@ namespace Server.Engines.CannedEvil
writer.Write( (int)4 ); // version
writer.Write( m_ConfinedRoaming );
writer.Write( m_Idol );
writer.WriteItem<IdolOfTheChampion>( m_Idol );
writer.Write( m_HasBeenAdvanced );
writer.Write( m_SpawnArea );
@ -889,11 +890,11 @@ namespace Server.Engines.CannedEvil
writer.Write( (bool)m_Active );
writer.Write( (int)m_Type );
writer.WriteMobileList( m_Creatures, true );
writer.WriteItemList( m_RedSkulls, true );
writer.WriteItemList( m_WhiteSkulls, true );
writer.Write( m_Platform );
writer.Write( m_Altar );
writer.Write( m_Creatures, true );
writer.Write( m_RedSkulls, true );
writer.Write( m_WhiteSkulls, true );
writer.WriteItem<ChampionPlatform>( m_Platform );
writer.WriteItem<ChampionAltar>( m_Altar );
writer.Write( m_ExpireDelay );
writer.WriteDeltaTime( m_ExpireTime );
writer.Write( m_Champion );
@ -916,7 +917,7 @@ namespace Server.Engines.CannedEvil
case 4:
{
m_ConfinedRoaming = reader.ReadBool();
m_Idol = reader.ReadItem() as IdolOfTheChampion;
m_Idol = reader.ReadItem<IdolOfTheChampion>();
m_HasBeenAdvanced = reader.ReadBool();
goto case 3;
@ -953,11 +954,11 @@ namespace Server.Engines.CannedEvil
bool active = reader.ReadBool();
m_Type = (ChampionSpawnType)reader.ReadInt();
m_Creatures = reader.ReadMobileList();
m_RedSkulls = reader.ReadItemList();
m_WhiteSkulls = reader.ReadItemList();
m_Platform = reader.ReadItem() as ChampionPlatform;
m_Altar = reader.ReadItem() as ChampionAltar;
m_Creatures = reader.ReadStrongMobileList();
m_RedSkulls = reader.ReadStrongItemList();
m_WhiteSkulls = reader.ReadStrongItemList();
m_Platform = reader.ReadItem<ChampionPlatform>();
m_Altar = reader.ReadItem<ChampionAltar>();
m_ExpireDelay = reader.ReadTimeSpan();
m_ExpireTime = reader.ReadDeltaTime();
m_Champion = reader.ReadMobile();

View file

@ -6,6 +6,7 @@ using Server.Mobiles;
using Server.Network;
using Server.Regions;
using Server.Commands;
using System.Collections.Generic;
namespace Server.Engines.Doom
{
@ -30,10 +31,10 @@ namespace Server.Engines.Doom
private BaseDoor m_Door;
private BaseAddon m_Addon;
private GauntletSpawner m_Sequence;
private ArrayList m_Creatures;
private List<Mobile> m_Creatures;
private Rectangle2D m_RegionBounds;
private ArrayList m_Traps;
private List<BaseTrap> m_Traps;
private Region m_Region;
@ -75,7 +76,7 @@ namespace Server.Engines.Doom
for ( int i = 0; i < m_Creatures.Count; ++i )
{
Mobile mob = (Mobile)m_Creatures[i];
Mobile mob = m_Creatures[i];
if ( !mob.Deleted )
return false;
@ -163,13 +164,13 @@ namespace Server.Engines.Doom
private Timer m_Timer;
public ArrayList Creatures
public List<Mobile> Creatures
{
get{ return m_Creatures; }
set{ m_Creatures = value; }
}
public ArrayList Traps
public List<BaseTrap> Traps
{
get{ return m_Traps; }
set{ m_Traps = value; }
@ -212,7 +213,7 @@ namespace Server.Engines.Doom
public virtual void ClearTraps()
{
for ( int i = 0; i < m_Traps.Count; ++i )
((Item)m_Traps[i]).Delete();
m_Traps[i].Delete();
m_Traps.Clear();
}
@ -224,7 +225,7 @@ namespace Server.Engines.Doom
if ( map == null )
return;
Item trap = null;
BaseTrap trap = null;
int random = Utility.Random( 100 );
@ -310,7 +311,7 @@ namespace Server.Engines.Doom
public virtual void ClearCreatures()
{
for ( int i = 0; i < m_Creatures.Count; ++i )
((Mobile)m_Creatures[i]).Delete();
m_Creatures[i].Delete();
m_Creatures.Clear();
}
@ -419,8 +420,8 @@ namespace Server.Engines.Doom
Movable = false;
m_TypeName = typeName;
m_Creatures = new ArrayList();
m_Traps = new ArrayList();
m_Creatures = new List<Mobile>();
m_Traps = new List<BaseTrap>();
}
public GauntletSpawner( Serial serial ) : base( serial )
@ -435,14 +436,14 @@ namespace Server.Engines.Doom
writer.Write( m_RegionBounds );
writer.WriteItemList( m_Traps, false );
writer.WriteItemList<BaseTrap>( m_Traps, false );
writer.WriteMobileList( m_Creatures, false );
writer.Write( m_Creatures, false );
writer.Write( m_TypeName );
writer.Write( m_Door );
writer.Write( m_Addon );
writer.Write( m_Sequence );
writer.WriteItem<BaseDoor>( m_Door );
writer.WriteItem<BaseAddon>( m_Addon );
writer.WriteItem<GauntletSpawner>( m_Sequence );
writer.Write( (int) m_State );
}
@ -458,7 +459,7 @@ namespace Server.Engines.Doom
case 1:
{
m_RegionBounds = reader.ReadRect2D();
m_Traps = reader.ReadItemList();
m_Traps = reader.ReadStrongItemList<BaseTrap>();
goto case 0;
}
@ -466,16 +467,16 @@ namespace Server.Engines.Doom
{
if ( version < 1 )
{
m_Traps = new ArrayList();
m_Traps = new List<BaseTrap>();
m_RegionBounds = new Rectangle2D( X - 40, Y - 40, 80, 80 );
}
m_Creatures = reader.ReadMobileList();
m_Creatures = reader.ReadStrongMobileList();
m_TypeName = reader.ReadString();
m_Door = reader.ReadItem() as BaseDoor;
m_Addon = reader.ReadItem() as BaseAddon;
m_Sequence = reader.ReadItem() as GauntletSpawner;
m_Door = reader.ReadItem<BaseDoor>(); ;
m_Addon = reader.ReadItem<BaseAddon>(); ;
m_Sequence = reader.ReadItem<GauntletSpawner>();
State = (GauntletSpawnerState)reader.ReadInt();