massive branch sync
This commit is contained in:
parent
489bbabe93
commit
b3e8ec0a08
192 changed files with 1249 additions and 1124 deletions
|
|
@ -80,15 +80,8 @@
|
|||
2804 2255
|
||||
2850 2252
|
||||
2932 2240
|
||||
# 3568 2402
|
||||
# 3702 2825
|
||||
# 3511 2421
|
||||
# 3533 2471
|
||||
# 3417 2675
|
||||
3425 2723
|
||||
3476 2761
|
||||
# 3541 2784
|
||||
# 3558 2819
|
||||
3594 2825
|
||||
4419 3117
|
||||
4471 3188
|
||||
|
|
|
|||
|
|
@ -225,7 +225,7 @@ namespace Server.Accounting
|
|||
/// </summary>
|
||||
public bool Inactive
|
||||
{
|
||||
get { return ( ( m_LastLogin + InactiveDuration ) <= DateTime.Now ); }
|
||||
get { return ( ( m_LastLogin + InactiveDuration ) <= DateTime.Now && AccessLevel == AccessLevel.Player ); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -365,7 +365,7 @@ namespace Server.Accounting
|
|||
string tagDuration = GetTag( "BanDuration" );
|
||||
|
||||
if ( tagTime != null )
|
||||
banTime = Utility.GetDateTime( tagTime, DateTime.MinValue );
|
||||
banTime = Utility.GetXMLDateTime( tagTime, DateTime.MinValue );
|
||||
else
|
||||
banTime = DateTime.MinValue;
|
||||
|
||||
|
|
@ -657,9 +657,9 @@ namespace Server.Accounting
|
|||
}
|
||||
|
||||
m_AccessLevel = (AccessLevel)Enum.Parse( typeof( AccessLevel ), Utility.GetText( node["accessLevel"], "Player" ), true );
|
||||
m_Flags = Utility.GetInt32( Utility.GetText( node["flags"], "0" ), 0 );
|
||||
m_Created = Utility.GetDateTime( Utility.GetText( node["created"], null ), DateTime.Now );
|
||||
m_LastLogin = Utility.GetDateTime( Utility.GetText( node["lastLogin"], null ), DateTime.Now );
|
||||
m_Flags = Utility.GetXMLInt32( Utility.GetText( node["flags"], "0" ), 0 );
|
||||
m_Created = Utility.GetXMLDateTime( Utility.GetText( node["created"], null ), DateTime.Now );
|
||||
m_LastLogin = Utility.GetXMLDateTime( Utility.GetText( node["lastLogin"], null ), DateTime.Now );
|
||||
|
||||
m_Mobiles = LoadMobiles( node );
|
||||
m_Comments = LoadComments( node );
|
||||
|
|
@ -673,7 +673,7 @@ namespace Server.Accounting
|
|||
m_Mobiles[i].Account = this;
|
||||
}
|
||||
|
||||
TimeSpan totalGameTime = Utility.GetTimeSpan( Utility.GetText( node["totalGameTime"], null ), TimeSpan.Zero );
|
||||
TimeSpan totalGameTime = Utility.GetXMLTimeSpan( Utility.GetText( node["totalGameTime"], null ), TimeSpan.Zero );
|
||||
if ( totalGameTime == TimeSpan.Zero )
|
||||
{
|
||||
for ( int i = 0; i < m_Mobiles.Length; i++ )
|
||||
|
|
@ -736,7 +736,7 @@ namespace Server.Accounting
|
|||
|
||||
if ( addressList != null )
|
||||
{
|
||||
int count = Utility.GetInt32( Utility.GetAttribute( addressList, "count", "0" ), 0 );
|
||||
int count = Utility.GetXMLInt32( Utility.GetAttribute( addressList, "count", "0" ), 0 );
|
||||
|
||||
list = new IPAddress[count];
|
||||
|
||||
|
|
@ -793,8 +793,8 @@ namespace Server.Accounting
|
|||
{
|
||||
try
|
||||
{
|
||||
int index = Utility.GetInt32( Utility.GetAttribute( ele, "index", "0" ), 0 );
|
||||
int serial = Utility.GetInt32( Utility.GetText( ele, "0" ), 0 );
|
||||
int index = Utility.GetXMLInt32( Utility.GetAttribute( ele, "index", "0" ), 0 );
|
||||
int serial = Utility.GetXMLInt32( Utility.GetText( ele, "0" ), 0 );
|
||||
|
||||
if ( index >= 0 && index < list.Length )
|
||||
list[index] = World.FindMobile( serial );
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ namespace Server.Accounting
|
|||
public AccountComment( XmlElement node )
|
||||
{
|
||||
m_AddedBy = Utility.GetAttribute( node, "addedBy", "empty" );
|
||||
m_LastModified = Utility.GetDateTime( Utility.GetAttribute( node, "lastModified" ), DateTime.Now );
|
||||
m_LastModified = Utility.GetXMLDateTime( Utility.GetAttribute( node, "lastModified" ), DateTime.Now );
|
||||
m_Content = Utility.GetText( node, "" );
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -266,10 +266,18 @@ namespace Server.Commands
|
|||
if( !( obj is IConvertible ) )
|
||||
return "Property is not IConvertable.";
|
||||
|
||||
long v = (long)Convert.ChangeType( obj, TypeCode.Int64 );
|
||||
v += realValues[i];
|
||||
try
|
||||
{
|
||||
|
||||
realProps[i].SetValue( realObjs[i], Convert.ChangeType( v, realProps[i].PropertyType ), null );
|
||||
long v = (long)Convert.ChangeType( obj, TypeCode.Int64 );
|
||||
v += realValues[i];
|
||||
|
||||
realProps[i].SetValue( realObjs[i], Convert.ChangeType( v, realProps[i].PropertyType ), null );
|
||||
}
|
||||
catch
|
||||
{
|
||||
return "Value could not be converted";
|
||||
}
|
||||
}
|
||||
|
||||
if ( realProps.Length == 1 )
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ using Server.Gumps;
|
|||
using Server.Items;
|
||||
using Server.Commands;
|
||||
using Server.Targeting;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Server
|
||||
{
|
||||
|
|
@ -201,7 +202,7 @@ namespace Server
|
|||
|
||||
for ( int i = 0; i < state.m_List.Count; ++i )
|
||||
{
|
||||
Item item = (Item)state.m_List[i];
|
||||
Item item = state.m_List[i];
|
||||
|
||||
int xOffset = item.X - (state.m_X * 8);
|
||||
int yOffset = item.Y - (state.m_Y * 8);
|
||||
|
|
@ -551,13 +552,13 @@ namespace Server
|
|||
private class DeltaState
|
||||
{
|
||||
public int m_X, m_Y;
|
||||
public ArrayList m_List;
|
||||
public List<Item> m_List;
|
||||
|
||||
public DeltaState( Point2D p )
|
||||
{
|
||||
m_X = p.X;
|
||||
m_Y = p.Y;
|
||||
m_List = new ArrayList();
|
||||
m_List = new List<Item>();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ namespace Server.Engines.Doom
|
|||
|
||||
m_Teles = new List<Item>();
|
||||
for (; i<15; i++)
|
||||
m_Teles.Add( AddLeverPuzzlePart( TA[i], new LampRoomTelePorter( TA[++i] )));
|
||||
m_Teles.Add( AddLeverPuzzlePart( TA[i], new LampRoomTeleporter( TA[++i] )));
|
||||
|
||||
m_Statues = new List<Item>();
|
||||
for (; i<19; i++)
|
||||
|
|
@ -266,7 +266,7 @@ namespace Server.Engines.Doom
|
|||
|
||||
/* if one bit in each of the four nibbles is set, this is false */
|
||||
|
||||
if( (TheirKey=(ushort)(code|(TheirKey<<=4))) < 4095 )
|
||||
if( (TheirKey=(ushort)(code|(TheirKey<<=4))) < 0x0FFF )
|
||||
{
|
||||
l_Timer = Timer.DelayCall( TimeSpan.FromSeconds( 30.0 ), new TimerCallback( ResetPuzzle ));
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -152,9 +152,11 @@ namespace Server.Engines.Doom
|
|||
m_Controller = reader.ReadItem() as LeverPuzzleController;
|
||||
}
|
||||
}
|
||||
public class LampRoomTelePorter : Item
|
||||
|
||||
[TypeAlias( "Server.Engines.Doom.LampRoomTelePorter" )]
|
||||
public class LampRoomTeleporter : Item
|
||||
{
|
||||
public LampRoomTelePorter( int[] dat )
|
||||
public LampRoomTeleporter( int[] dat )
|
||||
{
|
||||
Hue = dat[1];
|
||||
ItemID = dat[0];
|
||||
|
|
@ -180,7 +182,7 @@ namespace Server.Engines.Doom
|
|||
return true;
|
||||
}
|
||||
|
||||
public LampRoomTelePorter( Serial serial ) : base( serial )
|
||||
public LampRoomTeleporter( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
public override void Serialize( GenericWriter writer )
|
||||
|
|
|
|||
|
|
@ -884,25 +884,28 @@ namespace Server.Factions
|
|||
public const double SkillLossFactor = 1.0 / 3;
|
||||
public static readonly TimeSpan SkillLossPeriod = TimeSpan.FromMinutes( 20.0 );
|
||||
|
||||
private static Hashtable m_SkillLoss = new Hashtable();
|
||||
private static Dictionary<Mobile, SkillLossContext> m_SkillLoss = new Dictionary<Mobile, SkillLossContext>();
|
||||
|
||||
private class SkillLossContext
|
||||
{
|
||||
public Timer m_Timer;
|
||||
public ArrayList m_Mods;
|
||||
public List<SkillMod> m_Mods;
|
||||
}
|
||||
|
||||
public static bool InSkillLoss( Mobile mob )
|
||||
{
|
||||
return m_SkillLoss.ContainsKey( mob );
|
||||
}
|
||||
|
||||
public static void ApplySkillLoss( Mobile mob )
|
||||
{
|
||||
SkillLossContext context = (SkillLossContext)m_SkillLoss[mob];
|
||||
|
||||
if ( context != null )
|
||||
if ( InSkillLoss( mob ) )
|
||||
return;
|
||||
|
||||
context = new SkillLossContext();
|
||||
SkillLossContext context = new SkillLossContext();
|
||||
m_SkillLoss[mob] = context;
|
||||
|
||||
ArrayList mods = context.m_Mods = new ArrayList();
|
||||
List<SkillMod> mods = context.m_Mods = new List<SkillMod>();
|
||||
|
||||
for ( int i = 0; i < mob.Skills.Length; ++i )
|
||||
{
|
||||
|
|
@ -928,18 +931,17 @@ namespace Server.Factions
|
|||
|
||||
public static bool ClearSkillLoss( Mobile mob )
|
||||
{
|
||||
SkillLossContext context = (SkillLossContext)m_SkillLoss[mob];
|
||||
SkillLossContext context;
|
||||
|
||||
if ( context == null ) {
|
||||
if ( !m_SkillLoss.TryGetValue( mob, out context ) )
|
||||
return false;
|
||||
}
|
||||
|
||||
m_SkillLoss.Remove( mob );
|
||||
|
||||
ArrayList mods = context.m_Mods;
|
||||
List<SkillMod> mods = context.m_Mods;
|
||||
|
||||
for ( int i = 0; i < mods.Count; ++i )
|
||||
mob.RemoveSkillMod( (SkillMod) mods[i] );
|
||||
mob.RemoveSkillMod( mods[i] );
|
||||
|
||||
context.m_Timer.Stop();
|
||||
|
||||
|
|
|
|||
|
|
@ -673,7 +673,7 @@ namespace Server.Factions
|
|||
int dexMod = GetStatMod( m_Guard, StatType.Dex );
|
||||
int intMod = GetStatMod( m_Guard, StatType.Int );
|
||||
|
||||
ArrayList types = new ArrayList();
|
||||
List<Type> types = new List<Type>();
|
||||
|
||||
if ( strMod <= 0 )
|
||||
types.Add( typeof( StrengthSpell ) );
|
||||
|
|
@ -689,7 +689,7 @@ namespace Server.Factions
|
|||
if ( types.Count > 1 )
|
||||
spell = new BlessSpell( m_Guard, null );
|
||||
else if ( types.Count == 1 )
|
||||
spell = (Spell) Activator.CreateInstance( (Type) types[0], new object[]{ m_Guard, null } );
|
||||
spell = (Spell) Activator.CreateInstance( types[0], new object[]{ m_Guard, null } );
|
||||
}
|
||||
else if ( types.Count > 0 )
|
||||
{
|
||||
|
|
@ -712,7 +712,7 @@ namespace Server.Factions
|
|||
int dexMod = GetStatMod( combatant, StatType.Dex );
|
||||
int intMod = GetStatMod( combatant, StatType.Int );
|
||||
|
||||
ArrayList types = new ArrayList();
|
||||
List<Type> types = new List<Type>();
|
||||
|
||||
if ( strMod >= 0 )
|
||||
types.Add( typeof( WeakenSpell ) );
|
||||
|
|
@ -726,7 +726,7 @@ namespace Server.Factions
|
|||
if ( types.Count > 1 )
|
||||
spell = new CurseSpell( m_Guard, null );
|
||||
else if ( types.Count == 1 )
|
||||
spell = (Spell) Activator.CreateInstance( (Type) types[0], new object[]{ m_Guard, null } );
|
||||
spell = (Spell) Activator.CreateInstance( types[0], new object[]{ m_Guard, null } );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Mobiles;
|
||||
|
||||
|
|
@ -44,8 +44,8 @@ namespace Server.Factions
|
|||
m_Town.UnregisterVendor( this );
|
||||
}
|
||||
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override void InitSBInfo()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
|
|
@ -47,7 +47,7 @@ namespace Server.Factions
|
|||
|
||||
public class SBFactionBoard : SBInfo
|
||||
{
|
||||
private ArrayList m_BuyInfo = new InternalBuyInfo();
|
||||
private List<GenericBuyInfo> m_BuyInfo = new InternalBuyInfo();
|
||||
private IShopSellInfo m_SellInfo = new InternalSellInfo();
|
||||
|
||||
public SBFactionBoard()
|
||||
|
|
@ -55,9 +55,9 @@ namespace Server.Factions
|
|||
}
|
||||
|
||||
public override IShopSellInfo SellInfo { get { return m_SellInfo; } }
|
||||
public override ArrayList BuyInfo { get { return m_BuyInfo; } }
|
||||
public override List<GenericBuyInfo> BuyInfo { get { return m_BuyInfo; } }
|
||||
|
||||
public class InternalBuyInfo : ArrayList
|
||||
public class InternalBuyInfo : List<GenericBuyInfo>
|
||||
{
|
||||
public InternalBuyInfo()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
|
|
@ -52,7 +52,7 @@ namespace Server.Factions
|
|||
|
||||
public class SBFactionBottle : SBInfo
|
||||
{
|
||||
private ArrayList m_BuyInfo = new InternalBuyInfo();
|
||||
private List<GenericBuyInfo> m_BuyInfo = new InternalBuyInfo();
|
||||
private IShopSellInfo m_SellInfo = new InternalSellInfo();
|
||||
|
||||
public SBFactionBottle()
|
||||
|
|
@ -60,9 +60,9 @@ namespace Server.Factions
|
|||
}
|
||||
|
||||
public override IShopSellInfo SellInfo { get { return m_SellInfo; } }
|
||||
public override ArrayList BuyInfo { get { return m_BuyInfo; } }
|
||||
public override List<GenericBuyInfo> BuyInfo { get { return m_BuyInfo; } }
|
||||
|
||||
public class InternalBuyInfo : ArrayList
|
||||
public class InternalBuyInfo : List<GenericBuyInfo>
|
||||
{
|
||||
public InternalBuyInfo()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ using Server;
|
|||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
using Server.Network;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Server.Factions
|
||||
{
|
||||
|
|
@ -55,12 +56,12 @@ namespace Server.Factions
|
|||
{
|
||||
}
|
||||
|
||||
public override bool OnBuyItems( Mobile buyer, ArrayList list )
|
||||
public override bool OnBuyItems( Mobile buyer, List<BuyItemResponse> list )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool OnSellItems( Mobile seller, ArrayList list )
|
||||
public override bool OnSellItems( Mobile seller, List<SellItemResponse> list )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
|
|
@ -48,7 +48,7 @@ namespace Server.Factions
|
|||
|
||||
public class SBFactionOre : SBInfo
|
||||
{
|
||||
private ArrayList m_BuyInfo = new InternalBuyInfo();
|
||||
private List<GenericBuyInfo> m_BuyInfo = new InternalBuyInfo();
|
||||
private IShopSellInfo m_SellInfo = new InternalSellInfo();
|
||||
|
||||
public SBFactionOre()
|
||||
|
|
@ -56,9 +56,9 @@ namespace Server.Factions
|
|||
}
|
||||
|
||||
public override IShopSellInfo SellInfo { get { return m_SellInfo; } }
|
||||
public override ArrayList BuyInfo { get { return m_BuyInfo; } }
|
||||
public override List<GenericBuyInfo> BuyInfo { get { return m_BuyInfo; } }
|
||||
|
||||
public class InternalBuyInfo : ArrayList
|
||||
public class InternalBuyInfo : List<GenericBuyInfo>
|
||||
{
|
||||
public InternalBuyInfo()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
|
|
@ -57,7 +57,7 @@ namespace Server.Factions
|
|||
|
||||
public class SBFactionReagent : SBInfo
|
||||
{
|
||||
private ArrayList m_BuyInfo = new InternalBuyInfo();
|
||||
private List<GenericBuyInfo> m_BuyInfo = new InternalBuyInfo();
|
||||
private IShopSellInfo m_SellInfo = new InternalSellInfo();
|
||||
|
||||
public SBFactionReagent()
|
||||
|
|
@ -65,9 +65,9 @@ namespace Server.Factions
|
|||
}
|
||||
|
||||
public override IShopSellInfo SellInfo { get { return m_SellInfo; } }
|
||||
public override ArrayList BuyInfo { get { return m_BuyInfo; } }
|
||||
public override List<GenericBuyInfo> BuyInfo { get { return m_BuyInfo; } }
|
||||
|
||||
public class InternalBuyInfo : ArrayList
|
||||
public class InternalBuyInfo : List<GenericBuyInfo>
|
||||
{
|
||||
public InternalBuyInfo()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -5,15 +5,16 @@ using Server.Network;
|
|||
using Server.Targeting;
|
||||
using Server.Factions;
|
||||
using Server.Commands;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Server.Engines.PartySystem
|
||||
{
|
||||
public class Party : IParty
|
||||
{
|
||||
private Mobile m_Leader;
|
||||
private ArrayList m_Members;
|
||||
private ArrayList m_Candidates;
|
||||
private ArrayList m_Listeners; // staff listening
|
||||
private List<PartyMemberInfo> m_Members;
|
||||
private List<Mobile> m_Candidates;
|
||||
private List<Mobile> m_Listeners; // staff listening
|
||||
|
||||
public const int Capacity = 10;
|
||||
|
||||
|
|
@ -148,9 +149,9 @@ namespace Server.Engines.PartySystem
|
|||
{
|
||||
m_Leader = leader;
|
||||
|
||||
m_Members = new ArrayList();
|
||||
m_Candidates = new ArrayList();
|
||||
m_Listeners = new ArrayList();
|
||||
m_Members = new List<PartyMemberInfo>();
|
||||
m_Candidates = new List<Mobile>();
|
||||
m_Listeners = new List<Mobile>();
|
||||
|
||||
m_Members.Add( new PartyMemberInfo( leader ) );
|
||||
}
|
||||
|
|
@ -335,10 +336,10 @@ namespace Server.Engines.PartySystem
|
|||
|
||||
for ( int i = 0; i < m_Listeners.Count; ++i )
|
||||
{
|
||||
Mobile mob = (Mobile)m_Listeners[i];
|
||||
Mobile mob = m_Listeners[i];
|
||||
|
||||
if ( mob.Party != this )
|
||||
((Mobile)m_Listeners[i]).SendMessage( "[{0}]: {1}", from.Name, text );
|
||||
m_Listeners[i].SendMessage( "[{0}]: {1}", from.Name, text );
|
||||
}
|
||||
|
||||
SendToStaffMessage( from, "[Party]: {0}", text );
|
||||
|
|
@ -350,10 +351,10 @@ namespace Server.Engines.PartySystem
|
|||
|
||||
for ( int i = 0; i < m_Listeners.Count; ++i )
|
||||
{
|
||||
Mobile mob = (Mobile)m_Listeners[i];
|
||||
Mobile mob = m_Listeners[i];
|
||||
|
||||
if ( mob.Party != this )
|
||||
((Mobile)m_Listeners[i]).SendMessage( "[{0}]->[{1}]: {2}", from.Name, to.Name, text );
|
||||
m_Listeners[i].SendMessage( "[{0}]->[{1}]: {2}", from.Name, to.Name, text );
|
||||
}
|
||||
|
||||
SendToStaffMessage( from, "[Party]->[{0}]: {1}", to.Name, text );
|
||||
|
|
@ -388,13 +389,13 @@ namespace Server.Engines.PartySystem
|
|||
p.Acquire();
|
||||
|
||||
for ( int i = 0; i < m_Members.Count; ++i )
|
||||
((PartyMemberInfo)m_Members[i]).Mobile.Send( p );
|
||||
m_Members[i].Mobile.Send( p );
|
||||
|
||||
if ( p is MessageLocalized || p is MessageLocalizedAffix || p is UnicodeMessage || p is AsciiMessage )
|
||||
{
|
||||
for ( int i = 0; i < m_Listeners.Count; ++i )
|
||||
{
|
||||
Mobile mob = (Mobile)m_Listeners[i];
|
||||
Mobile mob = m_Listeners[i];
|
||||
|
||||
if ( mob.Party != this )
|
||||
mob.Send( p );
|
||||
|
|
@ -410,7 +411,7 @@ namespace Server.Engines.PartySystem
|
|||
|
||||
for ( int i = 0; i < m_Members.Count; ++i )
|
||||
{
|
||||
Mobile c = ((PartyMemberInfo)m_Members[i]).Mobile;
|
||||
Mobile c = m_Members[i].Mobile;
|
||||
|
||||
if ( c != m && m.Map == c.Map && Utility.InUpdateRange( c, m ) && c.CanSee( m ) )
|
||||
{
|
||||
|
|
@ -430,7 +431,7 @@ namespace Server.Engines.PartySystem
|
|||
|
||||
for ( int i = 0; i < m_Members.Count; ++i )
|
||||
{
|
||||
Mobile c = ((PartyMemberInfo)m_Members[i]).Mobile;
|
||||
Mobile c = m_Members[i].Mobile;
|
||||
|
||||
if ( c != m && m.Map == c.Map && Utility.InUpdateRange( c, m ) && c.CanSee( m ) )
|
||||
{
|
||||
|
|
@ -458,17 +459,17 @@ namespace Server.Engines.PartySystem
|
|||
public int Count{ get{ return m_Members.Count; } }
|
||||
public bool Active{ get{ return m_Members.Count > 1; } }
|
||||
public Mobile Leader{ get{ return m_Leader; } }
|
||||
public ArrayList Members{ get{ return m_Members; } }
|
||||
public ArrayList Candidates{ get{ return m_Candidates; } }
|
||||
public List<PartyMemberInfo> Members{ get{ return m_Members; } }
|
||||
public List<Mobile> Candidates { get { return m_Candidates; } }
|
||||
|
||||
public PartyMemberInfo this[int index]{ get{ return (PartyMemberInfo)m_Members[index]; } }
|
||||
public PartyMemberInfo this[int index]{ get{ return m_Members[index]; } }
|
||||
public PartyMemberInfo this[Mobile m]
|
||||
{
|
||||
get
|
||||
{
|
||||
for ( int i = 0; i < m_Members.Count; ++i )
|
||||
if ( ((PartyMemberInfo)m_Members[i]).Mobile == m )
|
||||
return (PartyMemberInfo)m_Members[i];
|
||||
if ( m_Members[i].Mobile == m )
|
||||
return m_Members[i];
|
||||
|
||||
return null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,8 +28,8 @@ namespace Server.Engines.Quests
|
|||
|
||||
public abstract class BaseQuester : BaseVendor
|
||||
{
|
||||
protected ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
protected List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override bool IsActiveVendor{ get{ return false; } }
|
||||
public override bool IsInvulnerable{ get{ return true; } }
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Mobiles;
|
||||
using Server.Items;
|
||||
|
|
@ -161,7 +161,7 @@ namespace Server.Engines.Quests.Haven
|
|||
|
||||
public class SBDryad : SBInfo
|
||||
{
|
||||
private ArrayList m_BuyInfo = new InternalBuyInfo();
|
||||
private List<GenericBuyInfo> m_BuyInfo = new InternalBuyInfo();
|
||||
private IShopSellInfo m_SellInfo = new InternalSellInfo();
|
||||
|
||||
public SBDryad()
|
||||
|
|
@ -169,9 +169,9 @@ namespace Server.Engines.Quests.Haven
|
|||
}
|
||||
|
||||
public override IShopSellInfo SellInfo { get { return m_SellInfo; } }
|
||||
public override ArrayList BuyInfo { get { return m_BuyInfo; } }
|
||||
public override List<GenericBuyInfo> BuyInfo { get { return m_BuyInfo; } }
|
||||
|
||||
public class InternalBuyInfo : ArrayList
|
||||
public class InternalBuyInfo : List<GenericBuyInfo>
|
||||
{
|
||||
public InternalBuyInfo()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ using System;
|
|||
using Server;
|
||||
using Server.Network;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server.Items;
|
||||
using Server.Gumps;
|
||||
using Server.Misc;
|
||||
|
|
@ -192,8 +193,8 @@ namespace Server.Mobiles
|
|||
public override bool ClickTitle { get { return true; } }
|
||||
public override bool CanTeach { get { return false; } }
|
||||
|
||||
protected ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos { get { return m_SBInfos; } }
|
||||
protected List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos { get { return m_SBInfos; } }
|
||||
|
||||
public override void InitSBInfo()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2353,11 +2353,9 @@ namespace Server.Gumps
|
|||
{
|
||||
ArrayList results = new ArrayList();
|
||||
|
||||
DateTime minTime = DateTime.Now - Account.InactiveDuration;
|
||||
|
||||
foreach ( Account acct in Accounts.GetAccounts() )
|
||||
{
|
||||
if ( acct.LastLogin <= minTime )
|
||||
if ( acct.Inactive )
|
||||
results.Add( acct );
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ namespace Server.Guilds
|
|||
{
|
||||
m_ToLeader = toPromoteToLeader;
|
||||
m_toKick = toKick;
|
||||
m_Member = (PlayerMobile)member;
|
||||
m_Member = member;
|
||||
PopulateGump();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -284,14 +284,8 @@ namespace Server.Gumps
|
|||
|
||||
int price;
|
||||
|
||||
try
|
||||
{
|
||||
price = Convert.ToInt32( text );
|
||||
}
|
||||
catch
|
||||
{
|
||||
price = -1;
|
||||
}
|
||||
if ( !int.TryParse( text, out price ) )
|
||||
price = -1;
|
||||
|
||||
if ( price < 0 )
|
||||
{
|
||||
|
|
@ -512,14 +506,8 @@ namespace Server.Gumps
|
|||
|
||||
int price;
|
||||
|
||||
try
|
||||
{
|
||||
price = Convert.ToInt32( text );
|
||||
}
|
||||
catch
|
||||
{
|
||||
price = -1;
|
||||
}
|
||||
if ( !int.TryParse( text, out price ) )
|
||||
price = -1;
|
||||
|
||||
if ( price < 0 )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -476,9 +476,9 @@ namespace Server.Items
|
|||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
if ( CheckType( "PitcherWater" ) || CheckType( "GlassPitcher" ) )
|
||||
base.Deserialize( reader, false );
|
||||
base.InternalDeserialize( reader, false );
|
||||
else
|
||||
base.Deserialize( reader, true );
|
||||
base.InternalDeserialize( reader, true );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
|
||||
|
|
@ -1141,10 +1141,10 @@ namespace Server.Items
|
|||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
Deserialize( reader, true );
|
||||
InternalDeserialize( reader, true );
|
||||
}
|
||||
|
||||
public void Deserialize( GenericReader reader, bool read )
|
||||
protected void InternalDeserialize( GenericReader reader, bool read )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
|
|
|
|||
|
|
@ -90,17 +90,160 @@ namespace Server.Items
|
|||
if ( !Core.SE )
|
||||
return false;
|
||||
|
||||
return ( DateTime.Now > m_TimeOfDeath + InstancedCorpseTime );
|
||||
return ( DateTime.Now < (m_TimeOfDeath + InstancedCorpseTime) );
|
||||
}
|
||||
}
|
||||
|
||||
public override bool IsDecoContainer
|
||||
private Dictionary<Item, InstancedItemInfo> m_InstancedItems;
|
||||
|
||||
private class InstancedItemInfo
|
||||
{
|
||||
private Mobile m_Mobile;
|
||||
private Item m_Item;
|
||||
|
||||
private bool m_Perpetual; //Needed for Rummaged stuff. CONTRARY to the Patchlog, cause a later FoF contradicts it. Verify on OSI.
|
||||
public bool Perpetual { get { return m_Perpetual; } set { m_Perpetual = value; } }
|
||||
|
||||
public InstancedItemInfo( Item i, Mobile m )
|
||||
{
|
||||
m_Item = i;
|
||||
m_Mobile = m;
|
||||
}
|
||||
|
||||
public bool IsOwner( Mobile m )
|
||||
{
|
||||
if ( m_Item.LootType == LootType.Cursed ) //Cursed Items are part of everyone's instanced corpse... (?)
|
||||
return true;
|
||||
|
||||
if ( m == null )
|
||||
return false; //sanity
|
||||
|
||||
if ( m_Mobile == m )
|
||||
return true;
|
||||
|
||||
Party myParty = Party.Get( m_Mobile );
|
||||
|
||||
return (myParty != null && myParty == Party.Get( m ));
|
||||
}
|
||||
}
|
||||
|
||||
public override bool IsChildVisibleTo( Mobile m, Item child )
|
||||
{
|
||||
if ( !m.Player || m.AccessLevel > AccessLevel.Player ) //Staff and creatures not subject to instancing.
|
||||
return true;
|
||||
|
||||
if ( m_InstancedItems != null )
|
||||
{
|
||||
InstancedItemInfo info;
|
||||
|
||||
if ( m_InstancedItems.TryGetValue( child, out info ) && (InstancedCorpse || info.Perpetual) )
|
||||
{
|
||||
return info.IsOwner( m ); //IsOwner checks Party stuff.
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private void AssignInstancedLoot()
|
||||
{
|
||||
if ( m_Aggressors.Count == 0 || this.Items.Count == 0 )
|
||||
return;
|
||||
|
||||
if ( m_InstancedItems == null )
|
||||
m_InstancedItems = new Dictionary<Item, InstancedItemInfo>();
|
||||
|
||||
List<Item> m_Stackables = new List<Item>();
|
||||
List<Item> m_Unstackables = new List<Item>();
|
||||
|
||||
for ( int i = 0; i < this.Items.Count; i++ )
|
||||
{
|
||||
Item item = this.Items[i];
|
||||
|
||||
if ( item.LootType != LootType.Cursed ) //Don't have curesd items take up someone's item spot.. (?)
|
||||
{
|
||||
if ( item.Stackable )
|
||||
m_Stackables.Add( item );
|
||||
else
|
||||
m_Unstackables.Add( item );
|
||||
}
|
||||
}
|
||||
|
||||
List<Mobile> attackers = new List<Mobile>( m_Aggressors );
|
||||
|
||||
for ( int i = 1; i < attackers.Count -1; i++ ) //randomize
|
||||
{
|
||||
int rand = Utility.Random( i + 1 );
|
||||
|
||||
Mobile temp = attackers[rand];
|
||||
attackers[rand] = attackers[i];
|
||||
attackers[i] = temp;
|
||||
}
|
||||
|
||||
//stackables first, for the remaining stackables, have those be randomly added after
|
||||
|
||||
for ( int i = 0; i < m_Stackables.Count; i++ )
|
||||
{
|
||||
Item item = m_Stackables[i];
|
||||
|
||||
if ( item.Amount >= attackers.Count )
|
||||
{
|
||||
int amountPerAttacker = (item.Amount / attackers.Count);
|
||||
int remainder = (item.Amount % attackers.Count);
|
||||
|
||||
for ( int j = 0; j < ((remainder == 0) ? attackers.Count -1 : attackers.Count); j++ )
|
||||
{
|
||||
Item splitItem = Mobile.LiftItemDupe( item, item.Amount - amountPerAttacker ); //LiftItemDupe automagically adds it as a child item to the corpse
|
||||
|
||||
m_InstancedItems.Add( splitItem, new InstancedItemInfo( splitItem, attackers[j] ) );
|
||||
|
||||
//What happens to the remaining portion? TEMP FOR NOW UNTIL OSI VERIFICATION: Treat as Single Item.
|
||||
}
|
||||
|
||||
if ( remainder == 0 )
|
||||
{
|
||||
m_InstancedItems.Add( item, new InstancedItemInfo( item, attackers[attackers.Count - 1] ) );
|
||||
//Add in the original item (which has an equal amount as the others) to the instance for the last attacker, cause it wasn't added above.
|
||||
}
|
||||
else
|
||||
{
|
||||
m_Unstackables.Add( item );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//What happens in this case? TEMP FOR NOW UNTIL OSI VERIFICATION: Treat as Single Item.
|
||||
m_Unstackables.Add( item );
|
||||
}
|
||||
}
|
||||
|
||||
for ( int i = 0; i < m_Unstackables.Count; i++ )
|
||||
{
|
||||
Mobile m = attackers[i % attackers.Count];
|
||||
Item item = m_Unstackables[i];
|
||||
|
||||
m_InstancedItems.Add( item, new InstancedItemInfo( item, m ) );
|
||||
}
|
||||
}
|
||||
|
||||
public void AddCarvedItem( Item carved, Mobile carver )
|
||||
{
|
||||
this.DropItem( carved );
|
||||
|
||||
if ( this.InstancedCorpse )
|
||||
{
|
||||
if ( m_InstancedItems == null )
|
||||
m_InstancedItems = new Dictionary<Item, InstancedItemInfo>();
|
||||
|
||||
m_InstancedItems.Add( carved, new InstancedItemInfo( carved, carver ) );
|
||||
}
|
||||
}
|
||||
|
||||
public override bool IsDecoContainer
|
||||
{
|
||||
get{ return false; }
|
||||
}
|
||||
|
||||
private Dictionary<Mobile, List<Item>> m_InstancedItems;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public DateTime TimeOfDeath
|
||||
{
|
||||
|
|
@ -310,6 +453,9 @@ namespace Server.Items
|
|||
if ( owner.Player && Core.AOS )
|
||||
c.SetRestoreInfo( item, item.Location );
|
||||
}
|
||||
|
||||
if ( !owner.Player )
|
||||
c.AssignInstancedLoot();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -371,7 +517,9 @@ namespace Server.Items
|
|||
m_EquipItems = equipItems;
|
||||
|
||||
m_Aggressors = new List<Mobile>( owner.Aggressors.Count + owner.Aggressed.Count );
|
||||
bool addToAggressors = !( owner is BaseCreature );
|
||||
//bool addToAggressors = !( owner is BaseCreature );
|
||||
|
||||
bool isBaseCreature = (owner is BaseCreature);
|
||||
|
||||
TimeSpan lastTime = TimeSpan.MaxValue;
|
||||
|
||||
|
|
@ -385,7 +533,7 @@ namespace Server.Items
|
|||
lastTime = (DateTime.Now - info.LastCombatTime);
|
||||
}
|
||||
|
||||
if ( addToAggressors && !info.CriminalAggression )
|
||||
if ( !isBaseCreature && !info.CriminalAggression )
|
||||
m_Aggressors.Add( info.Attacker );
|
||||
}
|
||||
|
||||
|
|
@ -399,11 +547,11 @@ namespace Server.Items
|
|||
lastTime = (DateTime.Now - info.LastCombatTime);
|
||||
}
|
||||
|
||||
if ( addToAggressors )
|
||||
if ( !isBaseCreature )
|
||||
m_Aggressors.Add( info.Defender );
|
||||
}
|
||||
|
||||
if ( !addToAggressors )
|
||||
if ( isBaseCreature )
|
||||
{
|
||||
BaseCreature bc = (BaseCreature)owner;
|
||||
|
||||
|
|
@ -426,12 +574,6 @@ namespace Server.Items
|
|||
DevourCorpse();
|
||||
}
|
||||
|
||||
private void AssignInstancedLoot()
|
||||
{
|
||||
if ( m_InstancedItems == null )
|
||||
m_InstancedItems = new Dictionary<Mobile, List<Item>>();
|
||||
}
|
||||
|
||||
public Corpse( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
|
@ -713,6 +855,9 @@ namespace Server.Items
|
|||
|
||||
if ( !m_Looters.Contains( from ) )
|
||||
m_Looters.Add( from );
|
||||
|
||||
if ( m_InstancedItems != null && m_InstancedItems.ContainsKey( item ) )
|
||||
m_InstancedItems.Remove( item );
|
||||
}
|
||||
|
||||
public override void OnItemLifted( Mobile from, Item item )
|
||||
|
|
@ -727,6 +872,9 @@ namespace Server.Items
|
|||
|
||||
if ( !m_Looters.Contains( from ) )
|
||||
m_Looters.Add( from );
|
||||
|
||||
if ( m_InstancedItems != null && m_InstancedItems.ContainsKey( item ) )
|
||||
m_InstancedItems.Remove( item );
|
||||
}
|
||||
|
||||
private class OpenCorpseEntry : ContextMenuEntry
|
||||
|
|
|
|||
|
|
@ -52,16 +52,38 @@ namespace Server.Items
|
|||
}
|
||||
}
|
||||
|
||||
private static object[,] m_Table = new object[,]
|
||||
{
|
||||
{ typeof( BrownBear ), 0x1E60, 1041093, 1041107 },
|
||||
{ typeof( GreatHart ), 0x1E61, 1041095, 1041109 },
|
||||
{ typeof( BigFish ), 0x1E62, 1041096, 1041110 },
|
||||
{ typeof( Gorilla ), 0x1E63, 1041091, 1041105 },
|
||||
{ typeof( Orc ), 0x1E64, 1041090, 1041104 },
|
||||
{ typeof( PolarBear ), 0x1E65, 1041094, 1041108 },
|
||||
{ typeof( Troll ), 0x1E66, 1041092, 1041106 }
|
||||
};
|
||||
private static TrophyInfo[] m_Table = new TrophyInfo[]
|
||||
{
|
||||
new TrophyInfo( typeof( BrownBear ), 0x1E60, 1041093, 1041107 ),
|
||||
new TrophyInfo( typeof( GreatHart ), 0x1E61, 1041095, 1041109 ),
|
||||
new TrophyInfo( typeof( BigFish ), 0x1E62, 1041096, 1041110 ),
|
||||
new TrophyInfo( typeof( Gorilla ), 0x1E63, 1041091, 1041105 ),
|
||||
new TrophyInfo( typeof( Orc ), 0x1E64, 1041090, 1041104 ),
|
||||
new TrophyInfo( typeof( PolarBear ), 0x1E65, 1041094, 1041108 ),
|
||||
new TrophyInfo( typeof( Troll ), 0x1E66, 1041092, 1041106 )
|
||||
};
|
||||
|
||||
public class TrophyInfo
|
||||
{
|
||||
public TrophyInfo( Type type, int id, int deedNum, int addonNum )
|
||||
{
|
||||
m_CreatureType = type;
|
||||
m_NorthID = id;
|
||||
m_DeedNumber = deedNum;
|
||||
m_AddonNumber = addonNum;
|
||||
}
|
||||
|
||||
private Type m_CreatureType;
|
||||
private int m_NorthID;
|
||||
private int m_DeedNumber;
|
||||
private int m_AddonNumber;
|
||||
|
||||
public Type CreatureType { get { return m_CreatureType; } }
|
||||
public int NorthID { get { return m_NorthID; } }
|
||||
public int DeedNumber { get { return m_DeedNumber; } }
|
||||
public int AddonNumber { get { return m_AddonNumber; } }
|
||||
}
|
||||
|
||||
|
||||
private class CorpseTarget : Target
|
||||
{
|
||||
|
|
@ -100,43 +122,49 @@ namespace Server.Items
|
|||
if ( obj is Corpse )
|
||||
obj = ((Corpse)obj).Owner;
|
||||
|
||||
for ( int i = 0; obj != null && i < m_Table.GetLength( 0 ); ++i )
|
||||
{
|
||||
if ( m_Table[i, 0] == obj.GetType() )
|
||||
{
|
||||
Container pack = from.Backpack;
|
||||
if ( obj != null )
|
||||
{
|
||||
for ( int i = 0; i < m_Table.Length; i++ )
|
||||
{
|
||||
if ( m_Table[i].CreatureType == obj.GetType() )
|
||||
{
|
||||
Container pack = from.Backpack;
|
||||
|
||||
if ( pack != null && pack.ConsumeTotal( typeof( Board ), 10 ) )
|
||||
{
|
||||
from.SendLocalizedMessage( 1042278 ); // You review the corpse and find it worthy of a trophy.
|
||||
from.SendLocalizedMessage( 1042602 ); // You use your kit up making the trophy.
|
||||
if ( pack != null && pack.ConsumeTotal( typeof( Board ), 10 ) )
|
||||
{
|
||||
from.SendLocalizedMessage( 1042278 ); // You review the corpse and find it worthy of a trophy.
|
||||
from.SendLocalizedMessage( 1042602 ); // You use your kit up making the trophy.
|
||||
|
||||
Mobile hunter = null;
|
||||
int weight = 0;
|
||||
Mobile hunter = null;
|
||||
int weight = 0;
|
||||
|
||||
if ( targeted is BigFish )
|
||||
{
|
||||
hunter = ((BigFish)targeted).Fisher;
|
||||
weight = (int) ((BigFish)targeted).Weight;
|
||||
}
|
||||
if ( targeted is BigFish )
|
||||
{
|
||||
BigFish fish = targeted as BigFish;
|
||||
|
||||
from.AddToBackpack( new TrophyDeed( (int)m_Table[i, 1] + 7, (int)m_Table[i, 1], (int)m_Table[i, 2], (int)m_Table[i, 3], hunter, weight ) );
|
||||
hunter = fish.Fisher;
|
||||
weight = (int)fish.Weight;
|
||||
|
||||
if ( targeted is Corpse )
|
||||
((Corpse)targeted).VisitedByTaxidermist = true;
|
||||
else if ( targeted is BigFish )
|
||||
((BigFish)targeted).Consume();
|
||||
fish.Consume();
|
||||
}
|
||||
|
||||
m_Kit.Delete();
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage( 1042598 ); // You do not have enough boards.
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
from.AddToBackpack( new TrophyDeed( m_Table[i], hunter, weight ) );
|
||||
|
||||
if ( targeted is Corpse )
|
||||
((Corpse)targeted).VisitedByTaxidermist = true;
|
||||
|
||||
m_Kit.Delete();
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage( 1042598 ); // You do not have enough boards.
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
from.SendLocalizedMessage( 1042599 ); // That does not look like something you want hanging on a wall.
|
||||
}
|
||||
|
|
@ -144,6 +172,8 @@ namespace Server.Items
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class TrophyAddon : Item, IAddon
|
||||
{
|
||||
public override bool ForceShowProperties { get { return ObjectPropertyList.Enabled; } }
|
||||
|
|
@ -353,6 +383,11 @@ namespace Server.Items
|
|||
m_AnimalWeight = animalWeight;
|
||||
}
|
||||
|
||||
public TrophyDeed( TaxidermyKit.TrophyInfo info, Mobile hunter, int animalWeight )
|
||||
: this( info.NorthID + 7, info.NorthID, info.DeedNumber, info.AddonNumber )
|
||||
{
|
||||
}
|
||||
|
||||
public TrophyDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
|
|
|||
|
|
@ -191,7 +191,7 @@ namespace Server.Items
|
|||
{
|
||||
Item gems = null;
|
||||
|
||||
switch ( Utility.Random( 17 ) )
|
||||
switch ( Utility.Random( 15 ) )
|
||||
{
|
||||
case 0: gems = new Amber(); break;
|
||||
case 1: gems = new Amethyst(); break;
|
||||
|
|
@ -208,10 +208,8 @@ namespace Server.Items
|
|||
case 10: gems = new DarkSapphire(); break;
|
||||
case 11: gems = new Turquoise(); break;
|
||||
case 12: gems = new EcruCitrine(); break;
|
||||
case 13: gems = new WhitePearl(); break;
|
||||
case 14: gems = new FireRuby(); break;
|
||||
case 15: gems = new BlueDiamond(); break;
|
||||
case 16: gems = new BrilliantAmber(); break;
|
||||
case 13: gems = new FireRuby(); break;
|
||||
case 14: gems = new BlueDiamond(); break;
|
||||
}
|
||||
|
||||
int amount = Math.Min( 5, m_Gems );
|
||||
|
|
|
|||
|
|
@ -36,6 +36,8 @@ namespace Server.Misc
|
|||
string pathReg = GetExePath( "Ultima Online" );
|
||||
string pathTD = GetExePath( "Ultima Online Third Dawn" ); //These refer to 2D & 3D, not the Third Dawn expansion
|
||||
|
||||
string newPath = GetExePath("Ultima Online", "KR Legacy Beta"); //After KR, This is the new registry key for the 2D client
|
||||
|
||||
if ( CustomPath != null )
|
||||
Core.DataDirectories.Add( CustomPath );
|
||||
|
||||
|
|
@ -43,7 +45,10 @@ namespace Server.Misc
|
|||
Core.DataDirectories.Add( pathReg );
|
||||
|
||||
if ( pathTD != null )
|
||||
Core.DataDirectories.Add( pathTD );
|
||||
Core.DataDirectories.Add( pathTD );
|
||||
|
||||
if ( newPath != null )
|
||||
Core.DataDirectories.Add( newPath );
|
||||
|
||||
if ( Core.DataDirectories.Count == 0 && !Core.Service )
|
||||
{
|
||||
|
|
@ -54,18 +59,23 @@ namespace Server.Misc
|
|||
}
|
||||
}
|
||||
|
||||
private static string GetExePath( string subName )
|
||||
private static string GetExePath( string subName )
|
||||
{
|
||||
return GetExePath( subName, "1.0" );
|
||||
}
|
||||
|
||||
private static string GetExePath( string subName, string version )
|
||||
{
|
||||
try
|
||||
{
|
||||
String keyString;
|
||||
|
||||
if( Core.Is64Bit )
|
||||
keyString = @"SOFTWARE\Wow6432Node\Origin Worlds Online\{0}\1.0";
|
||||
keyString = @"SOFTWARE\Wow6432Node\Origin Worlds Online\{0}\{1}";
|
||||
else
|
||||
keyString = @"SOFTWARE\Origin Worlds Online\{0}\1.0";
|
||||
keyString = @"SOFTWARE\Origin Worlds Online\{0}\{1}";
|
||||
|
||||
using( RegistryKey key = Registry.LocalMachine.OpenSubKey( String.Format( keyString, subName ) ) )
|
||||
using( RegistryKey key = Registry.LocalMachine.OpenSubKey( String.Format( keyString, subName, version ) ) )
|
||||
{
|
||||
if( key == null )
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -603,9 +603,10 @@ namespace Server.Guilds
|
|||
{
|
||||
Guild g = null;
|
||||
|
||||
int id = Utility.GetInt32( arg, -1 );
|
||||
if( id != -1 )
|
||||
g = Guild.Find( id ) as Guild;
|
||||
int id;
|
||||
|
||||
if( int.TryParse( arg, out id ) )
|
||||
g = Guild.Find( id ) as Guild;
|
||||
|
||||
if( g == null )
|
||||
{
|
||||
|
|
@ -615,11 +616,13 @@ namespace Server.Guilds
|
|||
g = Guild.FindByName( arg ) as Guild;
|
||||
}
|
||||
|
||||
if( g != null )
|
||||
if ( g != null )
|
||||
{
|
||||
from.SendGump( new PropertiesGump( from, g ) );
|
||||
|
||||
if( NewGuildSystem && from.AccessLevel >= AccessLevel.GameMaster && from is PlayerMobile )
|
||||
from.SendGump( new GuildInfoGump( (PlayerMobile)from, g ) );
|
||||
if ( NewGuildSystem && from.AccessLevel >= AccessLevel.GameMaster && from is PlayerMobile )
|
||||
from.SendGump( new GuildInfoGump( (PlayerMobile)from, g ) );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1607,7 +1610,6 @@ namespace Server.Guilds
|
|||
|
||||
public void CalculateGuildmaster()
|
||||
{
|
||||
//Hashtable votes = new Hashtable();
|
||||
Dictionary<Mobile, int> votes = new Dictionary<Mobile, int>();
|
||||
|
||||
int votingMembers = 0;
|
||||
|
|
@ -1621,7 +1623,6 @@ namespace Server.Guilds
|
|||
|
||||
Mobile m = memb.GuildFealty;
|
||||
|
||||
//if ( m == null || m.Deleted || m.Guild != this )
|
||||
if( !CanBeVotedFor( m ) )
|
||||
{
|
||||
if ( m_Leader != null && !m_Leader.Deleted && m_Leader.Guild == this )
|
||||
|
|
@ -1639,13 +1640,6 @@ namespace Server.Guilds
|
|||
votes[m] = 1;
|
||||
else
|
||||
votes[m] = v + 1;
|
||||
|
||||
/*
|
||||
if ( votes[m] == null )
|
||||
votes[m] = (int)1;
|
||||
else
|
||||
votes[m] = (int)(votes[m]) + 1;
|
||||
* */
|
||||
|
||||
votingMembers++;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ namespace Server
|
|||
private string m_VCDescription;
|
||||
private string m_Language;
|
||||
private string m_Unknown;
|
||||
private DateTime m_TimeReceived;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int CpuModel{ get{ return m_CpuModel; } }
|
||||
|
|
@ -96,6 +97,9 @@ namespace Server
|
|||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public string Unknown{ get{ return m_Unknown; } }
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public DateTime TimeReceived { get { return m_TimeReceived; } }
|
||||
|
||||
public static void Initialize()
|
||||
{
|
||||
PacketHandlers.Register( 0xD9, 0x10C, false, new OnPacketReceive( OnReceive ) );
|
||||
|
|
@ -174,6 +178,8 @@ namespace Server
|
|||
info.m_Language = pvSrc.ReadUnicodeStringLESafe( 4 );
|
||||
info.m_Unknown = pvSrc.ReadStringSafe( 64 );
|
||||
|
||||
info.m_TimeReceived = DateTime.Now;
|
||||
|
||||
Account acct = state.Account as Account;
|
||||
|
||||
if ( acct != null )
|
||||
|
|
|
|||
|
|
@ -295,7 +295,7 @@ namespace Server.Misc
|
|||
return Notoriety.Enemy;
|
||||
}
|
||||
|
||||
if ( target.Kills >= 5 || ( target.Body.IsMonster && IsSummoned( target as BaseCreature ) && !( target is BaseFamiliar ) && !( target is ArcaneFey ) && !( target is Golem ) ) || ( target is BaseCreature && ( ( (BaseCreature)target ).AlwaysMurderer || ( (BaseCreature)target ).IsAnimatedDead ) ) )
|
||||
if ( target.Kills >= 5 || ( target.Body.IsMonster && IsSummoned( target as BaseCreature ) && !( target is BaseFamiliar ) && !( target is ArcaneFey ) && !( target is Golem ) ) || ( target is BaseCreature && ( ( (BaseCreature)target ).AlwaysMurderer || ( (BaseCreature)target ).IsAnimatedDead ) ) )
|
||||
return Notoriety.Murderer;
|
||||
|
||||
if( target.Criminal )
|
||||
|
|
@ -327,7 +327,7 @@ namespace Server.Misc
|
|||
if( CheckHouseFlag( source, target, target.Location, target.Map ) )
|
||||
return Notoriety.CanBeAttacked;
|
||||
|
||||
if( !(target is BaseCreature && ((BaseCreature)target).InitialInnocent) )
|
||||
if( !(target is BaseCreature && ((BaseCreature)target).InitialInnocent) ) //If Target is NOT A baseCreature, OR it's a BC and the BC is initial innocent...
|
||||
{
|
||||
if( !target.Body.IsHuman && !target.Body.IsGhost && !IsPet( target as BaseCreature ) && !(target is PlayerMobile) || !Core.ML && !target.CanBeginAction( typeof( Server.Spells.Seventh.PolymorphSpell ) ) )
|
||||
return Notoriety.CanBeAttacked;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Mobiles;
|
||||
using Server.Factions;
|
||||
|
||||
namespace Server.Misc
|
||||
{
|
||||
|
|
@ -179,6 +180,9 @@ namespace Server.Misc
|
|||
|
||||
private static bool AllowGain( Mobile from, Skill skill, object obj )
|
||||
{
|
||||
if ( Core.AOS && Faction.InSkillLoss( from ) ) //Changed some time between the introduction of AoS and SE.
|
||||
return false;
|
||||
|
||||
if ( AntiMacroCode && from is PlayerMobile && UseAntiMacro[skill.Info.SkillID] )
|
||||
return ((PlayerMobile)from).AntiMacroCheck( skill, obj );
|
||||
else
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ namespace Server.Misc
|
|||
}
|
||||
}
|
||||
|
||||
public static string[] HarrowerTitles = new string[] { "Spite", "Opponent", "Hunter", "Venom", "Executioner", "Annihilator", "Champion" };
|
||||
public static string[] HarrowerTitles = new string[] { "Spite", "Opponent", "Hunter", "Venom", "Executioner", "Annihilator", "Champion", "Assailant", "Purifier", "Nullifier" };
|
||||
|
||||
public static string ComputeTitle( Mobile beholder, Mobile beheld )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ namespace Server
|
|||
}
|
||||
catch
|
||||
{
|
||||
Console.WriteLine( "Warning: Error in Line '{0}' of Data/treasure.cfg", line );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1359,24 +1359,24 @@ namespace Server.Mobiles
|
|||
|
||||
if ( feathers != 0 )
|
||||
{
|
||||
corpse.DropItem( new Feather( feathers ) );
|
||||
corpse.AddCarvedItem( new Feather( feathers ), from );
|
||||
from.SendLocalizedMessage( 500479 ); // You pluck the bird. The feathers are now on the corpse.
|
||||
}
|
||||
|
||||
if ( wool != 0 )
|
||||
{
|
||||
corpse.DropItem( new Wool( wool ) );
|
||||
corpse.AddCarvedItem( new Wool( wool ), from );
|
||||
from.SendLocalizedMessage( 500483 ); // You shear it, and the wool is now on the corpse.
|
||||
}
|
||||
|
||||
if ( meat != 0 )
|
||||
{
|
||||
if ( MeatType == MeatType.Ribs )
|
||||
corpse.DropItem( new RawRibs( meat ) );
|
||||
corpse.AddCarvedItem( new RawRibs( meat ), from );
|
||||
else if ( MeatType == MeatType.Bird )
|
||||
corpse.DropItem( new RawBird( meat ) );
|
||||
corpse.AddCarvedItem( new RawBird( meat ), from );
|
||||
else if ( MeatType == MeatType.LambLeg )
|
||||
corpse.DropItem( new RawLambLeg( meat ) );
|
||||
corpse.AddCarvedItem( new RawLambLeg( meat ), from );
|
||||
|
||||
from.SendLocalizedMessage( 500467 ); // You carve some meat, which remains on the corpse.
|
||||
}
|
||||
|
|
@ -1428,20 +1428,20 @@ namespace Server.Mobiles
|
|||
|
||||
switch ( sc )
|
||||
{
|
||||
case ScaleType.Red: corpse.DropItem( new RedScales( scales ) ); break;
|
||||
case ScaleType.Yellow: corpse.DropItem( new YellowScales( scales ) ); break;
|
||||
case ScaleType.Black: corpse.DropItem( new BlackScales( scales ) ); break;
|
||||
case ScaleType.Green: corpse.DropItem( new GreenScales( scales ) ); break;
|
||||
case ScaleType.White: corpse.DropItem( new WhiteScales( scales ) ); break;
|
||||
case ScaleType.Blue: corpse.DropItem( new BlueScales( scales ) ); break;
|
||||
case ScaleType.Red: corpse.AddCarvedItem( new RedScales( scales ), from ); break;
|
||||
case ScaleType.Yellow: corpse.AddCarvedItem( new YellowScales( scales ), from ); break;
|
||||
case ScaleType.Black: corpse.AddCarvedItem( new BlackScales( scales ), from ); break;
|
||||
case ScaleType.Green: corpse.AddCarvedItem( new GreenScales( scales ), from ); break;
|
||||
case ScaleType.White: corpse.AddCarvedItem( new WhiteScales( scales ), from ); break;
|
||||
case ScaleType.Blue: corpse.AddCarvedItem( new BlueScales( scales ), from ); break;
|
||||
case ScaleType.All:
|
||||
{
|
||||
corpse.DropItem( new RedScales( scales ) );
|
||||
corpse.DropItem( new YellowScales( scales ) );
|
||||
corpse.DropItem( new BlackScales( scales ) );
|
||||
corpse.DropItem( new GreenScales( scales ) );
|
||||
corpse.DropItem( new WhiteScales( scales ) );
|
||||
corpse.DropItem( new BlueScales( scales ) );
|
||||
corpse.AddCarvedItem( new RedScales( scales ), from );
|
||||
corpse.AddCarvedItem( new YellowScales( scales ), from );
|
||||
corpse.AddCarvedItem( new BlackScales( scales ), from );
|
||||
corpse.AddCarvedItem( new GreenScales( scales ), from );
|
||||
corpse.AddCarvedItem( new WhiteScales( scales ), from );
|
||||
corpse.AddCarvedItem( new BlueScales( scales ), from );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -2456,7 +2456,7 @@ namespace Server.Mobiles
|
|||
}
|
||||
set
|
||||
{
|
||||
if ( m_ControlMaster == value )
|
||||
if ( m_ControlMaster == value || this == value )
|
||||
return;
|
||||
|
||||
RemoveFollowers();
|
||||
|
|
@ -2478,7 +2478,7 @@ namespace Server.Mobiles
|
|||
}
|
||||
set
|
||||
{
|
||||
if ( m_SummonMaster == value )
|
||||
if ( m_SummonMaster == value || this == value )
|
||||
return;
|
||||
|
||||
RemoveFollowers();
|
||||
|
|
@ -4260,11 +4260,6 @@ namespace Server.Mobiles
|
|||
}
|
||||
|
||||
public static List<DamageStore> GetLootingRights( List<DamageEntry> damageEntries, int hitsMax )
|
||||
{
|
||||
return GetLootingRights( damageEntries, hitsMax, false );
|
||||
}
|
||||
|
||||
public static List<DamageStore> GetLootingRights( List<DamageEntry> damageEntries, int hitsMax, bool partyAsIndividual )
|
||||
{
|
||||
List<DamageStore> rights = new List<DamageStore>();
|
||||
|
||||
|
|
@ -4960,6 +4955,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
// *rummages through a corpse and takes an item*
|
||||
PublicOverheadMessage( MessageType.Emote, 0x3B2, 1008086 );
|
||||
//TODO: Instancing of Rummaged stuff.
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,32 +0,0 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using Server.Targeting;
|
||||
using Server.Network;
|
||||
/*
|
||||
* NPC could use a team objets..
|
||||
*
|
||||
* -List of members
|
||||
* -List of ennemy teams
|
||||
* -List of ally team
|
||||
* -Team could be set automaticaly at mobile creation by the region system
|
||||
* -Team could be the owner of a common timer instead of one by creature
|
||||
*
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Team
|
||||
{
|
||||
//private ArrayList m_arAlly;
|
||||
//private ArrayList m_arFoe;
|
||||
|
||||
//private ArrayList m_arMember;
|
||||
|
||||
public static void Initialize()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using Server.Targeting;
|
||||
using Server.Network;
|
||||
/*
|
||||
* NPC could use a faction objets..
|
||||
*
|
||||
* -List of members
|
||||
* -List of ennemy factions
|
||||
* -List of neutral factions
|
||||
* -List of ally faction
|
||||
* -Team could be set automaticaly at mobile creation by the region system
|
||||
* -Team could be the owner of a common timer instead of one by creature
|
||||
*
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class TeamRegistry
|
||||
{
|
||||
//private ArrayList m_arTeam;
|
||||
|
||||
public static void Initialize()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Misc;
|
||||
using Server.Items;
|
||||
|
|
@ -9,8 +9,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
public abstract class BaseHealer : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override bool IsActiveVendor{ get{ return false; } }
|
||||
public override bool IsInvulnerable{ get{ return false; } }
|
||||
|
|
|
|||
|
|
@ -108,20 +108,5 @@ namespace Server.Mobiles
|
|||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
private class InternalTimer : Timer
|
||||
{
|
||||
private Mobile m_From;
|
||||
private Mobile m_Mobile;
|
||||
private int m_Count;
|
||||
|
||||
public InternalTimer( Mobile from, Mobile m ) : base( TimeSpan.FromSeconds( 1.0 ), TimeSpan.FromSeconds( 1.0 ) )
|
||||
{
|
||||
m_From = from;
|
||||
m_Mobile = m;
|
||||
Priority = TimerPriority.TwoFiftyMS;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
Name = "an energy vortex";
|
||||
|
||||
if( Core.SE && 0.02 > Utility.RandomDouble() ) // Tested on OSI, but is this right? Who knows.
|
||||
if( Core.SE && 0.002 > Utility.RandomDouble() ) // Per OSI FoF, it's a 1/500 chance.
|
||||
{
|
||||
// Llama vortex!
|
||||
Body = 0xDC;
|
||||
|
|
|
|||
|
|
@ -229,7 +229,10 @@ namespace Server.Mobiles
|
|||
|
||||
private void IncreaseHits( int hp )
|
||||
{
|
||||
int maxhits = (int)(2000 * (IsParagon ? Paragon.HitsBuff : 1));
|
||||
int maxhits = 2000;
|
||||
|
||||
if ( this.IsParagon )
|
||||
maxhits = (int)(maxhits * Paragon.HitsBuff);
|
||||
|
||||
if( hp < 1000 && !Core.AOS )
|
||||
hp = (hp * 100) / 60;
|
||||
|
|
@ -237,7 +240,10 @@ namespace Server.Mobiles
|
|||
if( HitsMaxSeed >= maxhits )
|
||||
{
|
||||
HitsMaxSeed = maxhits;
|
||||
Hits += hp + Utility.RandomMinMax( 10, 20 ); // increase the hp until it hits if it goes over it'll max at 2000
|
||||
|
||||
int newHits = this.Hits + hp + Utility.RandomMinMax( 10, 20 ); // increase the hp until it hits if it goes over it'll max at 2000
|
||||
|
||||
this.Hits = Math.Min( maxhits, newHits );
|
||||
// Also provide heal for each devour on top of the hp increase
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -31,25 +31,21 @@ namespace Server.Mobiles
|
|||
[Flags]
|
||||
public enum PlayerFlag // First 16 bits are reserved for default-distro use, start custom flags at 0x00010000
|
||||
{
|
||||
None = 0x00000000,
|
||||
None = 0x00000000,
|
||||
Glassblowing = 0x00000001,
|
||||
Masonry = 0x00000002,
|
||||
SandMining = 0x00000004,
|
||||
StoneMining = 0x00000008,
|
||||
Masonry = 0x00000002,
|
||||
SandMining = 0x00000004,
|
||||
StoneMining = 0x00000008,
|
||||
ToggleMiningStone = 0x00000010,
|
||||
KarmaLocked = 0x00000020,
|
||||
KarmaLocked = 0x00000020,
|
||||
AutoRenewInsurance = 0x00000040,
|
||||
UseOwnFilter = 0x00000080,
|
||||
PublicMyRunUO = 0x00000100,
|
||||
PagingSquelched = 0x00000200,
|
||||
Young = 0x00000400,
|
||||
Young = 0x00000400,
|
||||
AcceptGuildInvites = 0x00000800,
|
||||
DisplayChampionTitle = 0x00001000,
|
||||
HasStatReward = 0x00002000,
|
||||
|
||||
#region Scroll of Alacrity
|
||||
AcceleratedSkill = 0x00080000,
|
||||
#endregion
|
||||
DisplayChampionTitle = 0x00001000,
|
||||
HasStatReward = 0x00002000
|
||||
}
|
||||
|
||||
public enum NpcGuild
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server.Items;
|
||||
using Server.ContextMenus;
|
||||
|
|
@ -10,8 +9,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class Banker : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.MerchantsGuild; } }
|
||||
|
||||
|
|
@ -250,14 +249,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
int amount;
|
||||
|
||||
try
|
||||
{
|
||||
amount = Convert.ToInt32( split[1] );
|
||||
}
|
||||
catch
|
||||
{
|
||||
break;
|
||||
}
|
||||
if ( !int.TryParse( split[1], out amount ) )
|
||||
break;
|
||||
|
||||
if ( amount > 5000 )
|
||||
{
|
||||
|
|
@ -331,14 +324,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
int amount;
|
||||
|
||||
try
|
||||
{
|
||||
amount = Convert.ToInt32( split[1] );
|
||||
}
|
||||
catch
|
||||
{
|
||||
break;
|
||||
}
|
||||
if ( !int.TryParse( split[1], out amount ) )
|
||||
break;
|
||||
|
||||
if ( amount < 5000 )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
private const int MaxSell = 500;
|
||||
|
||||
protected abstract ArrayList SBInfos { get; }
|
||||
protected abstract List<SBInfo> SBInfos { get; }
|
||||
|
||||
private ArrayList m_ArmorBuyInfo = new ArrayList();
|
||||
private ArrayList m_ArmorSellInfo = new ArrayList();
|
||||
|
|
@ -547,11 +547,11 @@ namespace Server.Mobiles
|
|||
UpdateBuyInfo();
|
||||
|
||||
int count = 0;
|
||||
ArrayList list;
|
||||
List<BuyItemState> list;
|
||||
IBuyItemInfo[] buyInfo = this.GetBuyInfo();
|
||||
IShopSellInfo[] sellInfo = this.GetSellInfo();
|
||||
|
||||
list = new ArrayList( buyInfo.Length );
|
||||
list = new List<BuyItemState>( buyInfo.Length );
|
||||
Container cont = this.BuyPack;
|
||||
|
||||
List<ObjectPropertyList> opls = null;
|
||||
|
|
@ -798,7 +798,7 @@ namespace Server.Mobiles
|
|||
return null;
|
||||
}
|
||||
|
||||
private void ProcessSinglePurchase( BuyItemResponse buy, IBuyItemInfo bii, ArrayList validBuy, ref int controlSlots, ref bool fullPurchase, ref int totalCost )
|
||||
private void ProcessSinglePurchase( BuyItemResponse buy, IBuyItemInfo bii, List<BuyItemResponse> validBuy, ref int controlSlots, ref bool fullPurchase, ref int totalCost )
|
||||
{
|
||||
int amount = buy.Amount;
|
||||
|
||||
|
|
@ -895,7 +895,7 @@ namespace Server.Mobiles
|
|||
}
|
||||
}
|
||||
|
||||
public virtual bool OnBuyItems( Mobile buyer, ArrayList list )
|
||||
public virtual bool OnBuyItems( Mobile buyer, List<BuyItemResponse> list )
|
||||
{
|
||||
if ( !IsActiveSeller )
|
||||
return false;
|
||||
|
|
@ -914,7 +914,7 @@ namespace Server.Mobiles
|
|||
IBuyItemInfo[] buyInfo = this.GetBuyInfo();
|
||||
IShopSellInfo[] info = GetSellInfo();
|
||||
int totalCost = 0;
|
||||
ArrayList validBuy = new ArrayList( list.Count );
|
||||
List<BuyItemResponse> validBuy = new List<BuyItemResponse>( list.Count );
|
||||
Container cont;
|
||||
bool bought = false;
|
||||
bool fromBank = false;
|
||||
|
|
@ -1125,7 +1125,7 @@ namespace Server.Mobiles
|
|||
return true;
|
||||
}
|
||||
|
||||
public virtual bool OnSellItems( Mobile seller, ArrayList list )
|
||||
public virtual bool OnSellItems( Mobile seller, List<SellItemResponse> list )
|
||||
{
|
||||
if ( !IsActiveBuyer )
|
||||
return false;
|
||||
|
|
@ -1146,8 +1146,6 @@ namespace Server.Mobiles
|
|||
int GiveGold = 0;
|
||||
int Sold = 0;
|
||||
Container cont;
|
||||
ArrayList delete = new ArrayList();
|
||||
ArrayList drop = new ArrayList();
|
||||
|
||||
foreach ( SellItemResponse resp in list )
|
||||
{
|
||||
|
|
@ -1277,12 +1275,12 @@ namespace Server.Mobiles
|
|||
|
||||
writer.Write( (int)1 ); // version
|
||||
|
||||
ArrayList sbInfos = this.SBInfos;
|
||||
List<SBInfo> sbInfos = this.SBInfos;
|
||||
|
||||
for ( int i = 0; sbInfos != null && i < sbInfos.Count; ++i )
|
||||
{
|
||||
SBInfo sbInfo = (SBInfo)sbInfos[i];
|
||||
ArrayList buyInfo = sbInfo.BuyInfo;
|
||||
SBInfo sbInfo = sbInfos[i];
|
||||
List<GenericBuyInfo> buyInfo = sbInfo.BuyInfo;
|
||||
|
||||
for ( int j = 0; buyInfo != null && j < buyInfo.Count; ++j )
|
||||
{
|
||||
|
|
@ -1320,7 +1318,7 @@ namespace Server.Mobiles
|
|||
|
||||
LoadSBInfo();
|
||||
|
||||
ArrayList sbInfos = this.SBInfos;
|
||||
List<SBInfo> sbInfos = this.SBInfos;
|
||||
|
||||
switch ( version )
|
||||
{
|
||||
|
|
@ -1340,8 +1338,8 @@ namespace Server.Mobiles
|
|||
|
||||
if ( sbInfoIndex >= 0 && sbInfoIndex < sbInfos.Count )
|
||||
{
|
||||
SBInfo sbInfo = (SBInfo)sbInfos[sbInfoIndex];
|
||||
ArrayList buyInfo = sbInfo.BuyInfo;
|
||||
SBInfo sbInfo = sbInfos[sbInfoIndex];
|
||||
List<GenericBuyInfo> buyInfo = sbInfo.BuyInfo;
|
||||
|
||||
if ( buyInfo != null && buyInfoIndex >= 0 && buyInfoIndex < buyInfo.Count )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Alchemist : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.MagesGuild; } }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.ContextMenus;
|
||||
|
|
@ -12,8 +11,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class AnimalTrainer : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public AnimalTrainer() : base( "the animal trainer" )
|
||||
|
|
@ -217,19 +216,10 @@ namespace Server.Mobiles
|
|||
if ( pet == null || pet.Deleted || from.Map != this.Map || !from.InRange( this, 14 ) || !from.Stabled.Contains( pet ) || !from.CheckAlive() )
|
||||
return;
|
||||
|
||||
if ( (from.Followers + pet.ControlSlots) <= from.FollowersMax )
|
||||
if ( CanClaim( from, pet ) )
|
||||
{
|
||||
pet.SetControlMaster( from );
|
||||
DoClaim( from, pet );
|
||||
|
||||
if ( pet.Summoned )
|
||||
pet.SummonMaster = from;
|
||||
|
||||
pet.ControlTarget = from;
|
||||
pet.ControlOrder = OrderType.Follow;
|
||||
|
||||
pet.MoveToWorld( from.Location, from.Map );
|
||||
|
||||
pet.IsStabled = false;
|
||||
from.Stabled.Remove( pet );
|
||||
|
||||
SayTo( from, 1042559 ); // Here you go... and good day to you!
|
||||
|
|
@ -322,7 +312,12 @@ namespace Server.Mobiles
|
|||
}
|
||||
}
|
||||
|
||||
public void Claim( Mobile from )
|
||||
public void Claim( Mobile from )
|
||||
{
|
||||
Claim( from, null );
|
||||
}
|
||||
|
||||
public void Claim( Mobile from, string petName )
|
||||
{
|
||||
if ( Deleted || !from.CheckAlive() )
|
||||
return;
|
||||
|
|
@ -344,22 +339,9 @@ namespace Server.Mobiles
|
|||
|
||||
++stabled;
|
||||
|
||||
if ( (from.Followers + pet.ControlSlots) <= from.FollowersMax )
|
||||
if ( CanClaim( from, pet ) )
|
||||
{
|
||||
pet.SetControlMaster( from );
|
||||
|
||||
if ( pet.Summoned )
|
||||
pet.SummonMaster = from;
|
||||
|
||||
pet.ControlTarget = from;
|
||||
pet.ControlOrder = OrderType.Follow;
|
||||
|
||||
pet.MoveToWorld( from.Location, from.Map );
|
||||
|
||||
pet.IsStabled = false;
|
||||
|
||||
if ( Core.SE )
|
||||
pet.Loyalty = BaseCreature.MaxLoyalty; // Wonderfully Happy
|
||||
DoClaim( from, pet );
|
||||
|
||||
from.Stabled.RemoveAt( i );
|
||||
--i;
|
||||
|
|
@ -378,6 +360,29 @@ namespace Server.Mobiles
|
|||
SayTo( from, 502671 ); // But I have no animals stabled with me at the moment!
|
||||
}
|
||||
|
||||
public bool CanClaim( Mobile from, BaseCreature pet )
|
||||
{
|
||||
return ((from.Followers + pet.ControlSlots) <= from.FollowersMax);
|
||||
}
|
||||
|
||||
private void DoClaim( Mobile from, BaseCreature pet )
|
||||
{
|
||||
pet.SetControlMaster( from );
|
||||
|
||||
if ( pet.Summoned )
|
||||
pet.SummonMaster = from;
|
||||
|
||||
pet.ControlTarget = from;
|
||||
pet.ControlOrder = OrderType.Follow;
|
||||
|
||||
pet.MoveToWorld( from.Location, from.Map );
|
||||
|
||||
pet.IsStabled = false;
|
||||
|
||||
if ( Core.SE )
|
||||
pet.Loyalty = BaseCreature.MaxLoyalty; // Wonderfully Happy
|
||||
}
|
||||
|
||||
public override bool HandlesOnSpeech( Mobile from )
|
||||
{
|
||||
return true;
|
||||
|
|
@ -394,10 +399,34 @@ namespace Server.Mobiles
|
|||
{
|
||||
e.Handled = true;
|
||||
|
||||
if ( !Insensitive.Equals( e.Speech, "claim" ) )
|
||||
BeginClaimList( e.Mobile );
|
||||
else
|
||||
Claim( e.Mobile );
|
||||
if (!Insensitive.Equals( e.Speech, "claim" ))
|
||||
{
|
||||
bool showList = true;
|
||||
|
||||
if ( e.Speech.Length > 6 ) //sanity
|
||||
{
|
||||
string name = e.Speech.Substring( 6 ).Trim();
|
||||
|
||||
for ( int i = 0; i < e.Mobile.Stabled.Count; ++i )
|
||||
{
|
||||
if ( Insensitive.Equals( e.Mobile.Stabled[i].Name, name ) ) //Similar names?
|
||||
{
|
||||
showList = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//What about pets with the same name, or 'similar' names, ie Fluffy 1, Fluffy 2?? - Similar names don't work.. what about identicals?
|
||||
//What if you try and claim a pet that doesn't exist? -- GUMP
|
||||
}
|
||||
|
||||
if ( showList )
|
||||
BeginClaimList( e.Mobile );
|
||||
}
|
||||
else
|
||||
{
|
||||
Claim( e.Mobile );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Architect : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.TinkersGuild; } }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Armorer : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Armorer() : base( "the armorer" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Baker : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Baker() : base( "the baker" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Bard : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.BardsGuild; } }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
using Server.Gumps;
|
||||
|
|
@ -11,8 +11,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class Barkeeper : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override void InitSBInfo()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Beekeeper : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Beekeeper() : base( "the beekeeper" )
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Engines.BulkOrders;
|
||||
|
||||
|
|
@ -7,8 +7,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class Blacksmith : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.BlacksmithsGuild; } }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
|
|
@ -7,8 +7,8 @@ namespace Server.Mobiles
|
|||
[TypeAlias( "Server.Mobiles.Bower" )]
|
||||
public class Bowyer : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Bowyer() : base( "the bowyer" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Butcher : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Butcher() : base( "the butcher" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Carpenter : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.TinkersGuild; } }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Cobbler : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Cobbler() : base( "the cobbler" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Cook : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Cook() : base( "the cook" )
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
using Server.Gumps;
|
||||
|
|
@ -9,15 +10,15 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class CustomHairstylist : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override bool ClickTitle{ get{ return false; } }
|
||||
|
||||
public override bool IsActiveBuyer{ get{ return false; } }
|
||||
public override bool IsActiveSeller{ get{ return true; } }
|
||||
|
||||
public override bool OnBuyItems( Mobile buyer, ArrayList list )
|
||||
public override bool OnBuyItems( Mobile buyer, List<BuyItemResponse> list )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Farmer : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Farmer() : base( "the farmer" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Fisherman : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.FishermensGuild; } }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Furtrader : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Furtrader() : base( "the furtrader" )
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
|
|
@ -7,8 +7,8 @@ namespace Server.Mobiles
|
|||
[TypeAlias( "Server.Mobiles.GargoyleAlchemist" )]
|
||||
public class Glassblower : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.MagesGuild; } }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
|
||||
|
|
@ -7,8 +7,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class GolemCrafter : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public GolemCrafter() : base( "the golem crafter" )
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
using Server.Network;
|
||||
|
|
@ -8,8 +8,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
public abstract class BaseGuildmaster : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override bool IsActiveVendor{ get{ return false; } }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Gumps;
|
||||
using Server.Items;
|
||||
|
|
@ -11,8 +11,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class GypsyMaiden : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public GypsyMaiden() : base( "the gypsy maiden" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class HairStylist : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public HairStylist() : base( "the hair stylist" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Herbalist : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.MagesGuild; } }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
|
||||
|
|
@ -7,8 +7,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class HolyMage : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public HolyMage() : base( "the Holy Mage" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class InnKeeper : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public InnKeeper() : base( "the innkeeper" )
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
|
||||
|
|
@ -7,8 +7,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class IronWorker : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public IronWorker() : base( "the iron worker" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Jeweler : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Jeweler() : base( "the jeweler" )
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
|
||||
|
|
@ -7,8 +7,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class KeeperOfChivalry : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public KeeperOfChivalry() : base( "the Keeper of Chivalry" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class LeatherWorker : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public LeatherWorker() : base( "the leather worker" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Mage : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.MagesGuild; } }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Mapmaker : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Mapmaker() : base( "the mapmaker" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Miller : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Miller() : base( "the miller" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Miner : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Miner() : base( "the miner" )
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
|
||||
|
|
@ -8,8 +8,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class Monk : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Monk() : base( "the Monk" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Provisioner : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Provisioner() : base( "the provisioner" )
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Gumps;
|
||||
using Server.Items;
|
||||
|
|
@ -11,8 +11,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class Rancher : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Rancher() : base( "the rancher" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Ranger : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Ranger() : base( "the ranger" )
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
using Server.Multis;
|
||||
|
|
@ -11,8 +11,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class RealEstateBroker : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public RealEstateBroker() : base( "the real estate broker" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Scribe : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.MagesGuild; } }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Shipwright : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Shipwright() : base( "the shipwright" )
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
|
|
@ -7,8 +7,8 @@ namespace Server.Mobiles
|
|||
[TypeAlias( "Server.Mobiles.GargoyleStonecrafter" )]
|
||||
public class StoneCrafter : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.TinkersGuild; } }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Engines.BulkOrders;
|
||||
|
||||
|
|
@ -7,8 +7,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class Tailor : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.TailorsGuild; } }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Tanner : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Tanner() : base( "the tanner" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class TavernKeeper : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public TavernKeeper() : base( "the tavern keeper" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Thief : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Thief() : base( "the thief" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Tinker : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.TinkersGuild; } }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
|
||||
|
|
@ -7,8 +7,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class Vagabond : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Vagabond() : base( "the vagabond" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class VarietyDealer : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public VarietyDealer() : base( "the variety dealer" )
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Gumps;
|
||||
using Server.Items;
|
||||
|
|
@ -11,8 +11,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class Veterinarian : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Veterinarian() : base( "the vet" )
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Waiter : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Waiter() : base( "the waiter" )
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Engines.BulkOrders;
|
||||
|
||||
|
|
@ -7,8 +7,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class Weaponsmith : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
[Constructable]
|
||||
public Weaponsmith() : base( "the weaponsmith" )
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Engines.BulkOrders;
|
||||
|
||||
|
|
@ -7,8 +7,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
public class Weaver : BaseVendor
|
||||
{
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override NpcGuild NpcGuild{ get{ return NpcGuild.TailorsGuild; } }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
|
|
@ -486,8 +485,8 @@ namespace Server.Mobiles
|
|||
}
|
||||
}
|
||||
|
||||
private ArrayList m_SBInfos = new ArrayList();
|
||||
protected override ArrayList SBInfos{ get { return m_SBInfos; } }
|
||||
private List<SBInfo> m_SBInfos = new List<SBInfo>();
|
||||
protected override List<SBInfo> SBInfos{ get { return m_SBInfos; } }
|
||||
|
||||
public override void InitSBInfo()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1468,20 +1468,18 @@ namespace Server.Mobiles
|
|||
int price;
|
||||
string description;
|
||||
|
||||
try
|
||||
{
|
||||
price = Convert.ToInt32( firstWord );
|
||||
|
||||
if ( sep >= 0 )
|
||||
description = text.Substring( sep + 1 ).Trim();
|
||||
else
|
||||
description = "";
|
||||
}
|
||||
catch
|
||||
{
|
||||
price = -1;
|
||||
description = text.Trim();
|
||||
}
|
||||
if ( int.TryParse( firstWord, out price ) )
|
||||
{
|
||||
if ( sep >= 0 )
|
||||
description = text.Substring( sep + 1 ).Trim();
|
||||
else
|
||||
description = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
price = -1;
|
||||
description = text.Trim();
|
||||
}
|
||||
|
||||
SetInfo( from, price, Utility.FixHtml( description ) );
|
||||
}
|
||||
|
|
@ -1561,14 +1559,9 @@ namespace Server.Mobiles
|
|||
text = text.Trim();
|
||||
|
||||
int amount;
|
||||
try
|
||||
{
|
||||
amount = Convert.ToInt32( text );
|
||||
}
|
||||
catch
|
||||
{
|
||||
amount = 0;
|
||||
}
|
||||
|
||||
if ( !int.TryParse( text, out amount ) )
|
||||
amount = 0;
|
||||
|
||||
GiveGold( from, amount );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -318,14 +318,9 @@ namespace Server.Mobiles
|
|||
text = text.Trim();
|
||||
|
||||
int amount;
|
||||
try
|
||||
{
|
||||
amount = Convert.ToInt32( text );
|
||||
}
|
||||
catch
|
||||
{
|
||||
amount = -1;
|
||||
}
|
||||
|
||||
if ( !int.TryParse( text, out amount ) )
|
||||
amount = -1;
|
||||
|
||||
Mobile owner = m_Vendor.Owner;
|
||||
if ( owner == null )
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class SBChainmailArmor: SBInfo
|
||||
{
|
||||
private ArrayList m_BuyInfo = new InternalBuyInfo();
|
||||
private List<GenericBuyInfo> m_BuyInfo = new InternalBuyInfo();
|
||||
private IShopSellInfo m_SellInfo = new InternalSellInfo();
|
||||
|
||||
public SBChainmailArmor()
|
||||
|
|
@ -14,9 +14,9 @@ namespace Server.Mobiles
|
|||
}
|
||||
|
||||
public override IShopSellInfo SellInfo { get { return m_SellInfo; } }
|
||||
public override ArrayList BuyInfo { get { return m_BuyInfo; } }
|
||||
public override List<GenericBuyInfo> BuyInfo { get { return m_BuyInfo; } }
|
||||
|
||||
public class InternalBuyInfo : ArrayList
|
||||
public class InternalBuyInfo : List<GenericBuyInfo>
|
||||
{
|
||||
public InternalBuyInfo()
|
||||
{
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue