quick hax to allow rational stat gains.

This commit is contained in:
xavier 2013-02-13 21:36:13 +00:00
parent d718a5a28c
commit 6ab3977c08
4 changed files with 516 additions and 228 deletions

View file

@ -9,38 +9,42 @@ namespace Server.Engines.CannedEvil
{
private ChampionSpawn m_Spawn;
public ChampionPlatform( ChampionSpawn spawn )
public ChampionPlatform( ChampionSpawn spawn ) : this ( spawn, false )
{
}
public ChampionPlatform( ChampionSpawn spawn, bool rebuild )
{
m_Spawn = spawn;
for ( int x = -2; x <= 2; ++x )
for ( int y = -2; y <= 2; ++y )
AddComponent( 0x750, x, y, -5 );
AddComponent( m_Spawn.PlatformData.ItemIDPlaformBlocks, x, y, -5 );
for ( int x = -1; x <= 1; ++x )
for ( int y = -1; y <= 1; ++y )
AddComponent( 0x750, x, y, 0 );
AddComponent( m_Spawn.PlatformData.ItemIDPlaformBlocks, x, y, 0 );
for ( int i = -1; i <= 1; ++i )
{
AddComponent( 0x751, i, 2, 0 );
AddComponent( 0x752, 2, i, 0 );
AddComponent( m_Spawn.PlatformData.ItemIDStepsS, i, 2, 0 );
AddComponent( m_Spawn.PlatformData.ItemIDStepsE, 2, i, 0 );
AddComponent( 0x753, i, -2, 0 );
AddComponent( 0x754, -2, i, 0 );
AddComponent( m_Spawn.PlatformData.ItemIDStepsN, i, -2, 0 );
AddComponent( m_Spawn.PlatformData.ItemIDStepsW, -2, i, 0 );
}
AddComponent( 0x759, -2, -2, 0 );
AddComponent( 0x75A, 2, 2, 0 );
AddComponent( 0x75B, -2, 2, 0 );
AddComponent( 0x75C, 2, -2, 0 );
AddComponent( m_Spawn.PlatformData.ItemIDCornerNW, -2, -2, 0 );
AddComponent( m_Spawn.PlatformData.ItemIDCornerSE, 2, 2, 0 );
AddComponent( m_Spawn.PlatformData.ItemIDCornerSW, -2, 2, 0 );
AddComponent( m_Spawn.PlatformData.ItemIDCornerNE, 2, -2, 0 );
}
public void AddComponent( int id, int x, int y, int z )
{
AddonComponent ac = new AddonComponent( id );
ac.Hue = 0x497;
ac.Hue = m_Spawn.PlatformData.AddonHueInactive;
AddComponent( ac, x, y, z );
}
@ -49,7 +53,7 @@ namespace Server.Engines.CannedEvil
{
base.OnAfterDelete();
if ( m_Spawn != null )
if( m_Spawn != null )
m_Spawn.Delete();
}

View file

@ -11,6 +11,184 @@ namespace Server.Engines.CannedEvil
{
public class ChampionSpawn : Item
{
[CommandProperty( AccessLevel.GameMaster )]
public bool HasPlatform
{
get
{
return m_HasPlatform;
}
set
{
if( m_HasPlatform != value )
{
m_HasPlatform = value;
if( value == true && ( m_Platform == null || m_Platform.Deleted ) )
{
m_Platform = new ChampionPlatform( this, false );
}
else if( value == false && ( m_Platform != null && !m_Platform.Deleted ) )
{
m_Platform.Delete();
}
}
}
}
private bool m_HasPlatform;
[CommandProperty( AccessLevel.GameMaster )]
public bool ConfinedRoaming { get { return m_ConfinedRoaming; } set { m_ConfinedRoaming = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public bool HasBeenAdvanced { get { return m_HasBeenAdvanced; } set { m_HasBeenAdvanced = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public CustomSpawnData CustomSpawnData
{
get
{
if( m_CustomSpawnData == null )
{
m_CustomSpawnData = new CustomSpawnData();
}
return m_CustomSpawnData;
}
set
{
m_CustomSpawnData = value;
}
}
[CommandProperty( AccessLevel.GameMaster )]
public PlatformData PlatformData
{
get
{
if( m_PlatformData == null )
{
m_PlatformData = new PlatformData();
}
return m_PlatformData;
}
set
{
m_PlatformData = value;
}
}
[CommandProperty( AccessLevel.GameMaster )]
public Mobile LinkedChamp { get { return m_LinkedChamp; } set { m_LinkedChamp = value; } }
public ChampionSpawnInfo CustomSpawnInfo
{
get
{
if( m_CustomSpawnInfo == null )
{
m_CustomSpawnInfo = ReGenerateInfo();
}
return m_CustomSpawnInfo;
}
set
{
m_CustomSpawnInfo = value;
}
}
[CommandProperty( AccessLevel.GameMaster )]
public int BaseMaxKills { get { return m_BaseMaxKills; } set { m_BaseMaxKills = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int AdjustMaxKills { get { return m_AdjustMaxKills; } set { m_AdjustMaxKills = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public bool Traps { get { return m_Traps; } set { m_Traps = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public double TrapsDensity { get { return m_TrapsDensity; } set { m_TrapsDensity = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public double ArtifactDropChance { get { return m_ArtifactDropChance; } set { m_ArtifactDropChance = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public Type Reward { get { return m_Reward; } set { m_Reward = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public Type RewardBig { get { return m_RewardBig; } set { m_RewardBig = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public bool RandomizeType { get { return m_RandomizeType; } set { m_RandomizeType = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int Kills { get { return m_Kills; } set { m_Kills = value; InvalidateProperties(); } }
[CommandProperty( AccessLevel.GameMaster )]
public Rectangle2D SpawnArea { get { return m_SpawnArea; } set { m_SpawnArea = value; InvalidateProperties(); UpdateRegion(); } }
[CommandProperty( AccessLevel.GameMaster )]
public TimeSpan RestartDelay { get { return m_RestartDelay; } set { m_RestartDelay = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public DateTime RestartTime { get { return m_RestartTime; } }
[CommandProperty( AccessLevel.GameMaster )]
public TimeSpan ExpireDelay { get { return m_ExpireDelay; } set { m_ExpireDelay = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public DateTime ExpireTime { get { return m_ExpireTime; } set { m_ExpireTime = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public ChampionSpawnType Type { get { return m_Type; } set { m_Type = value; InvalidateProperties(); } }
[CommandProperty( AccessLevel.GameMaster )]
public bool Active { get { return m_Active; } set { if( value ) Start(); else Stop(); InvalidateProperties(); } }
[CommandProperty( AccessLevel.GameMaster )]
public Mobile Champion { get { return m_Champion; } set { m_Champion = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int Level
{
get
{
return m_RedSkulls.Count;
}
set
{
for( int i = m_RedSkulls.Count - 1; i >= value; --i )
{
m_RedSkulls[ i ].Delete();
m_RedSkulls.RemoveAt( i );
}
for( int i = m_RedSkulls.Count; i < value; ++i )
{
Item skull = new Item( m_PlatformData.ItemIDRedCandles );
skull.Hue = m_PlatformData.HueRedCandles;
skull.Movable = false;
skull.Light = LightType.Circle150;
skull.MoveToWorld( GetRedSkullLocation( i ), Map );
m_RedSkulls.Add( skull );
}
InvalidateProperties();
}
}
public ChampionPlatform Platform { get { return m_Platform; } }
public ChampionAltar Altar { get { return m_Altar; } }
private CustomSpawnData m_CustomSpawnData;
private PlatformData m_PlatformData;
private Mobile m_LinkedChamp;
private bool m_Active;
private bool m_RandomizeType;
private ChampionSpawnType m_Type;
@ -21,39 +199,26 @@ namespace Server.Engines.CannedEvil
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 int m_BaseMaxKills;
private int m_AdjustMaxKills;
private Dictionary<Mobile, int> m_DamageEntries;
[CommandProperty( AccessLevel.GameMaster )]
public bool ConfinedRoaming
{
get { return m_ConfinedRoaming; }
set { m_ConfinedRoaming = value; }
}
[CommandProperty( AccessLevel.GameMaster )]
public bool HasBeenAdvanced
{
get { return m_HasBeenAdvanced; }
set { m_HasBeenAdvanced = value; }
}
private ChampionSpawnInfo m_CustomSpawnInfo;
private Type m_RewardBig;
private Type m_Reward;
private double m_ArtifactDropChance;
private double m_TrapsDensity;
private bool m_Traps;
private bool m_Rebuild;
[Constructable]
public ChampionSpawn() : base( 0xBD2 )
@ -74,15 +239,96 @@ namespace Server.Engines.CannedEvil
m_DamageEntries = new Dictionary<Mobile, int>();
m_CustomSpawnData = new CustomSpawnData();
Z += 20;
Timer.DelayCall( TimeSpan.Zero, new TimerCallback( SetInitialSpawnArea ) );
}
public void SetInitialSpawnArea()
{
//Previous default used to be 24;
SpawnArea = new Rectangle2D( new Point2D( X - 24, Y - 24 ), new Point2D( X + 24, Y + 24 ) );
}
private bool Validate()
{
return (
( m_CustomSpawnData.ChampType != null || m_LinkedChamp != null ) &&
( m_CustomSpawnData.MobLevel1A != null && m_CustomSpawnData.MobLevel1B != null ) &&
( m_CustomSpawnData.MobLevel2A != null && m_CustomSpawnData.MobLevel2B != null ) &&
( m_CustomSpawnData.MobLevel3A != null && m_CustomSpawnData.MobLevel3B != null ) &&
( m_CustomSpawnData.MobLevel4A != null && m_CustomSpawnData.MobLevel4B != null ) &&
m_CustomSpawnData.SpawnName != null &&
m_CustomSpawnData.TitleLevel1 != null &&
m_CustomSpawnData.TitleLevel2 != null &&
m_CustomSpawnData.TitleLevel3 != null &&
m_CustomSpawnData.ChampType != null
);
}
public ChampionSpawnInfo ReGenerateInfo()
{
if( !Validate() )
{
return null;
}
return new ChampionSpawnInfo
(
m_CustomSpawnData.SpawnName,
ConvertToMobileType( m_CustomSpawnData.ChampType ),
new string[]
{
m_CustomSpawnData.TitleLevel1,
m_CustomSpawnData.TitleLevel2,
m_CustomSpawnData.TitleLevel3
},
new Type[][]
{
new Type[]{ ConvertToMobileType( m_CustomSpawnData.MobLevel1A ), ConvertToMobileType( m_CustomSpawnData.MobLevel1B ) },
new Type[]{ ConvertToMobileType( m_CustomSpawnData.MobLevel2A ), ConvertToMobileType( m_CustomSpawnData.MobLevel2B ) },
new Type[]{ ConvertToMobileType( m_CustomSpawnData.MobLevel3A ), ConvertToMobileType( m_CustomSpawnData.MobLevel3B ) },
new Type[]{ ConvertToMobileType( m_CustomSpawnData.MobLevel4A ), ConvertToMobileType( m_CustomSpawnData.MobLevel4B ) }
}
);
}
private Type ConvertToMobileType( string type )
{
try
{
if( type != null )
{
Type newType = ScriptCompiler.FindTypeByName( type, true );
if( newType != null )
{
return newType;
}
}
}
catch
{
}
return null;
}
private Item GetCustomDrop()
{
Type type = ( Utility.RandomDouble() < .34 ) ? m_RewardBig.GetType() : m_Reward.GetType();
if( type != null )
{
return InstantiateObject( type ) as Item;
}
return null;
}
public void UpdateRegion()
{
if( m_Region != null )
@ -93,189 +339,9 @@ namespace Server.Engines.CannedEvil
m_Region = new ChampionSpawnRegion( this );
m_Region.Register();
}
/*
if( m_Region == null )
{
m_Region = new ChampionSpawnRegion( this );
}
else
{
m_Region.Unregister();
//Why doesn't Region allow me to set it's map/Area meself? ><
m_Region = new ChampionSpawnRegion( this );
}
*/
}
[CommandProperty( AccessLevel.GameMaster )]
public bool RandomizeType
{
get { return m_RandomizeType; }
set { m_RandomizeType = value; }
}
[CommandProperty( AccessLevel.GameMaster )]
public int Kills
{
get
{
return m_Kills;
}
set
{
m_Kills = value;
InvalidateProperties();
}
}
[CommandProperty( AccessLevel.GameMaster )]
public Rectangle2D SpawnArea
{
get
{
return m_SpawnArea;
}
set
{
m_SpawnArea = value;
InvalidateProperties();
UpdateRegion();
}
}
[CommandProperty( AccessLevel.GameMaster )]
public TimeSpan RestartDelay
{
get
{
return m_RestartDelay;
}
set
{
m_RestartDelay = value;
}
}
[CommandProperty( AccessLevel.GameMaster )]
public DateTime RestartTime
{
get
{
return m_RestartTime;
}
}
[CommandProperty( AccessLevel.GameMaster )]
public TimeSpan ExpireDelay
{
get
{
return m_ExpireDelay;
}
set
{
m_ExpireDelay = value;
}
}
[CommandProperty( AccessLevel.GameMaster )]
public DateTime ExpireTime
{
get
{
return m_ExpireTime;
}
set
{
m_ExpireTime = value;
}
}
[CommandProperty( AccessLevel.GameMaster )]
public ChampionSpawnType Type
{
get
{
return m_Type;
}
set
{
m_Type = value;
InvalidateProperties();
}
}
[CommandProperty( AccessLevel.GameMaster )]
public bool Active
{
get
{
return m_Active;
}
set
{
if( value )
Start();
else
Stop();
InvalidateProperties();
}
}
[CommandProperty( AccessLevel.GameMaster )]
public Mobile Champion
{
get
{
return m_Champion;
}
set
{
m_Champion = value;
}
}
[CommandProperty( AccessLevel.GameMaster )]
public int Level
{
get
{
return m_RedSkulls.Count;
}
set
{
for( int i = m_RedSkulls.Count - 1; i >= value; --i )
{
m_RedSkulls[i].Delete();
m_RedSkulls.RemoveAt( i );
}
for( int i = m_RedSkulls.Count; i < value; ++i )
{
Item skull = new Item( 0x1854 );
skull.Hue = 0x26;
skull.Movable = false;
skull.Light = LightType.Circle150;
skull.MoveToWorld( GetRedSkullLocation( i ), Map );
m_RedSkulls.Add( skull );
}
InvalidateProperties();
}
}
public int MaxKills
{
get
{
return 250 - (Level * 12);
}
}
public int MaxKills { get { return m_BaseMaxKills - ( Level * m_AdjustMaxKills ); } }
public bool IsChampionSpawn( Mobile m )
{
@ -292,11 +358,11 @@ namespace Server.Engines.CannedEvil
for( int i = m_WhiteSkulls.Count; i < val; ++i )
{
Item skull = new Item( 0x1854 );
Item skull = new Item( m_PlatformData.ItemIDWhiteCandles );
skull.Movable = false;
skull.Light = LightType.Circle150;
skull.Hue = m_PlatformData.HueWhiteCandles;
skull.MoveToWorld( GetWhiteSkullLocation( i ), Map );
m_WhiteSkulls.Add( skull );
@ -328,13 +394,13 @@ namespace Server.Engines.CannedEvil
if( m_Altar != null )
{
if ( m_Champion != null )
m_Altar.Hue = 0x26;
m_Altar.Hue = m_PlatformData.AddonHueChampion;
else
m_Altar.Hue = 0;
m_Altar.Hue = m_PlatformData.AddonHueActive;
}
if ( m_Platform != null )
m_Platform.Hue = 0x452;
m_Platform.Hue = m_PlatformData.PlatformHueActive;
}
public void Stop()
@ -356,10 +422,10 @@ namespace Server.Engines.CannedEvil
m_RestartTimer = null;
if( m_Altar != null )
m_Altar.Hue = 0;
m_Altar.Hue = m_PlatformData.AddonHueInactive;
if ( m_Platform != null )
m_Platform.Hue = 0x497;
m_Platform.Hue = m_PlatformData.PlatformHueInactive;
}
public void BeginRestart( TimeSpan ts )
@ -650,6 +716,27 @@ namespace Server.Engines.CannedEvil
m_Champion.MoveToWorld( new Point3D( X, Y, Z - 15 ), Map );
}
public object InstantiateObject( object obj )
{
if( obj is BaseCreature )
{
try
{
object Object = Activator.CreateInstance( obj.GetType() ) as object;
if( Object is BaseCreature || Object is Item )
{
return Object;
}
}
catch
{
}
}
return null;
}
public void Respawn()
{
if( !m_Active || Deleted || m_Champion != null )
@ -1006,7 +1093,7 @@ namespace Server.Engines.CannedEvil
{
}
public virtual void RegisterDamageTo( Mobile m )
public void RegisterDamageTo( Mobile m )
{
if( m == null )
return;
@ -1276,12 +1363,15 @@ namespace Server.Engines.CannedEvil
}
public IdolOfTheChampion( ChampionSpawn spawn ): base( 0x1F18 )
public IdolOfTheChampion( ChampionSpawn spawn )
: base( spawn.PlatformData.ItemIDIdol )
{
m_Spawn = spawn;
Movable = false;
}
public override bool DisplayWeight { get { return false; } }
public override void OnAfterDelete()
{
base.OnAfterDelete();

View file

@ -1,6 +1,7 @@
using System;
using Server;
using Server.Mobiles;
using Server.Items;
namespace Server.Engines.CannedEvil
{
@ -14,7 +15,200 @@ namespace Server.Engines.CannedEvil
UnholyTerror,
SleepingDragon,
Glade,
Pestilence
Pestilence,
Custom
}
[NoSort]
[Parsable]
[PropertyObject]
public class PlatformData
{
[CommandProperty( AccessLevel.GameMaster )]
public Type Addon { get { return m_Addon; } set { m_Addon = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int AddonHueActive { get { return m_AddonHueActive; } set { m_AddonHueActive = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int AddonHueInactive { get { return m_AddonHueInactive; } set { m_AddonHueInactive = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int AddonHueChampion { get { return m_AddonHueChampion; } set { m_AddonHueChampion = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int PlatformHueActive { get { return m_PlaformHueActive; } set { m_PlaformHueActive = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int PlatformHueInactive { get { return m_PlatformHueInactive; } set { m_PlatformHueInactive = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int ItemIDPlaformBlocks { get { return m_ItemIDPlaformBlocks; } set { m_ItemIDPlaformBlocks = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int ItemIDCornerNW { get { return m_ItemIDCornerNW; } set { m_ItemIDCornerNW = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int ItemIDCornerSE { get { return m_ItemIDCornerSE; } set { m_ItemIDCornerSE = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int ItemIDCornerSW { get { return m_ItemIDCornerSW; } set { m_ItemIDCornerSW = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int ItemIDCornerNE { get { return m_ItemIDCornerNE; } set { m_ItemIDCornerNE = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int ItemIDStepsS { get { return m_ItemIDStepsS; } set { m_ItemIDStepsS = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int ItemIDStepsE { get { return m_ItemIDStepsE; } set { m_ItemIDStepsE = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int ItemIDStepsN { get { return m_ItemIDStepsN; } set { m_ItemIDStepsN = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int ItemIDStepsW { get { return m_ItemIDStepsW; } set { m_ItemIDStepsW = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int ItemIDRedCandles { get { return m_ItemIDRedCandles; } set { m_ItemIDRedCandles = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int HueRedCandles { get { return m_HueRedCandles; } set { m_HueRedCandles = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int ItemIDWhiteCandles { get { return m_ItemIDWhiteCandles; } set { m_ItemIDWhiteCandles = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int HueWhiteCandles { get { return m_HueWhiteCandles; } set { m_HueWhiteCandles = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int ItemIDIdol { get { return m_ItemIDIdol; } set { m_ItemIDIdol = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public int HueIdol { get { return m_HueIdol; } set { m_HueIdol = value; } }
private int m_ItemIDWhiteCandles;
private int m_ItemIDRedCandles;
private int m_ItemIDPlaformBlocks;
private int m_ItemIDCornerNE;
private int m_ItemIDCornerNW;
private int m_ItemIDCornerSW;
private int m_ItemIDCornerSE;
private int m_ItemIDStepsS;
private int m_ItemIDStepsE;
private int m_ItemIDStepsN;
private int m_ItemIDStepsW;
private int m_ItemIDIdol;
private int m_HueWhiteCandles;
private int m_HueRedCandles;
private int m_PlaformHueActive;
private int m_PlatformHueInactive;
private Type m_Addon;
private int m_AddonHueActive;
private int m_AddonHueInactive;
private int m_AddonHueChampion;
private int m_HueIdol;
public PlatformData()
{
m_Addon = typeof( PentagramAddon );
m_AddonHueInactive = 0x455;
m_AddonHueActive = 0;
m_AddonHueChampion = 0x26;
m_ItemIDPlaformBlocks = 0x3ee;
m_ItemIDCornerNW = 0x3f7;
m_ItemIDCornerSE = 0x3f8;
m_ItemIDCornerSW = 0x3f9;
m_ItemIDCornerNE = 0x3fa;
m_ItemIDStepsS = 0x3ef;
m_ItemIDStepsE = 0x3f0;
m_ItemIDStepsN = 0x3f1;
m_ItemIDStepsW = 0x3f2;
m_PlaformHueActive = 0x455;
m_PlatformHueInactive = 0x454;
m_ItemIDRedCandles = 0x1854;
m_HueRedCandles = 0x26;
m_ItemIDWhiteCandles = 0x1854;
m_HueWhiteCandles = 0x26;
m_ItemIDIdol = 0x1f18;
m_HueIdol = 0;
}
}
[NoSort]
[Parsable]
[PropertyObject]
public class CustomSpawnData
{
[CommandProperty( AccessLevel.GameMaster )]
public string SpawnName { get { return m_SpawnName; } set { m_SpawnName = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public string ChampType { get { return m_ChampType; } set { m_ChampType = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public string TitleLevel1 { get { return m_TitleLevel1; } set { m_TitleLevel1 = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public string TitleLevel2 { get { return m_TitleLevel2; } set { m_TitleLevel2 = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public string TitleLevel3 { get { return m_TitleLevel3; } set { m_TitleLevel3 = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public string MobLevel1A { get { return m_MobLevel1A; } set { m_MobLevel1A = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public string MobLevel1B { get { return m_MobLevel1B; } set { m_MobLevel1B = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public string MobLevel2A { get { return m_MobLevel2A; } set { m_MobLevel2A = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public string MobLevel2B { get { return m_MobLevel2B; } set { m_MobLevel2B = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public string MobLevel3A { get { return m_MobLevel3A; } set { m_MobLevel3A = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public string MobLevel3B { get { return m_MobLevel3B; } set { m_MobLevel3B = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public string MobLevel4A { get { return m_MobLevel4A; } set { m_MobLevel4A = value; } }
[CommandProperty( AccessLevel.GameMaster )]
public string MobLevel4B { get { return m_MobLevel4B; } set { m_MobLevel4B = value; } }
private string m_SpawnName;
private string m_ChampType;
private string m_TitleLevel1;
private string m_TitleLevel2;
private string m_TitleLevel3;
private string m_MobLevel1A;
private string m_MobLevel1B;
private string m_MobLevel2A;
private string m_MobLevel2B;
private string m_MobLevel3A;
private string m_MobLevel3B;
private string m_MobLevel4A;
private string m_MobLevel4B;
public CustomSpawnData()
{
m_SpawnName = "Demise";
m_ChampType = "GreaterMongbat";
m_TitleLevel1 = "Challenger";
m_TitleLevel2 = "Conqueror";
m_TitleLevel3 = "Champion";
m_MobLevel1A = "Mongbat";
m_MobLevel1B = "Mongbat";
m_MobLevel2A = "Mongbat";
m_MobLevel2B = "Mongbat";
m_MobLevel3A = "Mongbat";
m_MobLevel3B = "Mongbat";
m_MobLevel4A = "Mongbat";
m_MobLevel4B = "Mongbat";
}
}
public class ChampionSpawnInfo

View file

@ -335,7 +335,7 @@ namespace Server.Misc
}
}
private static TimeSpan m_StatGainDelay = TimeSpan.FromMinutes( 15.0 );
private static TimeSpan m_StatGainDelay = TimeSpan.FromMinutes( ( Core.ML ) ? 15.0 : 0.05 );
private static TimeSpan m_PetStatGainDelay = TimeSpan.FromMinutes( 5.0 );
public static void GainStat( Mobile from, Stat stat )