Generic-y goodness. Or hatred. You choose.
This commit is contained in:
parent
8737c38c85
commit
c5027649a1
9 changed files with 105 additions and 98 deletions
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue