Changes properties to use automatic property initializers

This commit is contained in:
Kamron Batman 2018-09-14 15:23:29 -07:00
parent f0a48ad431
commit 06fa31a7bf
623 changed files with 13072 additions and 19304 deletions

View file

@ -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();
}

View file

@ -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 );
}
}

View file

@ -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;
}
}
}

View file

@ -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 );

View file

@ -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();
}
}
}

View file

@ -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

View file

@ -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() );

View file

@ -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;

View file

@ -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();

View file

@ -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 = {

View file

@ -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;
}
}

View file

@ -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>();
}
}
}

View file

@ -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();
}
}
}

View file

@ -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();
}
}

View file

@ -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();
}
}
}

View file

@ -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;
}
}

View file

@ -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();

View file

@ -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;
}

View file

@ -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();
}

View file

@ -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 )