#W# Initial Commit: Avatars Conquest
This commit is contained in:
commit
5df497787a
7510 changed files with 416048 additions and 0 deletions
57
Scripts/Items/Games/Backgammon.cs
Normal file
57
Scripts/Items/Games/Backgammon.cs
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flipable( 0xE1C, 0xFAD )]
|
||||
public class Backgammon : BaseBoard
|
||||
{
|
||||
[Constructable]
|
||||
public Backgammon() : base( 0xE1C )
|
||||
{
|
||||
}
|
||||
|
||||
public override void CreatePieces()
|
||||
{
|
||||
int mod = 19;
|
||||
|
||||
for ( int i = 0; i < 5; i++ )
|
||||
{
|
||||
CreatePiece( new PieceWhiteChecker( this ), 42, ( 17 * i ) + 6 + mod );
|
||||
CreatePiece( new PieceBlackChecker( this ), 42, ( 17 * i ) + 119 + mod );
|
||||
|
||||
CreatePiece( new PieceBlackChecker( this ), 142, ( 17 * i ) + 6 + mod );
|
||||
CreatePiece( new PieceWhiteChecker( this ), 142, ( 17 * i ) + 119 + mod );
|
||||
}
|
||||
|
||||
for ( int i = 0; i < 3; i++ )
|
||||
{
|
||||
CreatePiece( new PieceBlackChecker( this ), 108, ( 17 * i ) + 6 + mod );
|
||||
CreatePiece( new PieceWhiteChecker( this ), 108, ( 17 * i ) + 153 + mod );
|
||||
}
|
||||
|
||||
for ( int i = 0; i < 2; i++ )
|
||||
{
|
||||
CreatePiece( new PieceWhiteChecker( this ), 223, ( 17 * i ) + 6 + mod );
|
||||
CreatePiece( new PieceBlackChecker( this ), 223, ( 17 * i ) + 170 + mod );
|
||||
}
|
||||
}
|
||||
|
||||
public Backgammon( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
169
Scripts/Items/Games/BaseBoard.cs
Normal file
169
Scripts/Items/Games/BaseBoard.cs
Normal file
|
|
@ -0,0 +1,169 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
using Server.Multis;
|
||||
using Server.Network;
|
||||
using Server.ContextMenus;
|
||||
using Server.Gumps;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public abstract class BaseBoard : Container, ISecurable
|
||||
{
|
||||
private SecureLevel m_Level;
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public SecureLevel Level
|
||||
{
|
||||
get{ return m_Level; }
|
||||
set{ m_Level = value; }
|
||||
}
|
||||
|
||||
public BaseBoard( int itemID ) : base( itemID )
|
||||
{
|
||||
CreatePieces();
|
||||
|
||||
Weight = 5.0;
|
||||
}
|
||||
|
||||
public abstract void CreatePieces();
|
||||
|
||||
public void Reset()
|
||||
{
|
||||
for ( int i = Items.Count - 1; i >= 0; --i )
|
||||
{
|
||||
if ( i < Items.Count )
|
||||
Items[i].Delete();
|
||||
}
|
||||
|
||||
CreatePieces();
|
||||
}
|
||||
|
||||
public void CreatePiece( BasePiece piece, int x, int y )
|
||||
{
|
||||
AddItem( piece );
|
||||
piece.Location = new Point3D( x, y, 0 );
|
||||
}
|
||||
|
||||
public override bool DisplaysContent{ get{ return false; } } // Do not display (x items, y stones)
|
||||
|
||||
public override bool IsDecoContainer{ get{ return false; } }
|
||||
|
||||
public BaseBoard( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 1 ); // version
|
||||
|
||||
writer.Write( (int)m_Level );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if ( version == 1 )
|
||||
m_Level = (SecureLevel)reader.ReadInt();
|
||||
|
||||
if ( Weight == 1.0 )
|
||||
Weight = 5.0;
|
||||
}
|
||||
|
||||
public override TimeSpan DecayTime{ get{ return TimeSpan.FromDays( 1.0 ); } }
|
||||
|
||||
public override bool OnDragDrop( Mobile from, Item dropped )
|
||||
{
|
||||
BasePiece piece = dropped as BasePiece;
|
||||
|
||||
return ( piece != null && piece.Board == this && base.OnDragDrop( from, dropped ) );
|
||||
}
|
||||
|
||||
public override bool OnDragDropInto( Mobile from, Item dropped, Point3D point )
|
||||
{
|
||||
BasePiece piece = dropped as BasePiece;
|
||||
|
||||
if ( piece != null && piece.Board == this && base.OnDragDropInto( from, dropped, point ) )
|
||||
{
|
||||
Packet p = new PlaySound( 0x127, GetWorldLocation() );
|
||||
|
||||
p.Acquire();
|
||||
|
||||
if ( RootParent == from )
|
||||
{
|
||||
from.Send( p );
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach ( NetState state in this.GetClientsInRange( 2 ) )
|
||||
state.Send( p );
|
||||
}
|
||||
|
||||
p.Release();
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public override void GetContextMenuEntries( Mobile from, List<ContextMenuEntry> list )
|
||||
{
|
||||
base.GetContextMenuEntries( from, list );
|
||||
|
||||
if ( ValidateDefault( from, this ) )
|
||||
list.Add( new DefaultEntry( from, this ) );
|
||||
|
||||
SetSecureLevelEntry.AddTo( from, this, list );
|
||||
}
|
||||
|
||||
public static bool ValidateDefault( Mobile from, BaseBoard board )
|
||||
{
|
||||
if ( from.AccessLevel >= AccessLevel.GameMaster )
|
||||
return true;
|
||||
|
||||
if ( !from.Alive )
|
||||
return false;
|
||||
|
||||
if ( board.IsChildOf( from.Backpack ) )
|
||||
return true;
|
||||
|
||||
object root = board.RootParent;
|
||||
|
||||
if ( root is Mobile && root != from )
|
||||
return false;
|
||||
|
||||
if ( board.Deleted || board.Map != from.Map || !from.InRange( board.GetWorldLocation(), 1 ) )
|
||||
return false;
|
||||
|
||||
BaseHouse house = BaseHouse.FindHouseAt( board );
|
||||
|
||||
return ( house != null && house.IsOwner( from ) );
|
||||
}
|
||||
|
||||
public class DefaultEntry : ContextMenuEntry
|
||||
{
|
||||
private Mobile m_From;
|
||||
private BaseBoard m_Board;
|
||||
|
||||
public DefaultEntry( Mobile from, BaseBoard board ) : base( 6162, from.AccessLevel >= AccessLevel.GameMaster ? -1 : 1 )
|
||||
{
|
||||
m_From = from;
|
||||
m_Board = board;
|
||||
}
|
||||
|
||||
public override void OnClick()
|
||||
{
|
||||
if ( BaseBoard.ValidateDefault( m_From, m_Board ) )
|
||||
m_Board.Reset();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
105
Scripts/Items/Games/BasePiece.cs
Normal file
105
Scripts/Items/Games/BasePiece.cs
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BasePiece : Item
|
||||
{
|
||||
private BaseBoard m_Board;
|
||||
|
||||
public BaseBoard Board
|
||||
{
|
||||
get { return m_Board; }
|
||||
set { m_Board = value; }
|
||||
}
|
||||
|
||||
public override bool IsVirtualItem{ get{ return true; } }
|
||||
|
||||
public BasePiece( int itemID, BaseBoard board ) : base( itemID )
|
||||
{
|
||||
m_Board = board;
|
||||
}
|
||||
|
||||
public BasePiece( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 0 );
|
||||
writer.Write( m_Board );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
|
||||
switch ( version )
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
m_Board = (BaseBoard)reader.ReadItem();
|
||||
|
||||
if ( m_Board == null || Parent == null )
|
||||
Delete();
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnSingleClick( Mobile from )
|
||||
{
|
||||
if ( m_Board == null || m_Board.Deleted )
|
||||
Delete();
|
||||
else if ( !IsChildOf( m_Board ) )
|
||||
m_Board.DropItem( this );
|
||||
else
|
||||
base.OnSingleClick( from );
|
||||
}
|
||||
|
||||
public override bool OnDragLift( Mobile from )
|
||||
{
|
||||
if ( m_Board == null || m_Board.Deleted )
|
||||
{
|
||||
Delete();
|
||||
return false;
|
||||
}
|
||||
else if ( !IsChildOf( m_Board ) )
|
||||
{
|
||||
m_Board.DropItem( this );
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public override bool CanTarget{ get{ return false; } }
|
||||
|
||||
public override bool DropToMobile( Mobile from, Mobile target, Point3D p )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool DropToItem( Mobile from, Item target, Point3D p )
|
||||
{
|
||||
return ( target == m_Board && p.X != -1 && p.Y != -1 && base.DropToItem( from, target, p ) );
|
||||
}
|
||||
|
||||
public override bool DropToWorld( Mobile from, Point3D p )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override int GetLiftSound( Mobile from )
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
44
Scripts/Items/Games/CheckerBoard.cs
Normal file
44
Scripts/Items/Games/CheckerBoard.cs
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class CheckerBoard : BaseBoard
|
||||
{
|
||||
public override int LabelNumber{ get{ return 1016449; } } // a checker board
|
||||
|
||||
[Constructable]
|
||||
public CheckerBoard() : base( 0xFA6 )
|
||||
{
|
||||
}
|
||||
|
||||
public override void CreatePieces()
|
||||
{
|
||||
for ( int i = 0; i < 4; i++ )
|
||||
{
|
||||
CreatePiece( new PieceWhiteChecker( this ), ( 50 * i ) + 45, 25 );
|
||||
CreatePiece( new PieceWhiteChecker( this ), ( 50 * i ) + 70, 50 );
|
||||
CreatePiece( new PieceWhiteChecker( this ), ( 50 * i ) + 45, 75 );
|
||||
CreatePiece( new PieceBlackChecker( this ), ( 50 * i ) + 70, 150 );
|
||||
CreatePiece( new PieceBlackChecker( this ), ( 50 * i ) + 45, 175 );
|
||||
CreatePiece( new PieceBlackChecker( this ), ( 50 * i ) + 70, 200 );
|
||||
}
|
||||
}
|
||||
|
||||
public CheckerBoard( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
61
Scripts/Items/Games/CheckersPieces.cs
Normal file
61
Scripts/Items/Games/CheckersPieces.cs
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PieceWhiteChecker : BasePiece
|
||||
{
|
||||
public override string DefaultName
|
||||
{
|
||||
get { return "white checker"; }
|
||||
}
|
||||
|
||||
public PieceWhiteChecker( BaseBoard board ) : base( 0x3584, board )
|
||||
{
|
||||
}
|
||||
|
||||
public PieceWhiteChecker( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class PieceBlackChecker : BasePiece
|
||||
{
|
||||
public override string DefaultName
|
||||
{
|
||||
get { return "black checker"; }
|
||||
}
|
||||
|
||||
public PieceBlackChecker( BaseBoard board ) : base( 0x358B, board )
|
||||
{
|
||||
}
|
||||
|
||||
public PieceBlackChecker( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
341
Scripts/Items/Games/ChessPieces.cs
Normal file
341
Scripts/Items/Games/ChessPieces.cs
Normal file
|
|
@ -0,0 +1,341 @@
|
|||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class PieceWhiteKing : BasePiece
|
||||
{
|
||||
public override string DefaultName
|
||||
{
|
||||
get { return "white king"; }
|
||||
}
|
||||
|
||||
public PieceWhiteKing( BaseBoard board ) : base( 0x3587, board )
|
||||
{
|
||||
}
|
||||
|
||||
public PieceWhiteKing( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class PieceBlackKing : BasePiece
|
||||
{
|
||||
public override string DefaultName
|
||||
{
|
||||
get { return "black king"; }
|
||||
}
|
||||
|
||||
public PieceBlackKing( BaseBoard board ) : base( 0x358E, board )
|
||||
{
|
||||
}
|
||||
|
||||
public PieceBlackKing( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class PieceWhiteQueen : BasePiece
|
||||
{
|
||||
public override string DefaultName
|
||||
{
|
||||
get { return "white queen"; }
|
||||
}
|
||||
|
||||
public PieceWhiteQueen( BaseBoard board ) : base( 0x358A, board )
|
||||
{
|
||||
}
|
||||
|
||||
public PieceWhiteQueen( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class PieceBlackQueen : BasePiece
|
||||
{
|
||||
public override string DefaultName
|
||||
{
|
||||
get { return "black queen"; }
|
||||
}
|
||||
|
||||
public PieceBlackQueen( BaseBoard board ) : base( 0x3591, board )
|
||||
{
|
||||
}
|
||||
|
||||
public PieceBlackQueen( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class PieceWhiteRook : BasePiece
|
||||
{
|
||||
public override string DefaultName
|
||||
{
|
||||
get { return "white rook"; }
|
||||
}
|
||||
|
||||
public PieceWhiteRook( BaseBoard board ) : base( 0x3586, board )
|
||||
{
|
||||
}
|
||||
|
||||
public PieceWhiteRook( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class PieceBlackRook : BasePiece
|
||||
{
|
||||
public override string DefaultName
|
||||
{
|
||||
get { return "black rook"; }
|
||||
}
|
||||
|
||||
public PieceBlackRook( BaseBoard board ) : base( 0x358D, board )
|
||||
{
|
||||
}
|
||||
|
||||
public PieceBlackRook( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class PieceWhiteBishop : BasePiece
|
||||
{
|
||||
public override string DefaultName
|
||||
{
|
||||
get { return "white bishop"; }
|
||||
}
|
||||
|
||||
public PieceWhiteBishop( BaseBoard board ) : base( 0x3585, board )
|
||||
{
|
||||
}
|
||||
|
||||
public PieceWhiteBishop( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class PieceBlackBishop : BasePiece
|
||||
{
|
||||
public override string DefaultName
|
||||
{
|
||||
get { return "black bishop"; }
|
||||
}
|
||||
|
||||
public PieceBlackBishop( BaseBoard board ) : base( 0x358C, board )
|
||||
{
|
||||
}
|
||||
|
||||
public PieceBlackBishop( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class PieceWhiteKnight : BasePiece
|
||||
{
|
||||
public override string DefaultName
|
||||
{
|
||||
get { return "white knight"; }
|
||||
}
|
||||
|
||||
public PieceWhiteKnight( BaseBoard board ) : base( 0x3588, board )
|
||||
{
|
||||
}
|
||||
|
||||
public PieceWhiteKnight( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class PieceBlackKnight : BasePiece
|
||||
{
|
||||
public override string DefaultName
|
||||
{
|
||||
get { return "black knight"; }
|
||||
}
|
||||
|
||||
public PieceBlackKnight( BaseBoard board ) : base( 0x358F, board )
|
||||
{
|
||||
}
|
||||
|
||||
public PieceBlackKnight( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class PieceWhitePawn : BasePiece
|
||||
{
|
||||
public override string DefaultName
|
||||
{
|
||||
get { return "white pawn"; }
|
||||
}
|
||||
|
||||
public PieceWhitePawn( BaseBoard board ) : base( 0x3589, board )
|
||||
{
|
||||
}
|
||||
|
||||
public PieceWhitePawn( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class PieceBlackPawn : BasePiece
|
||||
{
|
||||
public override string DefaultName
|
||||
{
|
||||
get { return "black pawn"; }
|
||||
}
|
||||
|
||||
public PieceBlackPawn( BaseBoard board ) : base( 0x3590, board )
|
||||
{
|
||||
}
|
||||
|
||||
public PieceBlackPawn( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
69
Scripts/Items/Games/Chessboard.cs
Normal file
69
Scripts/Items/Games/Chessboard.cs
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class Chessboard : BaseBoard
|
||||
{
|
||||
public override int LabelNumber{ get{ return 1016450; } } // a chessboard
|
||||
|
||||
[Constructable]
|
||||
public Chessboard() : base( 0xFA6 )
|
||||
{
|
||||
}
|
||||
|
||||
public override void CreatePieces()
|
||||
{
|
||||
for ( int i = 0; i < 8; i++ )
|
||||
{
|
||||
CreatePiece( new PieceBlackPawn( this ), 67, ( 25 * i ) + 17 );
|
||||
CreatePiece( new PieceWhitePawn( this ), 192, ( 25 * i ) + 17 );
|
||||
}
|
||||
|
||||
// Rook
|
||||
CreatePiece( new PieceBlackRook( this ), 42, 5 );
|
||||
CreatePiece( new PieceBlackRook( this ), 42, 180 );
|
||||
|
||||
CreatePiece( new PieceWhiteRook( this ), 216, 5 );
|
||||
CreatePiece( new PieceWhiteRook( this ), 216, 180 );
|
||||
|
||||
// Knight
|
||||
CreatePiece( new PieceBlackKnight( this ), 42, 30 );
|
||||
CreatePiece( new PieceBlackKnight( this ), 42, 155 );
|
||||
|
||||
CreatePiece( new PieceWhiteKnight( this ), 216, 30 );
|
||||
CreatePiece( new PieceWhiteKnight( this ), 216, 155 );
|
||||
|
||||
// Bishop
|
||||
CreatePiece( new PieceBlackBishop( this ), 42, 55 );
|
||||
CreatePiece( new PieceBlackBishop( this ), 42, 130 );
|
||||
|
||||
CreatePiece( new PieceWhiteBishop( this ), 216, 55 );
|
||||
CreatePiece( new PieceWhiteBishop( this ), 216, 130 );
|
||||
|
||||
// Queen
|
||||
CreatePiece( new PieceBlackQueen( this ), 42, 105 );
|
||||
CreatePiece( new PieceWhiteQueen( this ), 216, 105 );
|
||||
|
||||
// King
|
||||
CreatePiece( new PieceBlackKing( this ), 42, 80 );
|
||||
CreatePiece( new PieceWhiteKing( this ), 216, 80 );
|
||||
}
|
||||
|
||||
public Chessboard( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
52
Scripts/Items/Games/Dices.cs
Normal file
52
Scripts/Items/Games/Dices.cs
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class Dices : Item, ITelekinesisable
|
||||
{
|
||||
[Constructable]
|
||||
public Dices() : base( 0xFA7 )
|
||||
{
|
||||
Weight = 1.0;
|
||||
}
|
||||
|
||||
public Dices( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( !from.InRange( this.GetWorldLocation(), 2 ) )
|
||||
return;
|
||||
|
||||
Roll( from );
|
||||
}
|
||||
|
||||
public void OnTelekinesis( Mobile from )
|
||||
{
|
||||
Effects.SendLocationParticles( EffectItem.Create( Location, Map, EffectItem.DefaultDuration ), 0x376A, 9, 32, 5022 );
|
||||
Effects.PlaySound( Location, Map, 0x1F5 );
|
||||
|
||||
Roll( from );
|
||||
}
|
||||
|
||||
public void Roll( Mobile from )
|
||||
{
|
||||
this.PublicOverheadMessage( MessageType.Regular, 0, false, string.Format( "*{0} rolls {1}, {2}*", from.Name, Utility.Random( 1, 6 ), Utility.Random( 1, 6 ) ) );
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue