Changes properties to use automatic property initializers
This commit is contained in:
parent
f0a48ad431
commit
06fa31a7bf
623 changed files with 13072 additions and 19304 deletions
|
|
@ -6,12 +6,11 @@ namespace Server.Engines.CannedEvil
|
|||
{
|
||||
public class ChampionSkullBrazier : AddonComponent
|
||||
{
|
||||
private ChampionSkullPlatform m_Platform;
|
||||
private ChampionSkullType m_Type;
|
||||
private Item m_Skull;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public ChampionSkullPlatform Platform => m_Platform;
|
||||
public ChampionSkullPlatform Platform { get; private set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public ChampionSkullType Type{ get => m_Type;
|
||||
|
|
@ -20,7 +19,7 @@ namespace Server.Engines.CannedEvil
|
|||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public Item Skull{ get => m_Skull;
|
||||
set{ m_Skull = value;
|
||||
m_Platform?.Validate();
|
||||
Platform?.Validate();
|
||||
} }
|
||||
|
||||
public override int LabelNumber => 1049489 + (int)m_Type;
|
||||
|
|
@ -30,7 +29,7 @@ namespace Server.Engines.CannedEvil
|
|||
Hue = 0x455;
|
||||
Light = LightType.Circle300;
|
||||
|
||||
m_Platform = platform;
|
||||
Platform = platform;
|
||||
m_Type = type;
|
||||
}
|
||||
|
||||
|
|
@ -40,7 +39,7 @@ namespace Server.Engines.CannedEvil
|
|||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
m_Platform?.Validate();
|
||||
Platform?.Validate();
|
||||
|
||||
BeginSacrifice( from );
|
||||
}
|
||||
|
|
@ -138,7 +137,7 @@ namespace Server.Engines.CannedEvil
|
|||
writer.Write( (int) 0 ); // version
|
||||
|
||||
writer.Write( (int) m_Type );
|
||||
writer.Write( m_Platform );
|
||||
writer.Write( Platform );
|
||||
writer.Write( m_Skull );
|
||||
}
|
||||
|
||||
|
|
@ -153,10 +152,10 @@ namespace Server.Engines.CannedEvil
|
|||
case 0:
|
||||
{
|
||||
m_Type = (ChampionSkullType)reader.ReadInt();
|
||||
m_Platform = reader.ReadItem() as ChampionSkullPlatform;
|
||||
Platform = reader.ReadItem() as ChampionSkullPlatform;
|
||||
m_Skull = reader.ReadItem();
|
||||
|
||||
if ( m_Platform == null )
|
||||
if ( Platform == null )
|
||||
Delete();
|
||||
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ namespace Server.Engines.CannedEvil
|
|||
private int m_SPawnSzMod;
|
||||
|
||||
private bool m_Active;
|
||||
private bool m_RandomizeType;
|
||||
private ChampionSpawnType m_Type;
|
||||
private List<Mobile> m_Creatures;
|
||||
private List<Item> m_RedSkulls;
|
||||
|
|
@ -26,40 +25,22 @@ namespace Server.Engines.CannedEvil
|
|||
private ChampionPlatform m_Platform;
|
||||
private ChampionAltar m_Altar;
|
||||
private int m_Kills;
|
||||
private Mobile m_Champion;
|
||||
|
||||
//private int m_SpawnRange;
|
||||
private Rectangle2D m_SpawnArea;
|
||||
private ChampionSpawnRegion m_Region;
|
||||
|
||||
private TimeSpan m_ExpireDelay;
|
||||
private DateTime m_ExpireTime;
|
||||
|
||||
private TimeSpan m_RestartDelay;
|
||||
private DateTime m_RestartTime;
|
||||
|
||||
private Timer m_Timer, m_RestartTimer;
|
||||
|
||||
private IdolOfTheChampion m_Idol;
|
||||
|
||||
private bool m_HasBeenAdvanced;
|
||||
private bool m_ConfinedRoaming;
|
||||
|
||||
private Dictionary<Mobile, int> m_DamageEntries;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public bool ConfinedRoaming
|
||||
{
|
||||
get => m_ConfinedRoaming;
|
||||
set => m_ConfinedRoaming = value;
|
||||
}
|
||||
public bool ConfinedRoaming { get; set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public bool HasBeenAdvanced
|
||||
{
|
||||
get => m_HasBeenAdvanced;
|
||||
set => m_HasBeenAdvanced = value;
|
||||
}
|
||||
public bool HasBeenAdvanced { get; set; }
|
||||
|
||||
[Constructible]
|
||||
public ChampionSpawn() : base( 0xBD2 )
|
||||
|
|
@ -75,8 +56,8 @@ namespace Server.Engines.CannedEvil
|
|||
m_Altar = new ChampionAltar( this );
|
||||
m_Idol = new IdolOfTheChampion( this );
|
||||
|
||||
m_ExpireDelay = TimeSpan.FromMinutes( 10.0 );
|
||||
m_RestartDelay = TimeSpan.FromMinutes( 10.0 );
|
||||
ExpireDelay = TimeSpan.FromMinutes( 10.0 );
|
||||
RestartDelay = TimeSpan.FromMinutes( 10.0 );
|
||||
|
||||
m_DamageEntries = new Dictionary<Mobile, int>();
|
||||
|
||||
|
|
@ -114,11 +95,7 @@ namespace Server.Engines.CannedEvil
|
|||
}
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public bool RandomizeType
|
||||
{
|
||||
get => m_RandomizeType;
|
||||
set => m_RandomizeType = value;
|
||||
}
|
||||
public bool RandomizeType { get; set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int Kills
|
||||
|
|
@ -144,28 +121,16 @@ namespace Server.Engines.CannedEvil
|
|||
}
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public TimeSpan RestartDelay
|
||||
{
|
||||
get => m_RestartDelay;
|
||||
set => m_RestartDelay = value;
|
||||
}
|
||||
public TimeSpan RestartDelay { get; set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public DateTime RestartTime => m_RestartTime;
|
||||
public DateTime RestartTime { get; private set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public TimeSpan ExpireDelay
|
||||
{
|
||||
get => m_ExpireDelay;
|
||||
set => m_ExpireDelay = value;
|
||||
}
|
||||
public TimeSpan ExpireDelay { get; set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public DateTime ExpireTime
|
||||
{
|
||||
get => m_ExpireTime;
|
||||
set => m_ExpireTime = value;
|
||||
}
|
||||
public DateTime ExpireTime { get; set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public ChampionSpawnType Type
|
||||
|
|
@ -194,11 +159,7 @@ namespace Server.Engines.CannedEvil
|
|||
}
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public Mobile Champion
|
||||
{
|
||||
get => m_Champion;
|
||||
set => m_Champion = value;
|
||||
}
|
||||
public Mobile Champion { get; set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int Level
|
||||
|
|
@ -266,7 +227,7 @@ namespace Server.Engines.CannedEvil
|
|||
return;
|
||||
|
||||
m_Active = true;
|
||||
m_HasBeenAdvanced = false;
|
||||
HasBeenAdvanced = false;
|
||||
|
||||
m_Timer?.Stop();
|
||||
|
||||
|
|
@ -279,7 +240,7 @@ namespace Server.Engines.CannedEvil
|
|||
|
||||
if ( m_Altar != null )
|
||||
{
|
||||
if ( m_Champion != null )
|
||||
if ( Champion != null )
|
||||
m_Altar.Hue = 0x26;
|
||||
else
|
||||
m_Altar.Hue = 0;
|
||||
|
|
@ -295,7 +256,7 @@ namespace Server.Engines.CannedEvil
|
|||
return;
|
||||
|
||||
m_Active = false;
|
||||
m_HasBeenAdvanced = false;
|
||||
HasBeenAdvanced = false;
|
||||
|
||||
m_Timer?.Stop();
|
||||
|
||||
|
|
@ -316,7 +277,7 @@ namespace Server.Engines.CannedEvil
|
|||
{
|
||||
m_RestartTimer?.Stop();
|
||||
|
||||
m_RestartTime = DateTime.UtcNow + ts;
|
||||
RestartTime = DateTime.UtcNow + ts;
|
||||
|
||||
m_RestartTimer = new RestartTimer( this, ts );
|
||||
m_RestartTimer.Start();
|
||||
|
|
@ -336,7 +297,7 @@ namespace Server.Engines.CannedEvil
|
|||
}
|
||||
}
|
||||
|
||||
m_HasBeenAdvanced = false;
|
||||
HasBeenAdvanced = false;
|
||||
|
||||
Start();
|
||||
}
|
||||
|
|
@ -414,13 +375,13 @@ namespace Server.Engines.CannedEvil
|
|||
if ( !m_Active || Deleted )
|
||||
return;
|
||||
|
||||
if ( m_Champion != null )
|
||||
if ( Champion != null )
|
||||
{
|
||||
if ( m_Champion.Deleted )
|
||||
if ( Champion.Deleted )
|
||||
{
|
||||
RegisterDamageTo( m_Champion );
|
||||
RegisterDamageTo( Champion );
|
||||
|
||||
if ( m_Champion is BaseChampion champion )
|
||||
if ( Champion is BaseChampion champion )
|
||||
AwardArtifact( champion.GetArtifact() );
|
||||
|
||||
m_DamageEntries.Clear();
|
||||
|
|
@ -438,10 +399,10 @@ namespace Server.Engines.CannedEvil
|
|||
}
|
||||
}
|
||||
|
||||
m_Champion = null;
|
||||
Champion = null;
|
||||
Stop();
|
||||
|
||||
BeginRestart( m_RestartDelay );
|
||||
BeginRestart( RestartDelay );
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -543,7 +504,7 @@ namespace Server.Engines.CannedEvil
|
|||
else if ( p > 0 )
|
||||
SetWhiteSkullCount( p / 20 );
|
||||
|
||||
if ( DateTime.UtcNow >= m_ExpireTime )
|
||||
if ( DateTime.UtcNow >= ExpireTime )
|
||||
Expire();
|
||||
|
||||
Respawn();
|
||||
|
|
@ -552,7 +513,7 @@ namespace Server.Engines.CannedEvil
|
|||
|
||||
public void AdvanceLevel()
|
||||
{
|
||||
m_ExpireTime = DateTime.UtcNow + m_ExpireDelay;
|
||||
ExpireTime = DateTime.UtcNow + ExpireDelay;
|
||||
|
||||
if ( Level < 16 )
|
||||
{
|
||||
|
|
@ -588,16 +549,16 @@ namespace Server.Engines.CannedEvil
|
|||
|
||||
try
|
||||
{
|
||||
m_Champion = Activator.CreateInstance( ChampionSpawnInfo.GetInfo( m_Type ).Champion ) as Mobile;
|
||||
Champion = Activator.CreateInstance( ChampionSpawnInfo.GetInfo( m_Type ).Champion ) as Mobile;
|
||||
}
|
||||
catch { }
|
||||
|
||||
m_Champion?.MoveToWorld( new Point3D( X, Y, Z - 15 ), Map );
|
||||
Champion?.MoveToWorld( new Point3D( X, Y, Z - 15 ), Map );
|
||||
}
|
||||
|
||||
public void Respawn()
|
||||
{
|
||||
if ( !m_Active || Deleted || m_Champion != null )
|
||||
if ( !m_Active || Deleted || Champion != null )
|
||||
return;
|
||||
|
||||
while( m_Creatures.Count < ( ( m_SPawnSzMod * ( 200 / 12 ) ) ) - ( GetSubLevel() * ( m_SPawnSzMod * ( 40 / 12 ) ) ) )
|
||||
|
|
@ -619,7 +580,7 @@ namespace Server.Engines.CannedEvil
|
|||
{
|
||||
bc.Tamable = false;
|
||||
|
||||
if ( !m_ConfinedRoaming )
|
||||
if ( !ConfinedRoaming )
|
||||
{
|
||||
bc.Home = Location;
|
||||
bc.RangeHome = (int)(Math.Sqrt( m_SpawnArea.Width * m_SpawnArea.Width + m_SpawnArea.Height * m_SpawnArea.Height )/2);
|
||||
|
|
@ -752,7 +713,7 @@ namespace Server.Engines.CannedEvil
|
|||
SetWhiteSkullCount( 0 );
|
||||
}
|
||||
|
||||
m_ExpireTime = DateTime.UtcNow + m_ExpireDelay;
|
||||
ExpireTime = DateTime.UtcNow + ExpireDelay;
|
||||
}
|
||||
|
||||
public Point3D GetRedSkullLocation( int index )
|
||||
|
|
@ -935,8 +896,8 @@ namespace Server.Engines.CannedEvil
|
|||
m_Creatures.Clear();
|
||||
}
|
||||
|
||||
if ( m_Champion != null && !m_Champion.Player )
|
||||
m_Champion.Delete();
|
||||
if ( Champion != null && !Champion.Player )
|
||||
Champion.Delete();
|
||||
|
||||
Stop();
|
||||
|
||||
|
|
@ -1047,12 +1008,12 @@ namespace Server.Engines.CannedEvil
|
|||
writer.Write( kvp.Value );
|
||||
}
|
||||
|
||||
writer.Write( m_ConfinedRoaming );
|
||||
writer.Write( ConfinedRoaming );
|
||||
writer.WriteItem<IdolOfTheChampion>( m_Idol );
|
||||
writer.Write( m_HasBeenAdvanced );
|
||||
writer.Write( HasBeenAdvanced );
|
||||
writer.Write( m_SpawnArea );
|
||||
|
||||
writer.Write( m_RandomizeType );
|
||||
writer.Write( RandomizeType );
|
||||
|
||||
// writer.Write( m_SpawnRange );
|
||||
writer.Write( m_Kills );
|
||||
|
|
@ -1064,15 +1025,15 @@ namespace Server.Engines.CannedEvil
|
|||
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 );
|
||||
writer.Write( m_RestartDelay );
|
||||
writer.Write( ExpireDelay );
|
||||
writer.WriteDeltaTime( ExpireTime );
|
||||
writer.Write( Champion );
|
||||
writer.Write( RestartDelay );
|
||||
|
||||
writer.Write( m_RestartTimer != null );
|
||||
|
||||
if ( m_RestartTimer != null )
|
||||
writer.WriteDeltaTime( m_RestartTime );
|
||||
writer.WriteDeltaTime( RestartTime );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
|
|
@ -1110,9 +1071,9 @@ namespace Server.Engines.CannedEvil
|
|||
}
|
||||
case 4:
|
||||
{
|
||||
m_ConfinedRoaming = reader.ReadBool();
|
||||
ConfinedRoaming = reader.ReadBool();
|
||||
m_Idol = reader.ReadItem<IdolOfTheChampion>();
|
||||
m_HasBeenAdvanced = reader.ReadBool();
|
||||
HasBeenAdvanced = reader.ReadBool();
|
||||
|
||||
goto case 3;
|
||||
}
|
||||
|
|
@ -1124,7 +1085,7 @@ namespace Server.Engines.CannedEvil
|
|||
}
|
||||
case 2:
|
||||
{
|
||||
m_RandomizeType = reader.ReadBool();
|
||||
RandomizeType = reader.ReadBool();
|
||||
|
||||
goto case 1;
|
||||
}
|
||||
|
|
@ -1153,15 +1114,15 @@ namespace Server.Engines.CannedEvil
|
|||
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();
|
||||
m_RestartDelay = reader.ReadTimeSpan();
|
||||
ExpireDelay = reader.ReadTimeSpan();
|
||||
ExpireTime = reader.ReadDeltaTime();
|
||||
Champion = reader.ReadMobile();
|
||||
RestartDelay = reader.ReadTimeSpan();
|
||||
|
||||
if ( reader.ReadBool() )
|
||||
{
|
||||
m_RestartTime = reader.ReadDeltaTime();
|
||||
BeginRestart( m_RestartTime - DateTime.UtcNow );
|
||||
RestartTime = reader.ReadDeltaTime();
|
||||
BeginRestart( RestartTime - DateTime.UtcNow );
|
||||
}
|
||||
|
||||
if ( version < 4 )
|
||||
|
|
@ -1187,13 +1148,11 @@ namespace Server.Engines.CannedEvil
|
|||
{
|
||||
public override bool YoungProtected => false;
|
||||
|
||||
private ChampionSpawn m_Spawn;
|
||||
|
||||
public ChampionSpawn ChampionSpawn => m_Spawn;
|
||||
public ChampionSpawn ChampionSpawn { get; }
|
||||
|
||||
public ChampionSpawnRegion( ChampionSpawn spawn ) : base( null, spawn.Map, Find( spawn.Location, spawn.Map ), spawn.SpawnArea )
|
||||
{
|
||||
m_Spawn = spawn;
|
||||
ChampionSpawn = spawn;
|
||||
}
|
||||
|
||||
public override bool AllowHousing( Mobile from, Point3D p )
|
||||
|
|
@ -1204,22 +1163,20 @@ namespace Server.Engines.CannedEvil
|
|||
public override void AlterLightLevel( Mobile m, ref int global, ref int personal )
|
||||
{
|
||||
base.AlterLightLevel( m, ref global, ref personal );
|
||||
global = Math.Max( global, 1 + m_Spawn.Level ); //This is a guesstimate. TODO: Verify & get exact values // OSI testing: at 2 red skulls, light = 0x3 ; 1 red = 0x3.; 3 = 8; 9 = 0xD 8 = 0xD 12 = 0x12 10 = 0xD
|
||||
global = Math.Max( global, 1 + ChampionSpawn.Level ); //This is a guesstimate. TODO: Verify & get exact values // OSI testing: at 2 red skulls, light = 0x3 ; 1 red = 0x3.; 3 = 8; 9 = 0xD 8 = 0xD 12 = 0x12 10 = 0xD
|
||||
}
|
||||
}
|
||||
|
||||
public class IdolOfTheChampion : Item
|
||||
{
|
||||
private ChampionSpawn m_Spawn;
|
||||
|
||||
public ChampionSpawn Spawn => m_Spawn;
|
||||
public ChampionSpawn Spawn { get; private set; }
|
||||
|
||||
public override string DefaultName => "Idol of the Champion";
|
||||
|
||||
|
||||
public IdolOfTheChampion( ChampionSpawn spawn ): base( 0x1F18 )
|
||||
{
|
||||
m_Spawn = spawn;
|
||||
Spawn = spawn;
|
||||
Movable = false;
|
||||
}
|
||||
|
||||
|
|
@ -1227,7 +1184,7 @@ namespace Server.Engines.CannedEvil
|
|||
{
|
||||
base.OnAfterDelete();
|
||||
|
||||
m_Spawn?.Delete();
|
||||
Spawn?.Delete();
|
||||
}
|
||||
|
||||
public IdolOfTheChampion( Serial serial ) : base( serial )
|
||||
|
|
@ -1240,7 +1197,7 @@ namespace Server.Engines.CannedEvil
|
|||
|
||||
writer.Write( (int) 0 ); // version
|
||||
|
||||
writer.Write( m_Spawn );
|
||||
writer.Write( Spawn );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
|
|
@ -1253,9 +1210,9 @@ namespace Server.Engines.CannedEvil
|
|||
{
|
||||
case 0:
|
||||
{
|
||||
m_Spawn = reader.ReadItem() as ChampionSpawn;
|
||||
Spawn = reader.ReadItem() as ChampionSpawn;
|
||||
|
||||
if ( m_Spawn == null )
|
||||
if ( Spawn == null )
|
||||
Delete();
|
||||
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -18,103 +18,100 @@ namespace Server.Engines.CannedEvil
|
|||
|
||||
public class ChampionSpawnInfo
|
||||
{
|
||||
private string m_Name;
|
||||
private Type m_Champion;
|
||||
private Type[][] m_SpawnTypes;
|
||||
private string[] m_LevelNames;
|
||||
public string Name { get; }
|
||||
|
||||
public string Name => m_Name;
|
||||
public Type Champion => m_Champion;
|
||||
public Type[][] SpawnTypes => m_SpawnTypes;
|
||||
public string[] LevelNames => m_LevelNames;
|
||||
public Type Champion { get; }
|
||||
|
||||
public Type[][] SpawnTypes { get; }
|
||||
|
||||
public string[] LevelNames { get; }
|
||||
|
||||
public ChampionSpawnInfo( string name, Type champion, string[] levelNames, Type[][] spawnTypes )
|
||||
{
|
||||
m_Name = name;
|
||||
m_Champion = champion;
|
||||
m_LevelNames = levelNames;
|
||||
m_SpawnTypes = spawnTypes;
|
||||
Name = name;
|
||||
Champion = champion;
|
||||
LevelNames = levelNames;
|
||||
SpawnTypes = spawnTypes;
|
||||
}
|
||||
|
||||
public static ChampionSpawnInfo[] Table => m_Table;
|
||||
|
||||
private static readonly ChampionSpawnInfo[] m_Table = {
|
||||
new ChampionSpawnInfo( "Abyss", typeof( Semidar ), new[]{ "Foe", "Assassin", "Conqueror" }, new[] // Abyss
|
||||
{ // Abyss
|
||||
new[]{ typeof( GreaterMongbat ), typeof( Imp ) }, // Level 1
|
||||
new[]{ typeof( Gargoyle ), typeof( Harpy ) }, // Level 2
|
||||
new[]{ typeof( FireGargoyle ), typeof( StoneGargoyle ) }, // Level 3
|
||||
new[]{ typeof( Daemon ), typeof( Succubus ) } // Level 4
|
||||
} ),
|
||||
new ChampionSpawnInfo( "Arachnid", typeof( Mephitis ), new[]{ "Bane", "Killer", "Vanquisher" }, new[] // Arachnid
|
||||
{ // Arachnid
|
||||
new[]{ typeof( Scorpion ), typeof( GiantSpider ) }, // Level 1
|
||||
new[]{ typeof( TerathanDrone ), typeof( TerathanWarrior ) }, // Level 2
|
||||
new[]{ typeof( DreadSpider ), typeof( TerathanMatriarch ) }, // Level 3
|
||||
new[]{ typeof( PoisonElemental ), typeof( TerathanAvenger ) } // Level 4
|
||||
} ),
|
||||
new ChampionSpawnInfo( "Cold Blood", typeof( Rikktor ), new[]{ "Blight", "Slayer", "Destroyer" }, new[] // Cold Blood
|
||||
{ // Cold Blood
|
||||
new[]{ typeof( Lizardman ), typeof( Snake ) }, // Level 1
|
||||
new[]{ typeof( LavaLizard ), typeof( OphidianWarrior ) }, // Level 2
|
||||
new[]{ typeof( Drake ), typeof( OphidianArchmage ) }, // Level 3
|
||||
new[]{ typeof( Dragon ), typeof( OphidianKnight ) } // Level 4
|
||||
} ),
|
||||
new ChampionSpawnInfo( "Forest Lord", typeof( LordOaks ), new[]{ "Enemy", "Curse", "Slaughterer" }, new[] // Forest Lord
|
||||
{ // Forest Lord
|
||||
new[]{ typeof( Pixie ), typeof( ShadowWisp ) }, // Level 1
|
||||
new[]{ typeof( Kirin ), typeof( Wisp ) }, // Level 2
|
||||
new[]{ typeof( Centaur ), typeof( Unicorn ) }, // Level 3
|
||||
new[]{ typeof( EtherealWarrior ), typeof( SerpentineDragon ) } // Level 4
|
||||
} ),
|
||||
new ChampionSpawnInfo( "Vermin Horde", typeof( Barracoon ), new[]{ "Adversary", "Subjugator", "Eradicator" }, new[] // Vermin Horde
|
||||
{ // Vermin Horde
|
||||
new[]{ typeof( GiantRat ), typeof( Slime ) }, // Level 1
|
||||
new[]{ typeof( DireWolf ), typeof( Ratman ) }, // Level 2
|
||||
new[]{ typeof( HellHound ), typeof( RatmanMage ) }, // Level 3
|
||||
new[]{ typeof( RatmanArcher ), typeof( SilverSerpent ) } // Level 4
|
||||
} ),
|
||||
new ChampionSpawnInfo( "Unholy Terror", typeof( Neira ), new[]{ "Scourge", "Punisher", "Nemesis" }, new[] // Unholy Terror
|
||||
{ // Unholy Terror
|
||||
(Core.AOS ?
|
||||
public static ChampionSpawnInfo[] Table { get; } =
|
||||
{
|
||||
new ChampionSpawnInfo( "Abyss", typeof( Semidar ), new[]{ "Foe", "Assassin", "Conqueror" }, new[] // Abyss
|
||||
{ // Abyss
|
||||
new[]{ typeof( GreaterMongbat ), typeof( Imp ) }, // Level 1
|
||||
new[]{ typeof( Gargoyle ), typeof( Harpy ) }, // Level 2
|
||||
new[]{ typeof( FireGargoyle ), typeof( StoneGargoyle ) }, // Level 3
|
||||
new[]{ typeof( Daemon ), typeof( Succubus ) } // Level 4
|
||||
} ),
|
||||
new ChampionSpawnInfo( "Arachnid", typeof( Mephitis ), new[]{ "Bane", "Killer", "Vanquisher" }, new[] // Arachnid
|
||||
{ // Arachnid
|
||||
new[]{ typeof( Scorpion ), typeof( GiantSpider ) }, // Level 1
|
||||
new[]{ typeof( TerathanDrone ), typeof( TerathanWarrior ) }, // Level 2
|
||||
new[]{ typeof( DreadSpider ), typeof( TerathanMatriarch ) }, // Level 3
|
||||
new[]{ typeof( PoisonElemental ), typeof( TerathanAvenger ) } // Level 4
|
||||
} ),
|
||||
new ChampionSpawnInfo( "Cold Blood", typeof( Rikktor ), new[]{ "Blight", "Slayer", "Destroyer" }, new[] // Cold Blood
|
||||
{ // Cold Blood
|
||||
new[]{ typeof( Lizardman ), typeof( Snake ) }, // Level 1
|
||||
new[]{ typeof( LavaLizard ), typeof( OphidianWarrior ) }, // Level 2
|
||||
new[]{ typeof( Drake ), typeof( OphidianArchmage ) }, // Level 3
|
||||
new[]{ typeof( Dragon ), typeof( OphidianKnight ) } // Level 4
|
||||
} ),
|
||||
new ChampionSpawnInfo( "Forest Lord", typeof( LordOaks ), new[]{ "Enemy", "Curse", "Slaughterer" }, new[] // Forest Lord
|
||||
{ // Forest Lord
|
||||
new[]{ typeof( Pixie ), typeof( ShadowWisp ) }, // Level 1
|
||||
new[]{ typeof( Kirin ), typeof( Wisp ) }, // Level 2
|
||||
new[]{ typeof( Centaur ), typeof( Unicorn ) }, // Level 3
|
||||
new[]{ typeof( EtherealWarrior ), typeof( SerpentineDragon ) } // Level 4
|
||||
} ),
|
||||
new ChampionSpawnInfo( "Vermin Horde", typeof( Barracoon ), new[]{ "Adversary", "Subjugator", "Eradicator" }, new[] // Vermin Horde
|
||||
{ // Vermin Horde
|
||||
new[]{ typeof( GiantRat ), typeof( Slime ) }, // Level 1
|
||||
new[]{ typeof( DireWolf ), typeof( Ratman ) }, // Level 2
|
||||
new[]{ typeof( HellHound ), typeof( RatmanMage ) }, // Level 3
|
||||
new[]{ typeof( RatmanArcher ), typeof( SilverSerpent ) } // Level 4
|
||||
} ),
|
||||
new ChampionSpawnInfo( "Unholy Terror", typeof( Neira ), new[]{ "Scourge", "Punisher", "Nemesis" }, new[] // Unholy Terror
|
||||
{ // Unholy Terror
|
||||
(Core.AOS ?
|
||||
new[]{ typeof( Bogle ), typeof( Ghoul ), typeof( Shade ), typeof( Spectre ), typeof( Wraith ) } // Level 1 (Pre-AoS)
|
||||
: new[]{ typeof( Ghoul ), typeof( Shade ), typeof( Spectre ), typeof( Wraith ) } ), // Level 1
|
||||
|
||||
new[]{ typeof( BoneMagi ), typeof( Mummy ), typeof( SkeletalMage ) }, // Level 2
|
||||
new[]{ typeof( BoneKnight ), typeof( Lich ), typeof( SkeletalKnight ) }, // Level 3
|
||||
new[]{ typeof( LichLord ), typeof( RottingCorpse ) } // Level 4
|
||||
} ),
|
||||
new ChampionSpawnInfo( "Sleeping Dragon", typeof( Serado ), new[]{ "Rival", "Challenger", "Antagonist" } , new[]
|
||||
{ // Unholy Terror
|
||||
new[]{ typeof( DeathwatchBeetleHatchling ), typeof( Lizardman ) },
|
||||
new[]{ typeof( DeathwatchBeetle ), typeof( Kappa ) },
|
||||
new[]{ typeof( LesserHiryu ), typeof( RevenantLion ) },
|
||||
new[]{ typeof( Hiryu ), typeof( Oni ) }
|
||||
} ),
|
||||
new ChampionSpawnInfo( "Glade", typeof( Twaulo ), new[]{ "Banisher", "Enforcer", "Eradicator" } , new[]
|
||||
{ // Glade
|
||||
new[]{ typeof( Pixie ), typeof( ShadowWisp ) },
|
||||
new[]{ typeof( Centaur ), typeof( MLDryad ) },
|
||||
new[]{ typeof( Satyr ), typeof( CuSidhe ) },
|
||||
new[]{ typeof( FeralTreefellow ), typeof( RagingGrizzlyBear ) }
|
||||
} ),
|
||||
new ChampionSpawnInfo( "The Corrupt", typeof( Ilhenir ), new[]{ "Cleanser", "Expunger", "Depurator" } , new[]
|
||||
{ // Unholy Terror
|
||||
new[]{ typeof( PlagueSpawn ), typeof( Bogling ) },
|
||||
new[]{ typeof( PlagueBeast ), typeof( BogThing ) },
|
||||
new[]{ typeof( PlagueBeastLord ), typeof( InterredGrizzle ) },
|
||||
new[]{ typeof( FetidEssence ), typeof( PestilentBandage ) }
|
||||
} )
|
||||
};
|
||||
new[]{ typeof( BoneMagi ), typeof( Mummy ), typeof( SkeletalMage ) }, // Level 2
|
||||
new[]{ typeof( BoneKnight ), typeof( Lich ), typeof( SkeletalKnight ) }, // Level 3
|
||||
new[]{ typeof( LichLord ), typeof( RottingCorpse ) } // Level 4
|
||||
} ),
|
||||
new ChampionSpawnInfo( "Sleeping Dragon", typeof( Serado ), new[]{ "Rival", "Challenger", "Antagonist" } , new[]
|
||||
{ // Unholy Terror
|
||||
new[]{ typeof( DeathwatchBeetleHatchling ), typeof( Lizardman ) },
|
||||
new[]{ typeof( DeathwatchBeetle ), typeof( Kappa ) },
|
||||
new[]{ typeof( LesserHiryu ), typeof( RevenantLion ) },
|
||||
new[]{ typeof( Hiryu ), typeof( Oni ) }
|
||||
} ),
|
||||
new ChampionSpawnInfo( "Glade", typeof( Twaulo ), new[]{ "Banisher", "Enforcer", "Eradicator" } , new[]
|
||||
{ // Glade
|
||||
new[]{ typeof( Pixie ), typeof( ShadowWisp ) },
|
||||
new[]{ typeof( Centaur ), typeof( MLDryad ) },
|
||||
new[]{ typeof( Satyr ), typeof( CuSidhe ) },
|
||||
new[]{ typeof( FeralTreefellow ), typeof( RagingGrizzlyBear ) }
|
||||
} ),
|
||||
new ChampionSpawnInfo( "The Corrupt", typeof( Ilhenir ), new[]{ "Cleanser", "Expunger", "Depurator" } , new[]
|
||||
{ // Unholy Terror
|
||||
new[]{ typeof( PlagueSpawn ), typeof( Bogling ) },
|
||||
new[]{ typeof( PlagueBeast ), typeof( BogThing ) },
|
||||
new[]{ typeof( PlagueBeastLord ), typeof( InterredGrizzle ) },
|
||||
new[]{ typeof( FetidEssence ), typeof( PestilentBandage ) }
|
||||
} )
|
||||
};
|
||||
|
||||
public static ChampionSpawnInfo GetInfo( ChampionSpawnType type )
|
||||
{
|
||||
int v = (int)type;
|
||||
|
||||
if ( v < 0 || v >= m_Table.Length )
|
||||
if ( v < 0 || v >= Table.Length )
|
||||
v = 0;
|
||||
|
||||
return m_Table[v];
|
||||
return Table[v];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue