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
|
|
@ -22,32 +22,24 @@ namespace Server.Items
|
|||
{
|
||||
public override int LabelNumber => 1075198; // Dawn<77>s Music Box
|
||||
|
||||
private List<MusicName> m_Tracks;
|
||||
|
||||
public List<MusicName> Tracks => m_Tracks;
|
||||
|
||||
private SecureLevel m_Level;
|
||||
public List<MusicName> Tracks { get; private set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public SecureLevel Level
|
||||
{
|
||||
get => m_Level;
|
||||
set => m_Level = value;
|
||||
}
|
||||
public SecureLevel Level { get; set; }
|
||||
|
||||
[Constructible]
|
||||
public DawnsMusicBox() : base( 0x2AF9 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
|
||||
m_Tracks = new List<MusicName>();
|
||||
Tracks = new List<MusicName>();
|
||||
|
||||
while ( m_Tracks.Count < 4 )
|
||||
while ( Tracks.Count < 4 )
|
||||
{
|
||||
MusicName name = RandomTrack( DawnsMusicRarity.Common );
|
||||
|
||||
if ( !m_Tracks.Contains( name ) )
|
||||
m_Tracks.Add( name );
|
||||
if ( !Tracks.Contains( name ) )
|
||||
Tracks.Add( name );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -60,8 +52,8 @@ namespace Server.Items
|
|||
if ( !(newItem is DawnsMusicBox box) )
|
||||
return;
|
||||
|
||||
box.m_Tracks = new List<MusicName>();
|
||||
box.m_Tracks.AddRange( m_Tracks );
|
||||
box.Tracks = new List<MusicName>();
|
||||
box.Tracks.AddRange( Tracks );
|
||||
}
|
||||
|
||||
public override void GetProperties( ObjectPropertyList list )
|
||||
|
|
@ -72,9 +64,9 @@ namespace Server.Items
|
|||
int uncommonSongs = 0;
|
||||
int rareSongs = 0;
|
||||
|
||||
for ( int i = 0; i < m_Tracks.Count; i++ )
|
||||
for ( int i = 0; i < Tracks.Count; i++ )
|
||||
{
|
||||
DawnsMusicInfo info = GetInfo( m_Tracks[ i ] );
|
||||
DawnsMusicInfo info = GetInfo( Tracks[ i ] );
|
||||
|
||||
switch ( info.Rarity )
|
||||
{
|
||||
|
|
@ -169,12 +161,12 @@ namespace Server.Items
|
|||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
|
||||
writer.Write( (int) m_Tracks.Count );
|
||||
writer.Write( (int) Tracks.Count );
|
||||
|
||||
for ( int i = 0; i < m_Tracks.Count; i++ )
|
||||
writer.Write( (int) m_Tracks[ i ] );
|
||||
for ( int i = 0; i < Tracks.Count; i++ )
|
||||
writer.Write( (int) Tracks[ i ] );
|
||||
|
||||
writer.Write( (int) m_Level );
|
||||
writer.Write( (int) Level );
|
||||
writer.Write( (int) m_ItemID );
|
||||
}
|
||||
|
||||
|
|
@ -185,12 +177,12 @@ namespace Server.Items
|
|||
int version = reader.ReadEncodedInt();
|
||||
|
||||
int count = reader.ReadInt();
|
||||
m_Tracks = new List<MusicName>();
|
||||
Tracks = new List<MusicName>();
|
||||
|
||||
for ( int i = 0; i < count; i++ )
|
||||
m_Tracks.Add( (MusicName) reader.ReadInt() );
|
||||
Tracks.Add( (MusicName) reader.ReadInt() );
|
||||
|
||||
m_Level = (SecureLevel) reader.ReadInt();
|
||||
Level = (SecureLevel) reader.ReadInt();
|
||||
m_ItemID = reader.ReadInt();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,14 +11,8 @@ namespace Server.Items
|
|||
|
||||
public static DawnsMusicGear RandomRare => new DawnsMusicGear( DawnsMusicBox.RandomTrack( DawnsMusicRarity.Rare ) );
|
||||
|
||||
private MusicName m_Music;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public MusicName Music
|
||||
{
|
||||
get => m_Music;
|
||||
set => m_Music = value;
|
||||
}
|
||||
public MusicName Music { get; set; }
|
||||
|
||||
[Constructible]
|
||||
public DawnsMusicGear() : this( DawnsMusicBox.RandomTrack( DawnsMusicRarity.Common ) )
|
||||
|
|
@ -28,7 +22,7 @@ namespace Server.Items
|
|||
[Constructible]
|
||||
public DawnsMusicGear( MusicName music ) : base( 0x1053 )
|
||||
{
|
||||
m_Music = music;
|
||||
Music = music;
|
||||
|
||||
Weight = 1.0;
|
||||
}
|
||||
|
|
@ -39,7 +33,7 @@ namespace Server.Items
|
|||
|
||||
public override void AddNameProperty( ObjectPropertyList list )
|
||||
{
|
||||
DawnsMusicInfo info = DawnsMusicBox.GetInfo( m_Music );
|
||||
DawnsMusicInfo info = DawnsMusicBox.GetInfo( Music );
|
||||
|
||||
if ( info != null )
|
||||
{
|
||||
|
|
@ -67,7 +61,7 @@ namespace Server.Items
|
|||
|
||||
writer.WriteEncodedInt( (int) 1 ); // version
|
||||
|
||||
writer.Write( (int) m_Music );
|
||||
writer.Write( (int) Music );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
|
|
@ -80,7 +74,7 @@ namespace Server.Items
|
|||
{
|
||||
case 1:
|
||||
{
|
||||
m_Music = (MusicName) reader.ReadInt();
|
||||
Music = (MusicName) reader.ReadInt();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -97,7 +91,7 @@ namespace Server.Items
|
|||
else
|
||||
rarity = DawnsMusicRarity.Common;
|
||||
|
||||
m_Music = DawnsMusicBox.RandomTrack( rarity );
|
||||
Music = DawnsMusicBox.RandomTrack( rarity );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,18 +9,14 @@
|
|||
|
||||
public class DawnsMusicInfo
|
||||
{
|
||||
private int m_Name;
|
||||
public int Name { get; }
|
||||
|
||||
public int Name => m_Name;
|
||||
|
||||
private DawnsMusicRarity m_Rarity;
|
||||
|
||||
public DawnsMusicRarity Rarity => m_Rarity;
|
||||
public DawnsMusicRarity Rarity { get; }
|
||||
|
||||
public DawnsMusicInfo( int name, DawnsMusicRarity rarity )
|
||||
{
|
||||
m_Name = name;
|
||||
m_Rarity = rarity;
|
||||
Name = name;
|
||||
Rarity = rarity;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,16 +16,10 @@ namespace Server.Items
|
|||
private DateTime m_NextSpawnTime;
|
||||
private SpawnTimer m_SpawnTimer;
|
||||
|
||||
private SecureLevel m_Level;
|
||||
|
||||
public override int LabelNumber => 1062913; // Rose of Trinsic
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public SecureLevel Level
|
||||
{
|
||||
get => m_Level;
|
||||
set => m_Level = value;
|
||||
}
|
||||
public SecureLevel Level { get; set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int Petals
|
||||
|
|
@ -142,7 +136,7 @@ namespace Server.Items
|
|||
|
||||
writer.WriteEncodedInt( (int) m_Petals );
|
||||
writer.WriteDeltaTime( (DateTime) m_NextSpawnTime );
|
||||
writer.WriteEncodedInt( (int) m_Level );
|
||||
writer.WriteEncodedInt( (int) Level );
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
|
|
@ -153,7 +147,7 @@ namespace Server.Items
|
|||
|
||||
m_Petals = reader.ReadEncodedInt();
|
||||
m_NextSpawnTime = reader.ReadDeltaTime();
|
||||
m_Level = (SecureLevel) reader.ReadEncodedInt();
|
||||
Level = (SecureLevel) reader.ReadEncodedInt();
|
||||
|
||||
if ( m_Petals < 10 )
|
||||
StartSpawnTimer( m_NextSpawnTime - DateTime.UtcNow );
|
||||
|
|
|
|||
|
|
@ -9,16 +9,10 @@ namespace Server.Items
|
|||
[FlippableAttribute( 0x234E, 0x234F )]
|
||||
public class TapestryOfSosaria : Item, ISecurable
|
||||
{
|
||||
private SecureLevel m_Level;
|
||||
|
||||
public override int LabelNumber => 1062917; // The Tapestry of Sosaria
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public SecureLevel Level
|
||||
{
|
||||
get => m_Level;
|
||||
set => m_Level = value;
|
||||
}
|
||||
public SecureLevel Level { get; set; }
|
||||
|
||||
[Constructible]
|
||||
public TapestryOfSosaria() : base( 0x234E )
|
||||
|
|
@ -65,7 +59,7 @@ namespace Server.Items
|
|||
|
||||
writer.WriteEncodedInt( (int) 0 ); // version
|
||||
|
||||
writer.WriteEncodedInt( (int) m_Level );
|
||||
writer.WriteEncodedInt( (int) Level );
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
|
|
@ -74,7 +68,7 @@ namespace Server.Items
|
|||
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
m_Level = (SecureLevel) reader.ReadEncodedInt();
|
||||
Level = (SecureLevel) reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,18 +8,12 @@ namespace Server.Items
|
|||
public override int LabelNumber => 1076280; // Curtains
|
||||
public override bool DisplayWeight => false;
|
||||
|
||||
private int m_ClosedID;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int ClosedID
|
||||
{
|
||||
get => m_ClosedID;
|
||||
set => m_ClosedID = value;
|
||||
}
|
||||
public int ClosedID { get; set; }
|
||||
|
||||
public CurtainsComponent( int itemID, int closedID ) : base( itemID )
|
||||
{
|
||||
m_ClosedID = closedID;
|
||||
ClosedID = closedID;
|
||||
}
|
||||
|
||||
public CurtainsComponent( Serial serial ) : base( serial )
|
||||
|
|
@ -55,7 +49,7 @@ namespace Server.Items
|
|||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
|
||||
writer.Write( (int) m_ClosedID );
|
||||
writer.Write( (int) ClosedID );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
|
|
@ -64,7 +58,7 @@ namespace Server.Items
|
|||
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
m_ClosedID = reader.ReadInt();
|
||||
ClosedID = reader.ReadInt();
|
||||
}
|
||||
|
||||
#region IDyable
|
||||
|
|
|
|||
|
|
@ -13,14 +13,9 @@ namespace Server.Items
|
|||
public class HolidayTree : Item, IAddon
|
||||
{
|
||||
private ArrayList m_Components;
|
||||
private Mobile m_Placer;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public Mobile Placer
|
||||
{
|
||||
get => m_Placer;
|
||||
set => m_Placer = value;
|
||||
}
|
||||
public Mobile Placer { get; set; }
|
||||
|
||||
private class Ornament : Item
|
||||
{
|
||||
|
|
@ -111,7 +106,7 @@ namespace Server.Items
|
|||
Movable = false;
|
||||
MoveToWorld( loc, from.Map );
|
||||
|
||||
m_Placer = from;
|
||||
Placer = from;
|
||||
m_Components = new ArrayList();
|
||||
|
||||
switch ( type )
|
||||
|
|
@ -220,7 +215,7 @@ namespace Server.Items
|
|||
|
||||
writer.Write( (int) 1 ); // version
|
||||
|
||||
writer.Write( m_Placer );
|
||||
writer.Write( Placer );
|
||||
|
||||
writer.Write( (int) m_Components.Count );
|
||||
|
||||
|
|
@ -238,7 +233,7 @@ namespace Server.Items
|
|||
{
|
||||
case 1:
|
||||
{
|
||||
m_Placer = reader.ReadMobile();
|
||||
Placer = reader.ReadMobile();
|
||||
|
||||
goto case 0;
|
||||
}
|
||||
|
|
@ -280,7 +275,7 @@ namespace Server.Items
|
|||
{
|
||||
if ( from.InRange( GetWorldLocation(), 1 ) )
|
||||
{
|
||||
if ( m_Placer == null || from == m_Placer || from.AccessLevel >= AccessLevel.GameMaster )
|
||||
if ( Placer == null || from == Placer || from.AccessLevel >= AccessLevel.GameMaster )
|
||||
{
|
||||
from.AddToBackpack( new HolidayTreeDeed() );
|
||||
|
||||
|
|
|
|||
|
|
@ -5,51 +5,41 @@ namespace Server.Items
|
|||
{
|
||||
public class CandyCane : Food
|
||||
{
|
||||
private static Dictionary<Mobile, CandyCaneTimer> m_ToothAches;
|
||||
|
||||
public static Dictionary<Mobile, CandyCaneTimer> ToothAches
|
||||
{
|
||||
get => m_ToothAches;
|
||||
set => m_ToothAches = value;
|
||||
}
|
||||
public static Dictionary<Mobile, CandyCaneTimer> ToothAches { get; set; }
|
||||
|
||||
public static void Initialize()
|
||||
{
|
||||
m_ToothAches = new Dictionary<Mobile, CandyCaneTimer>();
|
||||
ToothAches = new Dictionary<Mobile, CandyCaneTimer>();
|
||||
}
|
||||
|
||||
public class CandyCaneTimer : Timer
|
||||
{
|
||||
private int m_Eaten;
|
||||
private Mobile m_Eater;
|
||||
public Mobile Eater { get; }
|
||||
|
||||
public Mobile Eater => m_Eater;
|
||||
public int Eaten { get => m_Eaten;
|
||||
set => m_Eaten = value;
|
||||
}
|
||||
public int Eaten { get; set; }
|
||||
|
||||
public CandyCaneTimer( Mobile eater )
|
||||
: base( TimeSpan.FromSeconds( 30 ), TimeSpan.FromSeconds( 30 ) )
|
||||
{
|
||||
m_Eater = eater;
|
||||
Eater = eater;
|
||||
Priority = TimerPriority.FiveSeconds;
|
||||
Start();
|
||||
}
|
||||
|
||||
protected override void OnTick()
|
||||
{
|
||||
--m_Eaten;
|
||||
--Eaten;
|
||||
|
||||
if ( m_Eater == null || m_Eater.Deleted || m_Eaten <= 0 )
|
||||
if ( Eater == null || Eater.Deleted || Eaten <= 0 )
|
||||
{
|
||||
Stop();
|
||||
m_ToothAches.Remove( m_Eater );
|
||||
ToothAches.Remove( Eater );
|
||||
}
|
||||
else if ( m_Eater.Map != Map.Internal && m_Eater.Alive )
|
||||
else if ( Eater.Map != Map.Internal && Eater.Alive )
|
||||
{
|
||||
if ( m_Eaten > 60 )
|
||||
if ( Eaten > 60 )
|
||||
{
|
||||
m_Eater.Say( 1077388 + Utility.Random( 5 ) );
|
||||
Eater.Say( 1077388 + Utility.Random( 5 ) );
|
||||
|
||||
/* ARRGH! My tooth hurts sooo much!
|
||||
* You just can't find a good Britannian dentist these days...
|
||||
|
|
@ -58,12 +48,12 @@ namespace Server.Items
|
|||
* AAAH! It feels like someone kicked me in the teeth!
|
||||
*/
|
||||
|
||||
if ( Utility.RandomBool() && m_Eater.Body.IsHuman && !m_Eater.Mounted )
|
||||
m_Eater.Animate( 32, 5, 1, true, false, 0 );
|
||||
if ( Utility.RandomBool() && Eater.Body.IsHuman && !Eater.Mounted )
|
||||
Eater.Animate( 32, 5, 1, true, false, 0 );
|
||||
}
|
||||
else if ( m_Eaten == 60 )
|
||||
else if ( Eaten == 60 )
|
||||
{
|
||||
m_Eater.SendLocalizedMessage( 1077393 ); // The extreme pain in your teeth subsides.
|
||||
Eater.SendLocalizedMessage( 1077393 ); // The extreme pain in your teeth subsides.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -71,15 +61,15 @@ namespace Server.Items
|
|||
|
||||
private static CandyCaneTimer EnsureTimer( Mobile from )
|
||||
{
|
||||
if (!m_ToothAches.TryGetValue( from, out CandyCaneTimer timer ))
|
||||
m_ToothAches[from] = timer = new CandyCaneTimer( from );
|
||||
if (!ToothAches.TryGetValue( from, out CandyCaneTimer timer ))
|
||||
ToothAches[from] = timer = new CandyCaneTimer( from );
|
||||
|
||||
return timer;
|
||||
}
|
||||
|
||||
public static int GetToothAche( Mobile from )
|
||||
{
|
||||
if (m_ToothAches.TryGetValue( from, out CandyCaneTimer timer ))
|
||||
if (ToothAches.TryGetValue( from, out CandyCaneTimer timer ))
|
||||
return timer.Eaten;
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -12,33 +12,29 @@ namespace Server.Items
|
|||
{
|
||||
public class RaffleEntry
|
||||
{
|
||||
private Mobile m_From;
|
||||
private IPAddress m_Address;
|
||||
private DateTime m_Date;
|
||||
public Mobile From { get; }
|
||||
|
||||
public Mobile From => m_From;
|
||||
public IPAddress Address { get; }
|
||||
|
||||
public IPAddress Address => m_Address;
|
||||
|
||||
public DateTime Date => m_Date;
|
||||
public DateTime Date { get; }
|
||||
|
||||
public RaffleEntry( Mobile from )
|
||||
{
|
||||
m_From = from;
|
||||
From = from;
|
||||
|
||||
if ( m_From.NetState != null )
|
||||
m_Address = m_From.NetState.Address;
|
||||
if ( From.NetState != null )
|
||||
Address = From.NetState.Address;
|
||||
else
|
||||
m_Address = IPAddress.None;
|
||||
Address = IPAddress.None;
|
||||
|
||||
m_Date = DateTime.UtcNow;
|
||||
Date = DateTime.UtcNow;
|
||||
}
|
||||
|
||||
public void Serialize( GenericWriter writer )
|
||||
{
|
||||
writer.Write( m_From );
|
||||
writer.Write( m_Address );
|
||||
writer.Write( m_Date );
|
||||
writer.Write( From );
|
||||
writer.Write( Address );
|
||||
writer.Write( Date );
|
||||
}
|
||||
|
||||
public RaffleEntry( GenericReader reader, int version )
|
||||
|
|
@ -50,9 +46,9 @@ namespace Server.Items
|
|||
case 1:
|
||||
case 0:
|
||||
{
|
||||
m_From = reader.ReadMobile();
|
||||
m_Address = Utility.Intern( reader.ReadIPAddress() );
|
||||
m_Date = reader.ReadDateTime();
|
||||
From = reader.ReadMobile();
|
||||
Address = Utility.Intern( reader.ReadIPAddress() );
|
||||
Date = reader.ReadDateTime();
|
||||
|
||||
break;
|
||||
}
|
||||
|
|
@ -89,16 +85,12 @@ namespace Server.Items
|
|||
private Map m_Facet;
|
||||
|
||||
private Mobile m_Winner;
|
||||
private HouseRaffleDeed m_Deed;
|
||||
|
||||
private HouseRaffleState m_State;
|
||||
private DateTime m_Started;
|
||||
private TimeSpan m_Duration;
|
||||
private HouseRaffleExpireAction m_ExpireAction;
|
||||
private int m_TicketPrice;
|
||||
|
||||
private List<RaffleEntry> m_Entries;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster, AccessLevel.Seer )]
|
||||
public HouseRaffleState CurrentState
|
||||
{
|
||||
|
|
@ -109,9 +101,9 @@ namespace Server.Items
|
|||
{
|
||||
if ( value == HouseRaffleState.Active )
|
||||
{
|
||||
m_Entries.Clear();
|
||||
Entries.Clear();
|
||||
m_Winner = null;
|
||||
m_Deed = null;
|
||||
Deed = null;
|
||||
m_Started = DateTime.UtcNow;
|
||||
}
|
||||
|
||||
|
|
@ -155,11 +147,7 @@ namespace Server.Items
|
|||
}
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster, AccessLevel.Seer )]
|
||||
public HouseRaffleDeed Deed
|
||||
{
|
||||
get => m_Deed;
|
||||
set => m_Deed = value;
|
||||
}
|
||||
public HouseRaffleDeed Deed { get; set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster, AccessLevel.Seer )]
|
||||
public DateTime Started
|
||||
|
|
@ -188,11 +176,7 @@ namespace Server.Items
|
|||
}
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster, AccessLevel.Seer )]
|
||||
public HouseRaffleExpireAction ExpireAction
|
||||
{
|
||||
get => m_ExpireAction;
|
||||
set => m_ExpireAction = value;
|
||||
}
|
||||
public HouseRaffleExpireAction ExpireAction { get; set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster, AccessLevel.Seer )]
|
||||
public int TicketPrice
|
||||
|
|
@ -205,7 +189,7 @@ namespace Server.Items
|
|||
}
|
||||
}
|
||||
|
||||
public List<RaffleEntry> Entries => m_Entries;
|
||||
public List<RaffleEntry> Entries { get; private set; }
|
||||
|
||||
public override string DefaultName => "a house raffle stone";
|
||||
|
||||
|
|
@ -260,15 +244,15 @@ namespace Server.Items
|
|||
m_Facet = null;
|
||||
|
||||
m_Winner = null;
|
||||
m_Deed = null;
|
||||
Deed = null;
|
||||
|
||||
m_State = HouseRaffleState.Inactive;
|
||||
m_Started = DateTime.MinValue;
|
||||
m_Duration = DefaultDuration;
|
||||
m_ExpireAction = HouseRaffleExpireAction.None;
|
||||
ExpireAction = HouseRaffleExpireAction.None;
|
||||
m_TicketPrice = DefaultTicketPrice;
|
||||
|
||||
m_Entries = new List<RaffleEntry>();
|
||||
Entries = new List<RaffleEntry>();
|
||||
|
||||
Movable = false;
|
||||
|
||||
|
|
@ -305,7 +289,7 @@ namespace Server.Items
|
|||
if ( !(from.Account is Account acc) )
|
||||
return false;
|
||||
|
||||
foreach ( RaffleEntry entry in m_Entries )
|
||||
foreach ( RaffleEntry entry in Entries )
|
||||
{
|
||||
if ( entry.From != null )
|
||||
{
|
||||
|
|
@ -327,7 +311,7 @@ namespace Server.Items
|
|||
IPAddress address = from.NetState.Address;
|
||||
int tickets = 0;
|
||||
|
||||
foreach ( RaffleEntry entry in m_Entries )
|
||||
foreach ( RaffleEntry entry in Entries )
|
||||
{
|
||||
if ( Utility.IPMatchClassC( entry.Address, address ) )
|
||||
{
|
||||
|
|
@ -479,7 +463,7 @@ namespace Server.Items
|
|||
|
||||
if ( m_TicketPrice == 0 || ( from.Backpack != null && from.Backpack.ConsumeTotal( typeof( Gold ), m_TicketPrice ) ) || ( bank != null && bank.ConsumeTotal( typeof( Gold ), m_TicketPrice ) ) )
|
||||
{
|
||||
m_Entries.Add( new RaffleEntry( from ) );
|
||||
Entries.Add( new RaffleEntry( from ) );
|
||||
|
||||
from.SendMessage( MessageHue, "You have successfully entered the plot's raffle." );
|
||||
}
|
||||
|
|
@ -501,25 +485,25 @@ namespace Server.Items
|
|||
|
||||
m_State = HouseRaffleState.Completed;
|
||||
|
||||
if ( m_Region != null && m_Entries.Count != 0 )
|
||||
if ( m_Region != null && Entries.Count != 0 )
|
||||
{
|
||||
int winner = Utility.Random( m_Entries.Count );
|
||||
int winner = Utility.Random( Entries.Count );
|
||||
|
||||
m_Winner = m_Entries[winner].From;
|
||||
m_Winner = Entries[winner].From;
|
||||
|
||||
if ( m_Winner != null )
|
||||
{
|
||||
m_Deed = new HouseRaffleDeed( this, m_Winner );
|
||||
Deed = new HouseRaffleDeed( this, m_Winner );
|
||||
|
||||
m_Winner.SendMessage( MessageHue, "Congratulations, {0}! You have won the raffle for the plot located at {1}.", m_Winner.Name, FormatLocation() );
|
||||
|
||||
if ( m_Winner.AddToBackpack( m_Deed ) )
|
||||
if ( m_Winner.AddToBackpack( Deed ) )
|
||||
{
|
||||
m_Winner.SendMessage( MessageHue, "The writ of lease has been placed in your backpack." );
|
||||
}
|
||||
else
|
||||
{
|
||||
m_Winner.BankBox.DropItem( m_Deed );
|
||||
m_Winner.BankBox.DropItem( Deed );
|
||||
m_Winner.SendMessage( MessageHue, "As your backpack is full, the writ of lease has been placed in your bank box." );
|
||||
}
|
||||
}
|
||||
|
|
@ -548,9 +532,9 @@ namespace Server.Items
|
|||
writer.Write( (int) 3 ); // version
|
||||
|
||||
writer.WriteEncodedInt( (int) m_State );
|
||||
writer.WriteEncodedInt( (int) m_ExpireAction );
|
||||
writer.WriteEncodedInt( (int) ExpireAction );
|
||||
|
||||
writer.Write( m_Deed );
|
||||
writer.Write( Deed );
|
||||
|
||||
writer.Write( m_Bounds );
|
||||
writer.Write( m_Facet );
|
||||
|
|
@ -561,9 +545,9 @@ namespace Server.Items
|
|||
writer.Write( m_Started );
|
||||
writer.Write( m_Duration );
|
||||
|
||||
writer.Write( m_Entries.Count );
|
||||
writer.Write( Entries.Count );
|
||||
|
||||
foreach ( RaffleEntry entry in m_Entries )
|
||||
foreach ( RaffleEntry entry in Entries )
|
||||
entry.Serialize( writer );
|
||||
}
|
||||
|
||||
|
|
@ -583,13 +567,13 @@ namespace Server.Items
|
|||
}
|
||||
case 2:
|
||||
{
|
||||
m_ExpireAction = (HouseRaffleExpireAction) reader.ReadEncodedInt();
|
||||
ExpireAction = (HouseRaffleExpireAction) reader.ReadEncodedInt();
|
||||
|
||||
goto case 1;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
m_Deed = reader.ReadItem<HouseRaffleDeed>();
|
||||
Deed = reader.ReadItem<HouseRaffleDeed>();
|
||||
|
||||
goto case 0;
|
||||
}
|
||||
|
|
@ -607,7 +591,7 @@ namespace Server.Items
|
|||
m_Duration = reader.ReadTimeSpan();
|
||||
|
||||
int entryCount = reader.ReadInt();
|
||||
m_Entries = new List<RaffleEntry>( entryCount );
|
||||
Entries = new List<RaffleEntry>( entryCount );
|
||||
|
||||
for ( int i = 0; i < entryCount; i++ )
|
||||
{
|
||||
|
|
@ -616,7 +600,7 @@ namespace Server.Items
|
|||
if ( entry.From == null )
|
||||
continue; // Character was deleted
|
||||
|
||||
m_Entries.Add( entry );
|
||||
Entries.Add( entry );
|
||||
}
|
||||
|
||||
InvalidateRegion();
|
||||
|
|
|
|||
|
|
@ -175,26 +175,24 @@ namespace Server.Items
|
|||
|
||||
public class MiniHouseInfo
|
||||
{
|
||||
private int[] m_Graphics;
|
||||
private int m_LabelNumber;
|
||||
public int[] Graphics { get; }
|
||||
|
||||
public int[] Graphics => m_Graphics;
|
||||
public int LabelNumber => m_LabelNumber;
|
||||
public int LabelNumber { get; }
|
||||
|
||||
public MiniHouseInfo( int start, int count, int labelNumber )
|
||||
{
|
||||
m_Graphics = new int[count];
|
||||
Graphics = new int[count];
|
||||
|
||||
for ( int i = 0; i < count; ++i )
|
||||
m_Graphics[i] = start + i;
|
||||
Graphics[i] = start + i;
|
||||
|
||||
m_LabelNumber = labelNumber;
|
||||
LabelNumber = labelNumber;
|
||||
}
|
||||
|
||||
public MiniHouseInfo( int labelNumber, params int[] graphics )
|
||||
{
|
||||
m_LabelNumber = labelNumber;
|
||||
m_Graphics = graphics;
|
||||
LabelNumber = labelNumber;
|
||||
Graphics = graphics;
|
||||
}
|
||||
|
||||
private static MiniHouseInfo[] m_Info = {
|
||||
|
|
|
|||
|
|
@ -51,26 +51,24 @@ namespace Server.Items
|
|||
|
||||
public class MonsterStatuetteInfo
|
||||
{
|
||||
private int m_LabelNumber;
|
||||
private int m_ItemID;
|
||||
private int[] m_Sounds;
|
||||
public int LabelNumber { get; }
|
||||
|
||||
public int LabelNumber => m_LabelNumber;
|
||||
public int ItemID => m_ItemID;
|
||||
public int[] Sounds => m_Sounds;
|
||||
public int ItemID { get; }
|
||||
|
||||
public int[] Sounds { get; }
|
||||
|
||||
public MonsterStatuetteInfo( int labelNumber, int itemID, int baseSoundID )
|
||||
{
|
||||
m_LabelNumber = labelNumber;
|
||||
m_ItemID = itemID;
|
||||
m_Sounds = new[]{ baseSoundID, baseSoundID + 1, baseSoundID + 2, baseSoundID + 3, baseSoundID + 4 };
|
||||
LabelNumber = labelNumber;
|
||||
ItemID = itemID;
|
||||
Sounds = new[]{ baseSoundID, baseSoundID + 1, baseSoundID + 2, baseSoundID + 3, baseSoundID + 4 };
|
||||
}
|
||||
|
||||
public MonsterStatuetteInfo( int labelNumber, int itemID, int[] sounds )
|
||||
{
|
||||
m_LabelNumber = labelNumber;
|
||||
m_ItemID = itemID;
|
||||
m_Sounds = sounds;
|
||||
LabelNumber = labelNumber;
|
||||
ItemID = itemID;
|
||||
Sounds = sounds;
|
||||
}
|
||||
|
||||
private static MonsterStatuetteInfo[] m_Table = {
|
||||
|
|
@ -131,14 +129,9 @@ namespace Server.Items
|
|||
{
|
||||
private MonsterStatuetteType m_Type;
|
||||
private bool m_TurnedOn;
|
||||
private bool m_IsRewardItem;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public bool IsRewardItem
|
||||
{
|
||||
get => m_IsRewardItem;
|
||||
set => m_IsRewardItem = value;
|
||||
}
|
||||
public bool IsRewardItem { get; set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public bool TurnedOn
|
||||
|
|
@ -216,7 +209,7 @@ namespace Server.Items
|
|||
{
|
||||
base.GetProperties( list );
|
||||
|
||||
if ( Core.ML && m_IsRewardItem )
|
||||
if ( Core.ML && IsRewardItem )
|
||||
list.Add( RewardSystem.GetRewardYearLabel( this, new object[]{ m_Type } ) ); // X Year Veteran Reward
|
||||
|
||||
if ( m_TurnedOn )
|
||||
|
|
@ -291,7 +284,7 @@ namespace Server.Items
|
|||
|
||||
writer.WriteEncodedInt( (int) m_Type );
|
||||
writer.Write( (bool) m_TurnedOn );
|
||||
writer.Write( (bool) m_IsRewardItem );
|
||||
writer.Write( (bool) IsRewardItem );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
|
|
@ -306,7 +299,7 @@ namespace Server.Items
|
|||
{
|
||||
m_Type = (MonsterStatuetteType)reader.ReadEncodedInt();
|
||||
m_TurnedOn = reader.ReadBool();
|
||||
m_IsRewardItem = reader.ReadBool();
|
||||
IsRewardItem = reader.ReadBool();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -75,13 +75,7 @@ namespace Server.Items
|
|||
|
||||
public class PlagueBeastComponent : PlagueBeastInnard
|
||||
{
|
||||
private PlagueBeastOrgan m_Organ;
|
||||
|
||||
public PlagueBeastOrgan Organ
|
||||
{
|
||||
get => m_Organ;
|
||||
set => m_Organ = value;
|
||||
}
|
||||
public PlagueBeastOrgan Organ { get; set; }
|
||||
|
||||
public bool IsBrain => ItemID == 0x1CF0;
|
||||
|
||||
|
|
@ -123,10 +117,10 @@ namespace Server.Items
|
|||
|
||||
public override bool OnDragDrop( Mobile from, Item dropped )
|
||||
{
|
||||
if ( m_Organ != null && m_Organ.OnDropped( from, dropped, this ) )
|
||||
if ( Organ != null && Organ.OnDropped( from, dropped, this ) )
|
||||
{
|
||||
if ( dropped is PlagueBeastComponent component )
|
||||
m_Organ.Components.Add( component );
|
||||
Organ.Components.Add( component );
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
@ -136,14 +130,14 @@ namespace Server.Items
|
|||
{
|
||||
if ( IsAccessibleTo( from ) )
|
||||
{
|
||||
if ( m_Organ != null && m_Organ.OnLifted( from, this ) )
|
||||
if ( Organ != null && Organ.OnLifted( from, this ) )
|
||||
{
|
||||
from.SendLocalizedMessage( IsGland ? 1071895 : 1071914, null, 0x3B2 ); // * You rip the organ out of the plague beast's flesh *
|
||||
|
||||
if ( m_Organ.Components.Contains( this ) )
|
||||
m_Organ.Components.Remove( this );
|
||||
if ( Organ.Components.Contains( this ) )
|
||||
Organ.Components.Remove( this );
|
||||
|
||||
m_Organ = null;
|
||||
Organ = null;
|
||||
from.PlaySound( 0x1CA );
|
||||
}
|
||||
|
||||
|
|
@ -163,7 +157,7 @@ namespace Server.Items
|
|||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
|
||||
writer.WriteItem<PlagueBeastOrgan>( m_Organ );
|
||||
writer.WriteItem<PlagueBeastOrgan>( Organ );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
|
|
@ -172,7 +166,7 @@ namespace Server.Items
|
|||
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
m_Organ = reader.ReadItem<PlagueBeastOrgan>();
|
||||
Organ = reader.ReadItem<PlagueBeastOrgan>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,32 +6,26 @@ namespace Server.Items
|
|||
{
|
||||
public class PlagueBeastMutationCore : Item, IScissorable
|
||||
{
|
||||
private bool m_Cut;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public bool Cut
|
||||
{
|
||||
get => m_Cut;
|
||||
set => m_Cut = value;
|
||||
}
|
||||
public bool Cut { get; set; }
|
||||
|
||||
public override string DefaultName => "a plague beast mutation core";
|
||||
|
||||
[Constructible]
|
||||
public PlagueBeastMutationCore() : base( 0x1CF0 )
|
||||
{
|
||||
m_Cut = true;
|
||||
Cut = true;
|
||||
Weight = 1.0;
|
||||
Hue = 0x480;
|
||||
}
|
||||
|
||||
public virtual bool Scissor( Mobile from, Scissors scissors )
|
||||
{
|
||||
if ( !m_Cut )
|
||||
if ( !Cut )
|
||||
{
|
||||
PlagueBeastLord owner = RootParent as PlagueBeastLord;
|
||||
|
||||
m_Cut = true;
|
||||
Cut = true;
|
||||
Movable = true;
|
||||
|
||||
from.AddToBackpack( this );
|
||||
|
|
@ -62,7 +56,7 @@ namespace Server.Items
|
|||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
|
||||
writer.Write( (bool) m_Cut );
|
||||
writer.Write( (bool) Cut );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
|
|
@ -71,7 +65,7 @@ namespace Server.Items
|
|||
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
m_Cut = reader.ReadBool();
|
||||
Cut = reader.ReadBool();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,25 +8,11 @@ namespace Server.Items
|
|||
{
|
||||
public virtual bool IsCuttable => false;
|
||||
|
||||
private List<PlagueBeastComponent> m_Components;
|
||||
public List<PlagueBeastComponent> Components { get; private set; }
|
||||
|
||||
public List<PlagueBeastComponent> Components => m_Components;
|
||||
public int BrainHue { get; set; }
|
||||
|
||||
private int m_BrainHue;
|
||||
|
||||
public int BrainHue
|
||||
{
|
||||
get => m_BrainHue;
|
||||
set => m_BrainHue = value;
|
||||
}
|
||||
|
||||
private bool m_Opened;
|
||||
|
||||
public bool Opened
|
||||
{
|
||||
get => m_Opened;
|
||||
set => m_Opened = value;
|
||||
}
|
||||
public bool Opened { get; set; }
|
||||
|
||||
private Timer m_Timer;
|
||||
|
||||
|
|
@ -37,8 +23,8 @@ namespace Server.Items
|
|||
|
||||
public PlagueBeastOrgan( int itemID, int hue ) : base( itemID, hue )
|
||||
{
|
||||
m_Components = new List<PlagueBeastComponent>();
|
||||
m_Opened = false;
|
||||
Components = new List<PlagueBeastComponent>();
|
||||
Opened = false;
|
||||
|
||||
Movable = false;
|
||||
|
||||
|
|
@ -58,14 +44,14 @@ namespace Server.Items
|
|||
c.Location = new Point3D( X + x, Y + y, Z );
|
||||
c.Map = Map;
|
||||
|
||||
m_Components.Add( c );
|
||||
Components.Add( c );
|
||||
}
|
||||
|
||||
public override bool Scissor( Mobile from, Scissors scissors )
|
||||
{
|
||||
if ( IsCuttable && IsAccessibleTo( from ) )
|
||||
{
|
||||
if ( !m_Opened && m_Timer == null )
|
||||
if ( !Opened && m_Timer == null )
|
||||
{
|
||||
m_Timer = Timer.DelayCall<Mobile>( TimeSpan.FromSeconds( 3 ), FinishOpening, from );
|
||||
scissors.PublicOverheadMessage( MessageType.Regular, 0x3B2, 1071897 ); // You carefully cut into the organ.
|
||||
|
|
@ -96,7 +82,7 @@ namespace Server.Items
|
|||
|
||||
public virtual void FinishOpening( Mobile from )
|
||||
{
|
||||
m_Opened = true;
|
||||
Opened = true;
|
||||
|
||||
Owner?.PlaySound( 0x50 );
|
||||
}
|
||||
|
|
@ -111,9 +97,9 @@ namespace Server.Items
|
|||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
|
||||
writer.WriteItemList<PlagueBeastComponent>( m_Components );
|
||||
writer.Write( (int) m_BrainHue );
|
||||
writer.Write( (bool) m_Opened );
|
||||
writer.WriteItemList<PlagueBeastComponent>( Components );
|
||||
writer.Write( (int) BrainHue );
|
||||
writer.Write( (bool) Opened );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
|
|
@ -122,9 +108,9 @@ namespace Server.Items
|
|||
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
m_Components = reader.ReadStrongItemList<PlagueBeastComponent>();
|
||||
m_BrainHue = reader.ReadInt();
|
||||
m_Opened = reader.ReadBool();
|
||||
Components = reader.ReadStrongItemList<PlagueBeastComponent>();
|
||||
BrainHue = reader.ReadInt();
|
||||
Opened = reader.ReadBool();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,22 +5,20 @@ namespace Server.Items
|
|||
{
|
||||
public class PlagueBeastVein : PlagueBeastComponent
|
||||
{
|
||||
private bool m_Cut;
|
||||
|
||||
public bool Cut => m_Cut;
|
||||
public bool Cut { get; private set; }
|
||||
|
||||
private Timer m_Timer;
|
||||
|
||||
public PlagueBeastVein( int itemID, int hue ) : base( itemID, hue )
|
||||
{
|
||||
m_Cut = false;
|
||||
Cut = false;
|
||||
}
|
||||
|
||||
public override bool Scissor( Mobile from, Scissors scissors )
|
||||
{
|
||||
if ( IsAccessibleTo( from ) )
|
||||
{
|
||||
if ( !m_Cut && m_Timer == null )
|
||||
if ( !Cut && m_Timer == null )
|
||||
{
|
||||
m_Timer = Timer.DelayCall<Mobile>( TimeSpan.FromSeconds( 3 ), CuttingDone, from );
|
||||
scissors.PublicOverheadMessage( MessageType.Regular, 0x3B2, 1071899 ); // You begin cutting through the vein.
|
||||
|
|
@ -41,7 +39,7 @@ namespace Server.Items
|
|||
|
||||
private void CuttingDone( Mobile from )
|
||||
{
|
||||
m_Cut = true;
|
||||
Cut = true;
|
||||
|
||||
if ( ItemID == 0x1B1C )
|
||||
ItemID = 0x1B1B;
|
||||
|
|
@ -64,7 +62,7 @@ namespace Server.Items
|
|||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
|
||||
writer.Write( (bool) m_Cut );
|
||||
writer.Write( (bool) Cut );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
|
|
@ -73,7 +71,7 @@ namespace Server.Items
|
|||
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
m_Cut = reader.ReadBool();
|
||||
Cut = reader.ReadBool();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ namespace Server.Items
|
|||
private int m_Charges;
|
||||
private int m_Recharges;
|
||||
private BaseCreature m_Pet;
|
||||
private string m_PetName;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int Charges
|
||||
|
|
@ -80,7 +79,7 @@ namespace Server.Items
|
|||
}
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public string PetName => m_PetName;
|
||||
public string PetName { get; private set; }
|
||||
|
||||
[Constructible]
|
||||
public BallOfSummoning() : base( 0xE2E )
|
||||
|
|
@ -90,17 +89,17 @@ namespace Server.Items
|
|||
|
||||
m_Charges = Utility.RandomMinMax( 3, 9 );
|
||||
|
||||
m_PetName = "";
|
||||
PetName = "";
|
||||
}
|
||||
|
||||
public override void AddNameProperty( ObjectPropertyList list )
|
||||
{
|
||||
list.Add( 1054131, m_Charges.ToString() + ( m_PetName.Length == 0 ? "\t " : "\t" + m_PetName ) ); // a crystal ball of pet summoning: [charges: ~1_charges~] : [linked pet: ~2_petName~]
|
||||
list.Add( 1054131, m_Charges.ToString() + ( PetName.Length == 0 ? "\t " : "\t" + PetName ) ); // a crystal ball of pet summoning: [charges: ~1_charges~] : [linked pet: ~2_petName~]
|
||||
}
|
||||
|
||||
public override void OnSingleClick( Mobile from )
|
||||
{
|
||||
LabelTo( from, 1054131, m_Charges.ToString() + ( m_PetName.Length == 0 ? "\t " : "\t" + m_PetName ) ); // a crystal ball of pet summoning: [charges: ~1_charges~] : [linked pet: ~2_petName~]
|
||||
LabelTo( from, 1054131, m_Charges.ToString() + ( PetName.Length == 0 ? "\t " : "\t" + PetName ) ); // a crystal ball of pet summoning: [charges: ~1_charges~] : [linked pet: ~2_petName~]
|
||||
}
|
||||
|
||||
private delegate void BallCallback( Mobile from );
|
||||
|
|
@ -328,9 +327,9 @@ namespace Server.Items
|
|||
BaseCreature pet = Pet;
|
||||
|
||||
if ( pet == null )
|
||||
m_PetName = "";
|
||||
PetName = "";
|
||||
else
|
||||
m_PetName = pet.Name;
|
||||
PetName = pet.Name;
|
||||
|
||||
InvalidateProperties();
|
||||
}
|
||||
|
|
@ -349,7 +348,7 @@ namespace Server.Items
|
|||
|
||||
writer.WriteEncodedInt( (int) m_Charges );
|
||||
writer.Write( (Mobile) Pet );
|
||||
writer.Write( (string) m_PetName );
|
||||
writer.Write( (string) PetName );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
|
|
@ -369,7 +368,7 @@ namespace Server.Items
|
|||
{
|
||||
m_Charges = Math.Min( reader.ReadEncodedInt(), MaxCharges );
|
||||
Pet = (BaseCreature) reader.ReadMobile();
|
||||
m_PetName = reader.ReadString();
|
||||
PetName = reader.ReadString();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,14 +15,8 @@ namespace Server.Items
|
|||
private int m_ActiveItemID;
|
||||
private int m_InactiveItemID;
|
||||
|
||||
private SecureLevel m_Level;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public SecureLevel Level
|
||||
{
|
||||
get => m_Level;
|
||||
set => m_Level = value;
|
||||
}
|
||||
public SecureLevel Level { get; set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public virtual int ActiveItemID
|
||||
|
|
@ -50,18 +44,14 @@ namespace Server.Items
|
|||
}
|
||||
}
|
||||
|
||||
private string m_Account, m_LastUserName;
|
||||
private string m_LastUserName;
|
||||
private DateTime m_NextUse; // TODO: unused, it's here not to break serialize/deserialize
|
||||
|
||||
private SkillName m_Skill;
|
||||
private double m_SkillValue;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public string Account
|
||||
{
|
||||
get => m_Account;
|
||||
set => m_Account = value;
|
||||
}
|
||||
public string Account { get; set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public string LastUserName
|
||||
|
|
@ -121,7 +111,7 @@ namespace Server.Items
|
|||
m_InactiveItemID = inactiveItemID;
|
||||
m_ActiveItemID = activeItemID;
|
||||
|
||||
m_Account = account;
|
||||
Account = account;
|
||||
}
|
||||
|
||||
public override void GetProperties( ObjectPropertyList list )
|
||||
|
|
@ -751,12 +741,12 @@ namespace Server.Items
|
|||
writer.Write( (string) m_LastUserName );
|
||||
|
||||
//version 2
|
||||
writer.Write( (int)m_Level );
|
||||
writer.Write( (int)Level );
|
||||
|
||||
writer.Write( m_ActiveItemID );
|
||||
writer.Write( m_InactiveItemID );
|
||||
|
||||
writer.Write( (string) m_Account );
|
||||
writer.Write( (string) Account );
|
||||
writer.Write( (DateTime) m_NextUse ); //TODO: delete it in a harmless way
|
||||
|
||||
writer.WriteEncodedInt( (int) m_Skill );
|
||||
|
|
@ -778,7 +768,7 @@ namespace Server.Items
|
|||
}
|
||||
case 2:
|
||||
{
|
||||
m_Level = (SecureLevel)reader.ReadInt();
|
||||
Level = (SecureLevel)reader.ReadInt();
|
||||
goto case 1;
|
||||
}
|
||||
case 1:
|
||||
|
|
@ -790,7 +780,7 @@ namespace Server.Items
|
|||
}
|
||||
case 0:
|
||||
{
|
||||
m_Account = reader.ReadString();
|
||||
Account = reader.ReadString();
|
||||
m_NextUse = reader.ReadDateTime(); //TODO: delete it in a harmless way
|
||||
|
||||
m_Skill = (SkillName)reader.ReadEncodedInt();
|
||||
|
|
|
|||
|
|
@ -6,14 +6,10 @@ namespace Server.Items
|
|||
{
|
||||
public abstract class SpecialScroll : Item
|
||||
{
|
||||
private SkillName m_Skill;
|
||||
private double m_Value;
|
||||
|
||||
#region Old Item Serialization Vars
|
||||
/* DO NOT USE! Only used in serialization of special scrolls that originally derived from Item */
|
||||
private bool m_InheritsItem;
|
||||
|
||||
protected bool InheritsItem => m_InheritsItem;
|
||||
protected bool InheritsItem { get; private set; }
|
||||
|
||||
#endregion
|
||||
|
||||
|
|
@ -26,8 +22,8 @@ namespace Server.Items
|
|||
LootType = LootType.Cursed;
|
||||
Weight = 1.0;
|
||||
|
||||
m_Skill = skill;
|
||||
m_Value = value;
|
||||
Skill = skill;
|
||||
Value = value;
|
||||
}
|
||||
|
||||
public SpecialScroll( Serial serial ) : base( serial )
|
||||
|
|
@ -35,27 +31,19 @@ namespace Server.Items
|
|||
}
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public SkillName Skill
|
||||
{
|
||||
get => m_Skill;
|
||||
set => m_Skill = value;
|
||||
}
|
||||
public SkillName Skill { get; set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public double Value
|
||||
{
|
||||
get => m_Value;
|
||||
set => m_Value = value;
|
||||
}
|
||||
public double Value { get; set; }
|
||||
|
||||
public virtual string GetNameLocalized()
|
||||
{
|
||||
return string.Concat( "#", AosSkillBonuses.GetLabel( m_Skill ).ToString() );
|
||||
return string.Concat( "#", AosSkillBonuses.GetLabel( Skill ).ToString() );
|
||||
}
|
||||
|
||||
public virtual string GetName()
|
||||
{
|
||||
int index = (int)m_Skill;
|
||||
int index = (int)Skill;
|
||||
SkillInfo[] table = SkillInfo.Table;
|
||||
|
||||
if ( index >= 0 && index < table.Length )
|
||||
|
|
@ -96,8 +84,8 @@ namespace Server.Items
|
|||
|
||||
writer.Write( (int) 1 ); // version
|
||||
|
||||
writer.Write( (int) m_Skill );
|
||||
writer.Write( (double) m_Value );
|
||||
writer.Write( (int) Skill );
|
||||
writer.Write( (double) Value );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
|
|
@ -110,25 +98,25 @@ namespace Server.Items
|
|||
{
|
||||
case 1:
|
||||
{
|
||||
m_Skill = (SkillName)reader.ReadInt();
|
||||
m_Value = reader.ReadDouble();
|
||||
Skill = (SkillName)reader.ReadInt();
|
||||
Value = reader.ReadDouble();
|
||||
break;
|
||||
}
|
||||
case 0:
|
||||
{
|
||||
m_InheritsItem = true;
|
||||
InheritsItem = true;
|
||||
|
||||
if ( !(this is StatCapScroll) )
|
||||
m_Skill = (SkillName)reader.ReadInt();
|
||||
Skill = (SkillName)reader.ReadInt();
|
||||
else
|
||||
m_Skill = SkillName.Alchemy;
|
||||
Skill = SkillName.Alchemy;
|
||||
|
||||
if ( this is ScrollofAlacrity )
|
||||
m_Value = 0.0;
|
||||
Value = 0.0;
|
||||
else if ( this is StatCapScroll )
|
||||
m_Value = (double)reader.ReadInt();
|
||||
Value = (double)reader.ReadInt();
|
||||
else
|
||||
m_Value = reader.ReadDouble();
|
||||
Value = reader.ReadDouble();
|
||||
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,12 +62,11 @@ namespace Server.Items
|
|||
}
|
||||
}
|
||||
|
||||
private CannonDirection m_CannonDirection;
|
||||
private int m_Charges;
|
||||
private bool m_IsRewardItem;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public CannonDirection CannonDirection => m_CannonDirection;
|
||||
public CannonDirection CannonDirection { get; private set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int Charges
|
||||
|
|
@ -98,7 +97,7 @@ namespace Server.Items
|
|||
[Constructible]
|
||||
public CannonAddon( CannonDirection direction )
|
||||
{
|
||||
m_CannonDirection = direction;
|
||||
CannonDirection = direction;
|
||||
|
||||
switch ( direction )
|
||||
{
|
||||
|
|
@ -224,7 +223,7 @@ namespace Server.Items
|
|||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
|
||||
writer.Write( (int) m_CannonDirection );
|
||||
writer.Write( (int) CannonDirection );
|
||||
writer.Write( (int) m_Charges );
|
||||
writer.Write( (bool) m_IsRewardItem );
|
||||
}
|
||||
|
|
@ -235,7 +234,7 @@ namespace Server.Items
|
|||
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
m_CannonDirection = (CannonDirection) reader.ReadInt();
|
||||
CannonDirection = (CannonDirection) reader.ReadInt();
|
||||
m_Charges = reader.ReadInt();
|
||||
m_IsRewardItem = reader.ReadBool();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,52 +21,32 @@ namespace Server.Items
|
|||
get
|
||||
{
|
||||
MiningCartDeed deed = new MiningCartDeed();
|
||||
deed.IsRewardItem = m_IsRewardItem;
|
||||
deed.Gems = m_Gems;
|
||||
deed.Ore = m_Ore;
|
||||
deed.IsRewardItem = IsRewardItem;
|
||||
deed.Gems = Gems;
|
||||
deed.Ore = Ore;
|
||||
|
||||
return deed;
|
||||
}
|
||||
}
|
||||
|
||||
private bool m_IsRewardItem;
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public bool IsRewardItem { get; set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public bool IsRewardItem
|
||||
{
|
||||
get => m_IsRewardItem;
|
||||
set => m_IsRewardItem = value;
|
||||
}
|
||||
|
||||
private MiningCartType m_CartType;
|
||||
public MiningCartType CartType { get; private set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public MiningCartType CartType => m_CartType;
|
||||
|
||||
private int m_Gems;
|
||||
public int Gems { get; set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int Gems
|
||||
{
|
||||
get => m_Gems;
|
||||
set => m_Gems = value;
|
||||
}
|
||||
|
||||
private int m_Ore;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int Ore
|
||||
{
|
||||
get => m_Ore;
|
||||
set => m_Ore = value;
|
||||
}
|
||||
public int Ore { get; set; }
|
||||
|
||||
private Timer m_Timer;
|
||||
|
||||
[Constructible]
|
||||
public MiningCart( MiningCartType type )
|
||||
{
|
||||
m_CartType = type;
|
||||
CartType = type;
|
||||
|
||||
switch ( type )
|
||||
{
|
||||
|
|
@ -121,15 +101,15 @@ namespace Server.Items
|
|||
|
||||
private void GiveResources()
|
||||
{
|
||||
switch ( m_CartType )
|
||||
switch ( CartType )
|
||||
{
|
||||
case MiningCartType.OreSouth:
|
||||
case MiningCartType.OreEast:
|
||||
m_Ore = Math.Min( 100, m_Ore + 10 );
|
||||
Ore = Math.Min( 100, Ore + 10 );
|
||||
break;
|
||||
case MiningCartType.GemSouth:
|
||||
case MiningCartType.GemEast:
|
||||
m_Gems = Math.Min( 50, m_Gems + 5 );
|
||||
Gems = Math.Min( 50, Gems + 5 );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -163,11 +143,11 @@ namespace Server.Items
|
|||
}
|
||||
else if ( house != null && house.HasSecureAccess( from, SecureLevel.Friends ) )
|
||||
{
|
||||
switch ( m_CartType )
|
||||
switch ( CartType )
|
||||
{
|
||||
case MiningCartType.OreSouth:
|
||||
case MiningCartType.OreEast:
|
||||
if ( m_Ore > 0 )
|
||||
if ( Ore > 0 )
|
||||
{
|
||||
Item ingots = null;
|
||||
|
||||
|
|
@ -184,7 +164,7 @@ namespace Server.Items
|
|||
case 8: ingots = new ValoriteIngot(); break;
|
||||
}
|
||||
|
||||
int amount = Math.Min( 10, m_Ore );
|
||||
int amount = Math.Min( 10, Ore );
|
||||
ingots.Amount = amount;
|
||||
|
||||
if ( !from.PlaceInBackpack( ingots ) )
|
||||
|
|
@ -195,7 +175,7 @@ namespace Server.Items
|
|||
else
|
||||
{
|
||||
PublicOverheadMessage(MessageType.Regular, 0, 1094724, amount.ToString() ); // Ore: ~1_COUNT~
|
||||
m_Ore -= amount;
|
||||
Ore -= amount;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -204,7 +184,7 @@ namespace Server.Items
|
|||
break;
|
||||
case MiningCartType.GemSouth:
|
||||
case MiningCartType.GemEast:
|
||||
if ( m_Gems > 0 )
|
||||
if ( Gems > 0 )
|
||||
{
|
||||
Item gems = null;
|
||||
|
||||
|
|
@ -229,7 +209,7 @@ namespace Server.Items
|
|||
case 14: gems = new BlueDiamond(); break;
|
||||
}
|
||||
|
||||
int amount = Math.Min( 5, m_Gems );
|
||||
int amount = Math.Min( 5, Gems );
|
||||
gems.Amount = amount;
|
||||
|
||||
if ( !from.PlaceInBackpack( gems ) )
|
||||
|
|
@ -240,7 +220,7 @@ namespace Server.Items
|
|||
else
|
||||
{
|
||||
PublicOverheadMessage( MessageType.Regular, 0, 1094723, amount.ToString() ); // Gems: ~1_COUNT~
|
||||
m_Gems -= amount;
|
||||
Gems -= amount;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -260,12 +240,12 @@ namespace Server.Items
|
|||
writer.WriteEncodedInt( 1 ); // version
|
||||
|
||||
#region version 1
|
||||
writer.Write( (int) m_CartType );
|
||||
writer.Write( (int) CartType );
|
||||
#endregion
|
||||
|
||||
writer.Write( (bool) m_IsRewardItem );
|
||||
writer.Write( (int) m_Gems );
|
||||
writer.Write( (int) m_Ore );
|
||||
writer.Write( (bool) IsRewardItem );
|
||||
writer.Write( (int) Gems );
|
||||
writer.Write( (int) Ore );
|
||||
|
||||
if ( m_Timer != null )
|
||||
writer.Write( (DateTime) m_Timer.Next );
|
||||
|
|
@ -282,12 +262,12 @@ namespace Server.Items
|
|||
switch ( version )
|
||||
{
|
||||
case 1:
|
||||
m_CartType = (MiningCartType) reader.ReadInt();
|
||||
CartType = (MiningCartType) reader.ReadInt();
|
||||
goto case 0;
|
||||
case 0:
|
||||
m_IsRewardItem = reader.ReadBool();
|
||||
m_Gems = reader.ReadInt();
|
||||
m_Ore = reader.ReadInt();
|
||||
IsRewardItem = reader.ReadBool();
|
||||
Gems = reader.ReadInt();
|
||||
Ore = reader.ReadInt();
|
||||
|
||||
DateTime next = reader.ReadDateTime();
|
||||
|
||||
|
|
@ -310,8 +290,8 @@ namespace Server.Items
|
|||
{
|
||||
MiningCart addon = new MiningCart( m_CartType );
|
||||
addon.IsRewardItem = m_IsRewardItem;
|
||||
addon.Gems = m_Gems;
|
||||
addon.Ore = m_Ore;
|
||||
addon.Gems = Gems;
|
||||
addon.Ore = Ore;
|
||||
|
||||
return addon;
|
||||
}
|
||||
|
|
@ -328,23 +308,11 @@ namespace Server.Items
|
|||
set{ m_IsRewardItem = value; InvalidateProperties(); }
|
||||
}
|
||||
|
||||
private int m_Gems;
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int Gems { get; set; }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int Gems
|
||||
{
|
||||
get => m_Gems;
|
||||
set => m_Gems = value;
|
||||
}
|
||||
|
||||
private int m_Ore;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int Ore
|
||||
{
|
||||
get => m_Ore;
|
||||
set => m_Ore = value;
|
||||
}
|
||||
public int Ore { get; set; }
|
||||
|
||||
[Constructible]
|
||||
public MiningCartDeed()
|
||||
|
|
@ -385,8 +353,8 @@ namespace Server.Items
|
|||
writer.WriteEncodedInt( 0 ); // version
|
||||
|
||||
writer.Write( (bool) m_IsRewardItem );
|
||||
writer.Write( (int) m_Gems );
|
||||
writer.Write( (int) m_Ore );
|
||||
writer.Write( (int) Gems );
|
||||
writer.Write( (int) Ore );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
|
|
@ -396,8 +364,8 @@ namespace Server.Items
|
|||
int version = reader.ReadEncodedInt();
|
||||
|
||||
m_IsRewardItem = reader.ReadBool();
|
||||
m_Gems = reader.ReadInt();
|
||||
m_Ore = reader.ReadInt();
|
||||
Gems = reader.ReadInt();
|
||||
Ore = reader.ReadInt();
|
||||
}
|
||||
|
||||
public void GetOptions( RewardOptionList list )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue