Partial Branch Sync
This commit is contained in:
parent
4718a4b911
commit
1ef98f10ec
32 changed files with 166 additions and 102 deletions
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using Server;
|
||||
|
|
@ -66,6 +67,21 @@ namespace Server.Accounting
|
|||
|
||||
accessLog.Counts += 1;
|
||||
accessLog.RefreshAccessTime();
|
||||
|
||||
if ( accessLog.Counts >= 3 ) {
|
||||
try {
|
||||
using ( StreamWriter op = new StreamWriter( "throttle.log", true ) ) {
|
||||
op.WriteLine(
|
||||
"{0}\t{1}\t{2}",
|
||||
DateTime.Now,
|
||||
ns,
|
||||
accessLog.Counts
|
||||
);
|
||||
}
|
||||
}
|
||||
catch {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static TimeSpan ComputeThrottle( int counts )
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ namespace Server.Misc
|
|||
{
|
||||
++count;
|
||||
|
||||
if ( count > MaxAddresses )
|
||||
if ( count >= MaxAddresses )
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server.Gumps;
|
||||
using Server.Network;
|
||||
using Server.Items;
|
||||
|
|
@ -116,20 +117,33 @@ namespace Server.Engines.Craft
|
|||
|
||||
int resIndex = ( context == null ? -1 : context.LastResourceIndex );
|
||||
|
||||
Type resourceType = craftSystem.CraftSubRes.ResType;
|
||||
|
||||
if ( resIndex > -1 )
|
||||
{
|
||||
CraftSubRes subResource = craftSystem.CraftSubRes.GetAt( resIndex );
|
||||
|
||||
nameString = subResource.NameString;
|
||||
nameNumber = subResource.NameNumber;
|
||||
resourceType = subResource.ItemType;
|
||||
}
|
||||
|
||||
int resourceCount = 0;
|
||||
|
||||
if ( from.Backpack != null )
|
||||
{
|
||||
Item[] items = from.Backpack.FindItemsByType( resourceType, true );
|
||||
|
||||
for ( int i = 0; i < items.Length; ++i )
|
||||
resourceCount += items[i].Amount;
|
||||
}
|
||||
|
||||
AddButton( 15, 362, 4005, 4007, GetButtonID( 6, 0 ), GumpButtonType.Reply, 0 );
|
||||
|
||||
if ( nameNumber > 0 )
|
||||
AddHtmlLocalized( 50, 365, 250, 18, nameNumber, LabelColor, false, false );
|
||||
AddHtmlLocalized( 50, 365, 250, 18, nameNumber, resourceCount.ToString(), LabelColor, false, false );
|
||||
else
|
||||
AddLabel( 50, 362, LabelHue, nameString );
|
||||
AddLabel( 50, 362, LabelHue, String.Format( "{0} ({1} Available)", nameString, resourceCount ) );
|
||||
}
|
||||
// ****************************************
|
||||
|
||||
|
|
@ -141,20 +155,33 @@ namespace Server.Engines.Craft
|
|||
|
||||
int resIndex = ( context == null ? -1 : context.LastResourceIndex2 );
|
||||
|
||||
Type resourceType = craftSystem.CraftSubRes.ResType;
|
||||
|
||||
if ( resIndex > -1 )
|
||||
{
|
||||
CraftSubRes subResource = craftSystem.CraftSubRes2.GetAt( resIndex );
|
||||
|
||||
nameString = subResource.NameString;
|
||||
nameNumber = subResource.NameNumber;
|
||||
resourceType = subResource.ItemType;
|
||||
}
|
||||
|
||||
int resourceCount = 0;
|
||||
|
||||
if ( from.Backpack != null )
|
||||
{
|
||||
Item[] items = from.Backpack.FindItemsByType( resourceType, true );
|
||||
|
||||
for ( int i = 0; i < items.Length; ++i )
|
||||
resourceCount += items[i].Amount;
|
||||
}
|
||||
|
||||
AddButton( 15, 382, 4005, 4007, GetButtonID( 6, 7 ), GumpButtonType.Reply, 0 );
|
||||
|
||||
if ( nameNumber > 0 )
|
||||
AddHtmlLocalized( 50, 385, 250, 18, nameNumber, LabelColor, false, false );
|
||||
AddHtmlLocalized( 50, 385, 250, 18, nameNumber, resourceCount.ToString(), LabelColor, false, false );
|
||||
else
|
||||
AddLabel( 50, 385, LabelHue, nameString );
|
||||
AddLabel( 50, 385, LabelHue, String.Format( "{0} ({1} Available)", nameString, resourceCount ) );
|
||||
}
|
||||
// ****************************************
|
||||
|
||||
|
|
|
|||
|
|
@ -624,15 +624,6 @@ namespace Server.Engines.Craft
|
|||
if ( types[i] == null )
|
||||
types[i] = new Type[]{ baseType };
|
||||
|
||||
/*if ( !retainedColor && RetainsColorFrom( craftSystem, baseType ) )
|
||||
{
|
||||
retainedColor = true;
|
||||
Item resItem = ourPack.FindItemByType( types[i] );
|
||||
|
||||
if ( resItem != null )
|
||||
resHue = resItem.Hue;
|
||||
}*/
|
||||
|
||||
amounts[i] = craftRes.Amount;
|
||||
|
||||
// For stackable items that can ben crafted more than one at a time
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ using System.Collections;
|
|||
using Server.Accounting;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Admin
|
||||
namespace Server.RemoteAdmin
|
||||
{
|
||||
public class AdminNetwork
|
||||
{
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ using Server.Accounting;
|
|||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Admin
|
||||
namespace Server.RemoteAdmin
|
||||
{
|
||||
public class RemoteAdminHandlers
|
||||
{
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ using Server.Network;
|
|||
using Server.Accounting;
|
||||
using Server.Commands;
|
||||
|
||||
namespace Server.Admin
|
||||
namespace Server.RemoteAdmin
|
||||
{
|
||||
public enum LoginResponse : byte
|
||||
{
|
||||
|
|
|
|||
|
|
@ -418,4 +418,4 @@ namespace Server.Engines.Reports
|
|||
return report;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -552,7 +552,7 @@ namespace Server.Gumps
|
|||
|
||||
if ( m == null )
|
||||
{
|
||||
if ( Admin.AdminNetwork.IsAuth( ns ) )
|
||||
if ( RemoteAdmin.AdminNetwork.IsAuth( ns ) )
|
||||
AddLabelCropped( 12, offset, 81, 20, LabelHue, "(remote admin)" );
|
||||
else
|
||||
AddLabelCropped( 12, offset, 81, 20, LabelHue, "(logging in)" );
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ namespace Server.Gumps
|
|||
private bool m_CancelButton;
|
||||
|
||||
public WarningGump( int header, int headerColor, object content, int contentColor, int width, int height, WarningGumpCallback callback, object state )
|
||||
: this( header, headerColor, content, contentColor, width, height, callback, state, false )
|
||||
: this( header, headerColor, content, contentColor, width, height, callback, state, true )
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -380,7 +380,7 @@ namespace Server.Engines.Mahjong
|
|||
to.Send( new MahjongPlayersInfo( m_Game, to ) );
|
||||
}
|
||||
|
||||
SendLocalizedMessage( 1062774, string.Format( "{0}\t{1}\t{2}", from.Name, to.Name, amount ) ); // ~1_giver~ gives ~2_reciever~ ~3_number~ points.
|
||||
SendLocalizedMessage( 1062774, string.Format( "{0}\t{1}\t{2}", from.Name, to.Name, amount ) ); // ~1_giver~ gives ~2_receiver~ ~3_number~ points.
|
||||
}
|
||||
|
||||
public void OpenSeat( int index )
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace Server.Items
|
|||
public abstract Item CreateItemFor( Mobile from );
|
||||
|
||||
public abstract TextDefinition ItemName{ get; }
|
||||
public abstract TextDefinition ItemRecieveMessage { get; }
|
||||
public abstract TextDefinition ItemReceiveMessage { get; }
|
||||
public abstract TextDefinition ItemGumpName { get; }
|
||||
|
||||
public PromotionalToken() : base( 0x2AAA )
|
||||
|
|
@ -110,7 +110,7 @@ namespace Server.Items
|
|||
if( i != null )
|
||||
{
|
||||
from.BankBox.AddItem( i );
|
||||
TextDefinition.SendMessageTo( from, m_Token.ItemRecieveMessage );
|
||||
TextDefinition.SendMessageTo( from, m_Token.ItemReceiveMessage );
|
||||
m_Token.Delete();
|
||||
}
|
||||
}
|
||||
|
|
@ -131,7 +131,7 @@ namespace Server.Items
|
|||
|
||||
public override TextDefinition ItemGumpName{ get{ return 1070999; } }// <center>Soulstone Fragment</center>
|
||||
public override TextDefinition ItemName { get { return 1071000; } }//soulstone fragment
|
||||
public override TextDefinition ItemRecieveMessage{ get{ return 1070976; } } // A soulstone fragment has been created in your bank box.
|
||||
public override TextDefinition ItemReceiveMessage{ get{ return 1070976; } } // A soulstone fragment has been created in your bank box.
|
||||
|
||||
[Constructable]
|
||||
public SoulstoneFragmentToken() : base()
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ namespace Server
|
|||
{
|
||||
if( Enabled )
|
||||
{
|
||||
EventSink.ClientVersionRecieved += new ClientVersionRecievedHandler( delegate( ClientVersionRecievedArgs args )
|
||||
EventSink.ClientVersionReceived += new ClientVersionReceivedHandler( delegate( ClientVersionReceivedArgs args )
|
||||
{
|
||||
PlayerMobile pm = args.State.Mobile as PlayerMobile;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ using System.Diagnostics;
|
|||
using System.IO;
|
||||
using Server.Network;
|
||||
using Server.Gumps;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Misc
|
||||
{
|
||||
|
|
@ -14,16 +15,20 @@ namespace Server.Misc
|
|||
Ignore,
|
||||
Warn,
|
||||
Annoy,
|
||||
LenientKick,
|
||||
Kick
|
||||
}
|
||||
|
||||
private static bool m_DetectClientRequirement = true;
|
||||
private static OldClientResponse m_OldClientResponse = OldClientResponse.Annoy;
|
||||
private static OldClientResponse m_OldClientResponse = OldClientResponse.LenientKick;
|
||||
|
||||
private static ClientVersion m_Required;
|
||||
private static bool m_AllowRegular = true, m_AllowUOTD = true, m_AllowGod = true;
|
||||
|
||||
private static TimeSpan m_KickDelay = TimeSpan.FromSeconds( 10.0 );
|
||||
private static TimeSpan m_AgeLeniency = TimeSpan.FromDays( 10 );
|
||||
private static TimeSpan m_GameTimeLeniency = TimeSpan.FromHours( 25 );
|
||||
|
||||
private static TimeSpan m_KickDelay = TimeSpan.FromSeconds( 20.0 );
|
||||
|
||||
public static ClientVersion Required
|
||||
{
|
||||
|
|
@ -87,7 +92,7 @@ namespace Server.Misc
|
|||
|
||||
public static void Initialize()
|
||||
{
|
||||
EventSink.ClientVersionRecieved += new ClientVersionRecievedHandler( EventSink_ClientVersionRecieved );
|
||||
EventSink.ClientVersionReceived += new ClientVersionReceivedHandler( EventSink_ClientVersionReceived );
|
||||
|
||||
//ClientVersion.Required = null;
|
||||
//Required = new ClientVersion( "6.0.0.0" );
|
||||
|
|
@ -115,13 +120,13 @@ namespace Server.Misc
|
|||
}
|
||||
}
|
||||
|
||||
private static void EventSink_ClientVersionRecieved( ClientVersionRecievedArgs e )
|
||||
private static void EventSink_ClientVersionReceived( ClientVersionReceivedArgs e )
|
||||
{
|
||||
string kickMessage = null;
|
||||
NetState state = e.State;
|
||||
ClientVersion version = e.Version;
|
||||
|
||||
if( Required != null && m_OldClientResponse == OldClientResponse.Kick && version < Required )
|
||||
if( Required != null && version < Required && ( m_OldClientResponse == OldClientResponse.Kick ||( m_OldClientResponse == OldClientResponse.LenientKick && (DateTime.Now - state.Mobile.CreationTime) > m_AgeLeniency && state.Mobile is PlayerMobile && ((PlayerMobile)state.Mobile).GameTime > m_GameTimeLeniency )))
|
||||
{
|
||||
kickMessage = String.Format( "This server requires your client version be at least {0}.", Required );
|
||||
}
|
||||
|
|
@ -177,6 +182,7 @@ namespace Server.Misc
|
|||
state.Mobile.SendMessage( 0x22, "This server reccomends that your client version be at least {0}.", Required );
|
||||
break;
|
||||
}
|
||||
case OldClientResponse.LenientKick:
|
||||
case OldClientResponse.Annoy:
|
||||
{
|
||||
SendAnnoyGump( state.Mobile );
|
||||
|
|
@ -194,10 +200,16 @@ namespace Server.Misc
|
|||
delegate( Mobile mob, bool selection, object o )
|
||||
{
|
||||
m.SendMessage( "You will be reminded of this again." );
|
||||
Timer.DelayCall( TimeSpan.FromMinutes( 20 ), delegate { SendAnnoyGump( m ); } );
|
||||
|
||||
if ( m_OldClientResponse == OldClientResponse.LenientKick )
|
||||
m.SendMessage( "Old clients will be kicked after {0} days of character age and {1} hours of play time", m_AgeLeniency, m_GameTimeLeniency );
|
||||
|
||||
Timer.DelayCall( TimeSpan.FromMinutes( Utility.Random( 5, 15 ) ), delegate { SendAnnoyGump( m ); } );
|
||||
}, null, false );
|
||||
|
||||
g.Dragable = false;
|
||||
g.Closable = false;
|
||||
g.Resizable = false;
|
||||
|
||||
m.SendGump( g );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -236,7 +236,8 @@ namespace Server
|
|||
|
||||
public void Load( Enum value )
|
||||
{
|
||||
Load( (int) (object) value );
|
||||
int toLoad = ((IConvertible)value).ToInt32( null );
|
||||
Load( toLoad );
|
||||
|
||||
Pop();
|
||||
Push( value.GetType() );
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ namespace Server.Misc
|
|||
* private const string Address = "shard.host.com";
|
||||
*/
|
||||
|
||||
public static readonly string Address = null;
|
||||
public static readonly string Address = null;
|
||||
|
||||
public const string ServerName = "RunUO TC";
|
||||
|
||||
|
|
|
|||
|
|
@ -3042,10 +3042,10 @@ namespace Server.Mobiles
|
|||
|
||||
TransformContext context = TransformationSpellHelper.GetContext( this );
|
||||
|
||||
if( context != null && context.Type == typeof( ReaperFormSpell ) )
|
||||
if ( context != null && context.Type == typeof( ReaperFormSpell ) )
|
||||
return Mobile.WalkFoot;
|
||||
|
||||
bool running = ( (dir & Direction.Running) != 0 );
|
||||
bool running = ( (dir & Direction.Running) != 0 );
|
||||
|
||||
bool onHorse = ( this.Mount != null );
|
||||
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ namespace Server.Mobiles
|
|||
return TimeSpan.Zero;
|
||||
}
|
||||
|
||||
public virtual void OnSuccessfulBulkOrderRecieve( Mobile from )
|
||||
public virtual void OnSuccessfulBulkOrderReceive( Mobile from )
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -774,7 +774,7 @@ namespace Server.Mobiles
|
|||
|
||||
Titles.AwardFame( from, fame, true );
|
||||
|
||||
OnSuccessfulBulkOrderRecieve( from );
|
||||
OnSuccessfulBulkOrderReceive( from );
|
||||
|
||||
dropped.Delete();
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ namespace Server.Mobiles
|
|||
return TimeSpan.Zero;
|
||||
}
|
||||
|
||||
public override void OnSuccessfulBulkOrderRecieve( Mobile from )
|
||||
public override void OnSuccessfulBulkOrderReceive( Mobile from )
|
||||
{
|
||||
if( Core.SE && from is PlayerMobile )
|
||||
((PlayerMobile)from).NextSmithBulkOrder = TimeSpan.Zero;
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ namespace Server.Mobiles
|
|||
return TimeSpan.Zero;
|
||||
}
|
||||
|
||||
public override void OnSuccessfulBulkOrderRecieve( Mobile from )
|
||||
public override void OnSuccessfulBulkOrderReceive( Mobile from )
|
||||
{
|
||||
if( Core.SE && from is PlayerMobile )
|
||||
((PlayerMobile)from).NextTailorBulkOrder = TimeSpan.Zero;
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ namespace Server.Mobiles
|
|||
return TimeSpan.Zero;
|
||||
}
|
||||
|
||||
public override void OnSuccessfulBulkOrderRecieve( Mobile from )
|
||||
public override void OnSuccessfulBulkOrderReceive( Mobile from )
|
||||
{
|
||||
if( Core.SE && from is PlayerMobile )
|
||||
((PlayerMobile)from).NextSmithBulkOrder = TimeSpan.Zero;
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ namespace Server.Mobiles
|
|||
return TimeSpan.Zero;
|
||||
}
|
||||
|
||||
public override void OnSuccessfulBulkOrderRecieve( Mobile from )
|
||||
public override void OnSuccessfulBulkOrderReceive( Mobile from )
|
||||
{
|
||||
if( Core.SE && from is PlayerMobile )
|
||||
((PlayerMobile)from).NextTailorBulkOrder = TimeSpan.Zero;
|
||||
|
|
|
|||
|
|
@ -893,25 +893,32 @@ namespace Server.Multis
|
|||
int newPrice = oldPrice + CustomizationCost + ((DesignState.Components.List.Length - CurrentState.Components.List.Length) * 500);
|
||||
int cost = newPrice - oldPrice;
|
||||
|
||||
if( cost > 0 )
|
||||
{
|
||||
if( Banker.Withdraw( from, cost ) )
|
||||
{
|
||||
from.SendLocalizedMessage( 1060398, cost.ToString() ); // ~1_AMOUNT~ gold has been withdrawn from your bank box.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage( 1061903 ); // You cannot commit this house design, because you do not have the necessary funds in your bank box to pay for the upgrade. Please back up your design, obtain the required funds, and commit your design again.
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if( cost < 0 )
|
||||
{
|
||||
if( Banker.Deposit( from, -cost ) )
|
||||
from.SendLocalizedMessage( 1060397, (-cost).ToString() ); // ~1_AMOUNT~ gold has been deposited into your bank box.
|
||||
else
|
||||
return;
|
||||
}
|
||||
if ( from.AccessLevel >= AccessLevel.GameMaster && cost != 0 )
|
||||
{
|
||||
from.SendMessage( "{0} gold would have been {1} your bank if you were not a GM.", cost.ToString(), ((cost > 0 )? "withdrawn from" : "deposited into" ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( cost > 0 )
|
||||
{
|
||||
if ( Banker.Withdraw( from, cost ) )
|
||||
{
|
||||
from.SendLocalizedMessage( 1060398, cost.ToString() ); // ~1_AMOUNT~ gold has been withdrawn from your bank box.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage( 1061903 ); // You cannot commit this house design, because you do not have the necessary funds in your bank box to pay for the upgrade. Please back up your design, obtain the required funds, and commit your design again.
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if ( cost < 0 )
|
||||
{
|
||||
if ( Banker.Deposit( from, -cost ) )
|
||||
from.SendLocalizedMessage( 1060397, ( -cost ).ToString() ); // ~1_AMOUNT~ gold has been deposited into your bank box.
|
||||
else
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/* Client chose to commit current design state
|
||||
* - Commit design state
|
||||
|
|
|
|||
|
|
@ -367,38 +367,45 @@ namespace Server.Items
|
|||
from.SendLocalizedMessage( 501271 ); // You already own a house, you may not place another!
|
||||
}
|
||||
else
|
||||
{
|
||||
BaseHouse house = ConstructHouse( from );
|
||||
{
|
||||
BaseHouse house = ConstructHouse( from );
|
||||
|
||||
if ( house == null )
|
||||
return;
|
||||
if ( house == null )
|
||||
return;
|
||||
|
||||
house.Price = m_Cost;
|
||||
house.Price = m_Cost;
|
||||
|
||||
if ( Banker.Withdraw( from, m_Cost ) )
|
||||
{
|
||||
from.SendLocalizedMessage( 1060398, m_Cost.ToString() ); // ~1_AMOUNT~ gold has been withdrawn from your bank box.
|
||||
}
|
||||
else
|
||||
{
|
||||
house.RemoveKeys( from );
|
||||
house.Delete();
|
||||
from.SendLocalizedMessage( 1060646 ); // You do not have the funds available in your bank box to purchase this house. Try placing a smaller house, or adding gold or checks to your bank box.
|
||||
return;
|
||||
}
|
||||
if ( from.AccessLevel >= AccessLevel.GameMaster )
|
||||
{
|
||||
from.SendMessage( "{0} gold would have been withdrawn from your bank if you were not a GM.", m_Cost.ToString() );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( Banker.Withdraw( from, m_Cost ) )
|
||||
{
|
||||
from.SendLocalizedMessage( 1060398, m_Cost.ToString() ); // ~1_AMOUNT~ gold has been withdrawn from your bank box.
|
||||
}
|
||||
else
|
||||
{
|
||||
house.RemoveKeys( from );
|
||||
house.Delete();
|
||||
from.SendLocalizedMessage( 1060646 ); // You do not have the funds available in your bank box to purchase this house. Try placing a smaller house, or adding gold or checks to your bank box.
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
house.MoveToWorld( center, from.Map );
|
||||
house.MoveToWorld( center, from.Map );
|
||||
|
||||
for ( int i = 0; i < toMove.Count; ++i )
|
||||
{
|
||||
object o = toMove[i];
|
||||
for ( int i = 0; i < toMove.Count; ++i )
|
||||
{
|
||||
object o = toMove[i];
|
||||
|
||||
if ( o is Mobile )
|
||||
((Mobile)o).Location = house.BanLocation;
|
||||
else if ( o is Item )
|
||||
((Item)o).Location = house.BanLocation;
|
||||
}
|
||||
}
|
||||
if ( o is Mobile )
|
||||
( (Mobile)o ).Location = house.BanLocation;
|
||||
else if ( o is Item )
|
||||
( (Item)o ).Location = house.BanLocation;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -374,4 +374,4 @@ namespace Server.Regions
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -147,7 +147,7 @@ namespace Server.Spells
|
|||
"Chivalry",
|
||||
"Bushido",
|
||||
"Ninjitsu",
|
||||
"SpellWeaving"
|
||||
"Spellweaving"
|
||||
};
|
||||
|
||||
public static Spell NewSpell( string name, Mobile caster, Item scroll )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue