#W# Initial Commit: Avatars Conquest

This commit is contained in:
WarrentyExpired 2026-07-04 10:35:30 -04:00
commit 5df497787a
7510 changed files with 416048 additions and 0 deletions

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

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

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

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

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

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

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

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