bad e in the folder name .. i dont trust funny lookin' e's.
This commit is contained in:
parent
129cac945b
commit
2e161d068c
15 changed files with 1806 additions and 0 deletions
|
|
@ -0,0 +1,188 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flipable( 0x2A5D, 0x2A61 )]
|
||||
public class AwesomeDisturbingPortraitComponent : AddonComponent
|
||||
{
|
||||
public override int LabelNumber { get { return 1074479; } } // Disturbing portrait
|
||||
public bool FacingSouth { get { return ItemID < 0x2A61; } }
|
||||
|
||||
private InternalTimer m_Timer;
|
||||
|
||||
public AwesomeDisturbingPortraitComponent() : base( 0x2A5D )
|
||||
{
|
||||
m_Timer = new InternalTimer( this, TimeSpan.FromSeconds( 1 ) );
|
||||
m_Timer.Start();
|
||||
}
|
||||
|
||||
public AwesomeDisturbingPortraitComponent( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( Utility.InRange( Location, from.Location, 2 ) )
|
||||
{
|
||||
int hours;
|
||||
int minutes;
|
||||
|
||||
Clock.GetTime( Map, X, Y, out hours, out minutes );
|
||||
|
||||
if ( hours < 4 || hours > 20 )
|
||||
Effects.PlaySound( Location, Map, 0x569 );
|
||||
|
||||
UpdateImage();
|
||||
}
|
||||
else
|
||||
from.LocalOverheadMessage( MessageType.Regular, 0x3B2, 1019045 ); // I can't reach that.
|
||||
}
|
||||
|
||||
public override void OnAfterDelete()
|
||||
{
|
||||
base.OnAfterDelete();
|
||||
|
||||
if ( m_Timer != null && m_Timer.Running )
|
||||
m_Timer.Stop();
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
m_Timer = new InternalTimer( this, TimeSpan.Zero );
|
||||
m_Timer.Start();
|
||||
}
|
||||
|
||||
private void UpdateImage()
|
||||
{
|
||||
int hours;
|
||||
int minutes;
|
||||
|
||||
Clock.GetTime( Map, X, Y, out hours, out minutes );
|
||||
|
||||
if ( FacingSouth )
|
||||
{
|
||||
if ( hours < 4 )
|
||||
ItemID = 0x2A60;
|
||||
else if ( hours < 6 )
|
||||
ItemID = 0x2A5F;
|
||||
else if ( hours < 8 )
|
||||
ItemID = 0x2A5E;
|
||||
else if ( hours < 16 )
|
||||
ItemID = 0x2A5D;
|
||||
else if ( hours < 18 )
|
||||
ItemID = 0x2A5E;
|
||||
else if ( hours < 20 )
|
||||
ItemID = 0x2A5F;
|
||||
else
|
||||
ItemID = 0x2A60;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( hours < 4 )
|
||||
ItemID = 0x2A64;
|
||||
else if ( hours < 6 )
|
||||
ItemID = 0x2A63;
|
||||
else if ( hours < 8 )
|
||||
ItemID = 0x2A62;
|
||||
else if ( hours < 16 )
|
||||
ItemID = 0x2A61;
|
||||
else if ( hours < 18 )
|
||||
ItemID = 0x2A62;
|
||||
else if ( hours < 20 )
|
||||
ItemID = 0x2A63;
|
||||
else
|
||||
ItemID = 0x2A64;
|
||||
}
|
||||
}
|
||||
|
||||
private class InternalTimer : Timer
|
||||
{
|
||||
private AwesomeDisturbingPortraitComponent m_Component;
|
||||
|
||||
public InternalTimer( AwesomeDisturbingPortraitComponent c, TimeSpan delay ) : base( delay, TimeSpan.FromMinutes( 10 ) )
|
||||
{
|
||||
m_Component = c;
|
||||
|
||||
Priority = TimerPriority.OneMinute;
|
||||
}
|
||||
|
||||
protected override void OnTick()
|
||||
{
|
||||
if ( m_Component != null && !m_Component.Deleted )
|
||||
m_Component.UpdateImage();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class AwesomeDisturbingPortraitAddon : BaseAddon
|
||||
{
|
||||
public override BaseAddonDeed Deed { get { return new AwesomeDisturbingPortraitDeed(); } }
|
||||
|
||||
[Constructable]
|
||||
public AwesomeDisturbingPortraitAddon() : base()
|
||||
{
|
||||
AddComponent( new AwesomeDisturbingPortraitComponent(), 0, 0, 0 );
|
||||
}
|
||||
|
||||
public AwesomeDisturbingPortraitAddon( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class AwesomeDisturbingPortraitDeed : BaseAddonDeed
|
||||
{
|
||||
public override BaseAddon Addon { get { return new AwesomeDisturbingPortraitAddon(); } }
|
||||
public override int LabelNumber { get { return 1074479; } } // Disturbing portrait
|
||||
|
||||
[Constructable]
|
||||
public AwesomeDisturbingPortraitDeed() : base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public AwesomeDisturbingPortraitDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
180
Scripts/Items/Special/Evil Home Decor Collection/BedOfNails.cs
Normal file
180
Scripts/Items/Special/Evil Home Decor Collection/BedOfNails.cs
Normal file
|
|
@ -0,0 +1,180 @@
|
|||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BedOfNailsComponent : AddonComponent
|
||||
{
|
||||
public override int LabelNumber { get { return 1074801; } } // Bed of Nails
|
||||
|
||||
public BedOfNailsComponent( int itemID ) : base( itemID )
|
||||
{
|
||||
}
|
||||
|
||||
public BedOfNailsComponent( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override bool OnMoveOver( Mobile m )
|
||||
{
|
||||
bool allow = base.OnMoveOver( m );
|
||||
|
||||
if ( allow && Addon is BedOfNailsAddon )
|
||||
( (BedOfNailsAddon) Addon ).OnMoveOver( m );
|
||||
|
||||
return allow;
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
[FlipableAddon( Direction.South, Direction.East )]
|
||||
public class BedOfNailsAddon : BaseAddon
|
||||
{
|
||||
public override BaseAddonDeed Deed { get { return new BedOfNailsDeed(); } }
|
||||
|
||||
private InternalTimer m_Timer;
|
||||
|
||||
[Constructable]
|
||||
public BedOfNailsAddon() : base()
|
||||
{
|
||||
Direction = Direction.South;
|
||||
|
||||
AddComponent( new BedOfNailsComponent( 0x2A81 ), 0, 0, 0 );
|
||||
AddComponent( new BedOfNailsComponent( 0x2A82 ), 0, -1, 0 );
|
||||
}
|
||||
|
||||
public BedOfNailsAddon( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override bool OnMoveOver( Mobile m )
|
||||
{
|
||||
if ( m.Alive && ( m.AccessLevel == AccessLevel.Player || !m.Hidden ) )
|
||||
{
|
||||
if ( m.Player )
|
||||
{
|
||||
if ( m.Female )
|
||||
Effects.PlaySound( Location, Map, Utility.RandomMinMax( 0x53B, 0x53D ) );
|
||||
else
|
||||
Effects.PlaySound( Location, Map, Utility.RandomMinMax( 0x53E, 0x540 ) );
|
||||
}
|
||||
|
||||
if ( m_Timer == null || !m_Timer.Running )
|
||||
( m_Timer = new InternalTimer( m ) ).Start();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
|
||||
public virtual void Flip( Mobile from, Direction direction )
|
||||
{
|
||||
switch ( direction )
|
||||
{
|
||||
case Direction.East:
|
||||
AddComponent( new BedOfNailsComponent( 0x2A89 ), 0, 0, 0 );
|
||||
AddComponent( new BedOfNailsComponent( 0x2A8A ), -1, 0, 0 );
|
||||
break;
|
||||
case Direction.South:
|
||||
AddComponent( new BedOfNailsComponent( 0x2A81 ), 0, 0, 0 );
|
||||
AddComponent( new BedOfNailsComponent( 0x2A82 ), 0, -1, 0 );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private class InternalTimer : Timer
|
||||
{
|
||||
private Mobile m_Mobile;
|
||||
private Point3D m_Location;
|
||||
|
||||
public InternalTimer( Mobile m ) : base( TimeSpan.Zero, TimeSpan.FromSeconds( 1 ), 5 )
|
||||
{
|
||||
m_Mobile = m;
|
||||
m_Location = Point3D.Zero;
|
||||
}
|
||||
|
||||
protected override void OnTick()
|
||||
{
|
||||
if ( m_Location != m_Mobile.Location )
|
||||
{
|
||||
int amount = Utility.RandomMinMax( 0, 7 );
|
||||
|
||||
for ( int i = 0; i < amount; i++ )
|
||||
{
|
||||
int x = m_Mobile.X + Utility.RandomMinMax( -1, 1 );
|
||||
int y = m_Mobile.Y + Utility.RandomMinMax( -1, 1 );
|
||||
int z = m_Mobile.Z;
|
||||
|
||||
if ( !m_Mobile.Map.CanFit( x, y, z, 1, false, false, true ) )
|
||||
{
|
||||
z = m_Mobile.Map.GetAverageZ( x, y );
|
||||
|
||||
if ( !m_Mobile.Map.CanFit( x, y, z, 1, false, false, true ) )
|
||||
continue;
|
||||
}
|
||||
|
||||
Blood blood = new Blood( Utility.RandomMinMax( 0x122C, 0x122F ) );
|
||||
blood.MoveToWorld( new Point3D( x, y, z ), m_Mobile.Map );
|
||||
}
|
||||
|
||||
m_Location = m_Mobile.Location;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class BedOfNailsDeed : BaseAddonDeed
|
||||
{
|
||||
public override BaseAddon Addon { get { return new BedOfNailsAddon(); } }
|
||||
public override int LabelNumber { get { return 1074801; } } // Bed of Nails
|
||||
|
||||
[Constructable]
|
||||
public BedOfNailsDeed() : base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public BedOfNailsDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
119
Scripts/Items/Special/Evil Home Decor Collection/BoneCouch.cs
Normal file
119
Scripts/Items/Special/Evil Home Decor Collection/BoneCouch.cs
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BoneCouchComponent : AddonComponent
|
||||
{
|
||||
public override int LabelNumber { get { return 1074477; } } // Bone couch
|
||||
|
||||
public BoneCouchComponent( int itemID ) : base( itemID )
|
||||
{
|
||||
}
|
||||
|
||||
public BoneCouchComponent( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override bool OnMoveOver( Mobile m )
|
||||
{
|
||||
bool allow = base.OnMoveOver( m );
|
||||
|
||||
if ( allow && m.Alive && m.Player && ( m.AccessLevel == AccessLevel.Player || !m.Hidden ) )
|
||||
Effects.PlaySound( Location, Map, Utility.RandomMinMax( 0x547, 0x54A ) );
|
||||
|
||||
return allow;
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
[FlipableAddon( Direction.South, Direction.East )]
|
||||
public class BoneCouchAddon : BaseAddon
|
||||
{
|
||||
public override BaseAddonDeed Deed { get { return new BoneCouchDeed(); } }
|
||||
|
||||
[Constructable]
|
||||
public BoneCouchAddon() : base()
|
||||
{
|
||||
Direction = Direction.South;
|
||||
|
||||
AddComponent( new BoneCouchComponent( 0x2A5A ), 0, 0, 0 );
|
||||
AddComponent( new BoneCouchComponent( 0x2A5B ), -1, 0, 0 );
|
||||
}
|
||||
|
||||
public BoneCouchAddon( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
|
||||
public virtual void Flip( Mobile from, Direction direction )
|
||||
{
|
||||
switch ( direction )
|
||||
{
|
||||
case Direction.East:
|
||||
AddComponent( new BoneCouchComponent( 0x2A80 ), 0, 0, 0 );
|
||||
AddComponent( new BoneCouchComponent( 0x2A7F ), 0, 1, 0 );
|
||||
break;
|
||||
case Direction.South:
|
||||
AddComponent( new BoneCouchComponent( 0x2A5A ), 0, 0, 0 );
|
||||
AddComponent( new BoneCouchComponent( 0x2A5B ), -1, 0, 0 );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class BoneCouchDeed : BaseAddonDeed
|
||||
{
|
||||
public override BaseAddon Addon { get { return new BoneCouchAddon(); } }
|
||||
public override int LabelNumber { get { return 1074477; } } // Bone couch
|
||||
|
||||
[Constructable]
|
||||
public BoneCouchDeed() : base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public BoneCouchDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class BoneTableAddon : BaseAddon
|
||||
{
|
||||
public override BaseAddonDeed Deed { get { return new BoneTableDeed(); } }
|
||||
|
||||
[Constructable]
|
||||
public BoneTableAddon() : base()
|
||||
{
|
||||
AddComponent( new LocalizedAddonComponent( 0x2A5C, 1074478 ), 0, 0, 0 );
|
||||
}
|
||||
|
||||
public BoneTableAddon( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class BoneTableDeed : BaseAddonDeed
|
||||
{
|
||||
public override BaseAddon Addon { get { return new BoneTableAddon(); } }
|
||||
public override int LabelNumber { get { return 1074478; } } // Bone table
|
||||
|
||||
[Constructable]
|
||||
public BoneTableDeed() : base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public BoneTableDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
101
Scripts/Items/Special/Evil Home Decor Collection/BoneThrone.cs
Normal file
101
Scripts/Items/Special/Evil Home Decor Collection/BoneThrone.cs
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flipable( 0x2A58, 0x2A59 )]
|
||||
public class BoneThroneComponent : AddonComponent
|
||||
{
|
||||
public override int LabelNumber { get { return 1074476; } } // Bone throne
|
||||
|
||||
public BoneThroneComponent() : base( 0x2A58 )
|
||||
{
|
||||
}
|
||||
|
||||
public BoneThroneComponent( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override bool OnMoveOver( Mobile m )
|
||||
{
|
||||
bool allow = base.OnMoveOver( m );
|
||||
|
||||
if ( allow && m.Alive && m.Player && ( m.AccessLevel == AccessLevel.Player || !m.Hidden ) )
|
||||
Effects.PlaySound( Location, Map, Utility.RandomMinMax( 0x54B, 0x54D ) );
|
||||
|
||||
return allow;
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class BoneThroneAddon : BaseAddon
|
||||
{
|
||||
public override BaseAddonDeed Deed { get { return new BoneThroneDeed(); } }
|
||||
|
||||
[Constructable]
|
||||
public BoneThroneAddon() : base()
|
||||
{
|
||||
AddComponent( new BoneThroneComponent(), 0, 0, 0 );
|
||||
}
|
||||
|
||||
public BoneThroneAddon( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class BoneThroneDeed : BaseAddonDeed
|
||||
{
|
||||
public override BaseAddon Addon { get { return new BoneThroneAddon(); } }
|
||||
public override int LabelNumber { get { return 1074476; } } // Bone throne
|
||||
|
||||
[Constructable]
|
||||
public BoneThroneDeed() : base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public BoneThroneDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,129 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flipable( 0x2A69, 0x2A6D )]
|
||||
public class CreepyPortraitComponent : AddonComponent
|
||||
{
|
||||
public override int LabelNumber { get { return 1074481; } } // Creepy portrait
|
||||
public override bool HandlesOnMovement { get { return true; } }
|
||||
|
||||
public CreepyPortraitComponent() : base( 0x2A69 )
|
||||
{
|
||||
}
|
||||
|
||||
public CreepyPortraitComponent( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( Utility.InRange( Location, from.Location, 2 ) )
|
||||
Effects.PlaySound( Location, Map, Utility.RandomMinMax( 0x565, 0x566 ) );
|
||||
else
|
||||
from.LocalOverheadMessage( MessageType.Regular, 0x3B2, 1019045 ); // I can't reach that.
|
||||
}
|
||||
|
||||
public override void OnMovement( Mobile m, Point3D old )
|
||||
{
|
||||
if ( m.Alive && m.Player && ( m.AccessLevel == AccessLevel.Player || !m.Hidden ) )
|
||||
{
|
||||
if ( !Utility.InRange( old, Location, 2 ) && Utility.InRange( m.Location, Location, 2 ) )
|
||||
{
|
||||
if ( ItemID == 0x2A69 || ItemID == 0x2A6D )
|
||||
Timer.DelayCall( TimeSpan.FromSeconds( 0.5 ), TimeSpan.FromSeconds( 0.5 ), 3, new TimerCallback( Up ) );
|
||||
}
|
||||
else if ( Utility.InRange( old, Location, 2 ) && !Utility.InRange( m.Location, Location, 2 ) )
|
||||
{
|
||||
if ( ItemID == 0x2A6C || ItemID == 0x2A70 )
|
||||
Timer.DelayCall( TimeSpan.FromSeconds( 0.5 ), TimeSpan.FromSeconds( 0.5 ), 3, new TimerCallback( Down ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void Up()
|
||||
{
|
||||
ItemID += 1;
|
||||
}
|
||||
|
||||
private void Down()
|
||||
{
|
||||
ItemID -= 1;
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class CreepyPortraitAddon : BaseAddon
|
||||
{
|
||||
public override BaseAddonDeed Deed { get { return new CreepyPortraitDeed(); } }
|
||||
|
||||
[Constructable]
|
||||
public CreepyPortraitAddon() : base()
|
||||
{
|
||||
AddComponent( new CreepyPortraitComponent(), 0, 0, 0 );
|
||||
}
|
||||
|
||||
public CreepyPortraitAddon( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class CreepyPortraitDeed : BaseAddonDeed
|
||||
{
|
||||
public override BaseAddon Addon { get { return new CreepyPortraitAddon(); } }
|
||||
public override int LabelNumber { get { return 1074481; } } // Creepy portrait
|
||||
|
||||
[Constructable]
|
||||
public CreepyPortraitDeed() : base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public CreepyPortraitDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,122 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flipable( 0x2A5D, 0x2A61 )]
|
||||
public class DisturbingPortraitComponent : AddonComponent
|
||||
{
|
||||
public override int LabelNumber { get { return 1074479; } } // Disturbing portrait
|
||||
|
||||
private Timer m_Timer;
|
||||
|
||||
public DisturbingPortraitComponent() : base( 0x2A5D )
|
||||
{
|
||||
m_Timer = Timer.DelayCall( TimeSpan.FromMinutes( 3 ), TimeSpan.FromMinutes( 3 ), new TimerCallback( Change ) );
|
||||
}
|
||||
|
||||
public DisturbingPortraitComponent( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( Utility.InRange( Location, from.Location, 2 ) )
|
||||
Effects.PlaySound( Location, Map, Utility.RandomMinMax( 0x567, 0x568 ) );
|
||||
else
|
||||
from.LocalOverheadMessage( MessageType.Regular, 0x3B2, 1019045 ); // I can't reach that.
|
||||
}
|
||||
|
||||
public override void OnAfterDelete()
|
||||
{
|
||||
base.OnAfterDelete();
|
||||
|
||||
if ( m_Timer != null && m_Timer.Running )
|
||||
m_Timer.Stop();
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
m_Timer = Timer.DelayCall( TimeSpan.FromMinutes( 3 ), TimeSpan.FromMinutes( 3 ), new TimerCallback( Change ) );
|
||||
}
|
||||
|
||||
private void Change()
|
||||
{
|
||||
if ( ItemID < 0x2A61 )
|
||||
ItemID = Utility.RandomMinMax( 0x2A5D, 0x2A60 );
|
||||
else
|
||||
ItemID = Utility.RandomMinMax( 0x2A61, 0x2A64 );
|
||||
}
|
||||
}
|
||||
|
||||
public class DisturbingPortraitAddon : BaseAddon
|
||||
{
|
||||
public override BaseAddonDeed Deed { get { return new DisturbingPortraitDeed(); } }
|
||||
|
||||
[Constructable]
|
||||
public DisturbingPortraitAddon() : base()
|
||||
{
|
||||
AddComponent( new DisturbingPortraitComponent(), 0, 0, 0 );
|
||||
}
|
||||
|
||||
public DisturbingPortraitAddon( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class DisturbingPortraitDeed : BaseAddonDeed
|
||||
{
|
||||
public override BaseAddon Addon { get { return new DisturbingPortraitAddon(); } }
|
||||
public override int LabelNumber { get { return 1074479; } } // Disturbing portrait
|
||||
|
||||
[Constructable]
|
||||
public DisturbingPortraitDeed() : base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public DisturbingPortraitDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,114 @@
|
|||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flipable( 0x2A7B, 0x2A7D )]
|
||||
public class HaunterMirrorComponent : AddonComponent
|
||||
{
|
||||
public override int LabelNumber { get { return 1074800; } } // Haunted Mirror
|
||||
public override bool HandlesOnMovement { get { return true; } }
|
||||
|
||||
public HaunterMirrorComponent() : base( 0x2A7B )
|
||||
{
|
||||
}
|
||||
|
||||
public HaunterMirrorComponent( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnMovement( Mobile m, Point3D old )
|
||||
{
|
||||
base.OnMovement( m, old );
|
||||
|
||||
if ( m.Alive && m.Player && ( m.AccessLevel == AccessLevel.Player || !m.Hidden ) )
|
||||
{
|
||||
if ( !Utility.InRange( old, Location, 2 ) && Utility.InRange( m.Location, Location, 2 ) )
|
||||
{
|
||||
if ( ItemID == 0x2A7B || ItemID == 0x2A7D )
|
||||
{
|
||||
Effects.PlaySound( Location, Map, Utility.RandomMinMax( 0x551, 0x553 ) );
|
||||
ItemID += 1;
|
||||
}
|
||||
}
|
||||
else if ( Utility.InRange( old, Location, 2 ) && !Utility.InRange( m.Location, Location, 2 ) )
|
||||
{
|
||||
if ( ItemID == 0x2A7C || ItemID == 0x2A7E )
|
||||
ItemID -= 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class HaunterMirrorAddon : BaseAddon
|
||||
{
|
||||
public override BaseAddonDeed Deed { get { return new HaunterMirrorDeed(); } }
|
||||
|
||||
[Constructable]
|
||||
public HaunterMirrorAddon() : base()
|
||||
{
|
||||
AddComponent( new HaunterMirrorComponent(), 0, 0, 0 );
|
||||
}
|
||||
|
||||
public HaunterMirrorAddon( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class HaunterMirrorDeed : BaseAddonDeed
|
||||
{
|
||||
public override BaseAddon Addon { get { return new HaunterMirrorAddon(); } }
|
||||
public override int LabelNumber { get { return 1074800; } } // Haunted Mirror
|
||||
|
||||
[Constructable]
|
||||
public HaunterMirrorDeed() : base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public HaunterMirrorDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,100 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flipable( 0x2A75, 0x2A76 )]
|
||||
public class MountedPixieBlueComponent : AddonComponent
|
||||
{
|
||||
public override int LabelNumber { get { return 1074482; } } // Mounted pixie
|
||||
|
||||
public MountedPixieBlueComponent() : base( 0x2A75 )
|
||||
{
|
||||
}
|
||||
|
||||
public MountedPixieBlueComponent( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( Utility.InRange( Location, from.Location, 2 ) )
|
||||
Effects.PlaySound( Location, Map, Utility.RandomMinMax( 0x55C, 0x55E ) );
|
||||
else
|
||||
from.LocalOverheadMessage( MessageType.Regular, 0x3B2, 1019045 ); // I can't reach that.
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class MountedPixieBlueAddon : BaseAddon
|
||||
{
|
||||
public override BaseAddonDeed Deed { get { return new MountedPixieBlueDeed(); } }
|
||||
|
||||
public MountedPixieBlueAddon() : base()
|
||||
{
|
||||
AddComponent( new MountedPixieBlueComponent(), 0, 0, 0 );
|
||||
}
|
||||
|
||||
public MountedPixieBlueAddon( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class MountedPixieBlueDeed : BaseAddonDeed
|
||||
{
|
||||
public override BaseAddon Addon { get { return new MountedPixieBlueAddon(); } }
|
||||
public override int LabelNumber { get { return 1074482; } } // Mounted pixie
|
||||
|
||||
[Constructable]
|
||||
public MountedPixieBlueDeed() : base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public MountedPixieBlueDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,100 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flipable( 0x2A71, 0x2A72 )]
|
||||
public class MountedPixieGreenComponent : AddonComponent
|
||||
{
|
||||
public override int LabelNumber { get { return 1074482; } } // Mounted pixie
|
||||
|
||||
public MountedPixieGreenComponent() : base( 0x2A71 )
|
||||
{
|
||||
}
|
||||
|
||||
public MountedPixieGreenComponent( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( Utility.InRange( Location, from.Location, 2 ) )
|
||||
Effects.PlaySound( Location, Map, Utility.RandomMinMax( 0x554, 0x557 ) );
|
||||
else
|
||||
from.LocalOverheadMessage( MessageType.Regular, 0x3B2, 1019045 ); // I can't reach that.
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class MountedPixieGreenAddon : BaseAddon
|
||||
{
|
||||
public override BaseAddonDeed Deed { get { return new MountedPixieGreenDeed(); } }
|
||||
|
||||
public MountedPixieGreenAddon() : base()
|
||||
{
|
||||
AddComponent( new MountedPixieGreenComponent(), 0, 0, 0 );
|
||||
}
|
||||
|
||||
public MountedPixieGreenAddon( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class MountedPixieGreenDeed : BaseAddonDeed
|
||||
{
|
||||
public override BaseAddon Addon { get { return new MountedPixieGreenAddon(); } }
|
||||
public override int LabelNumber { get { return 1074482; } } // Mounted pixie
|
||||
|
||||
[Constructable]
|
||||
public MountedPixieGreenDeed() : base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public MountedPixieGreenDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,100 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flipable( 0x2A77, 0x2A78 )]
|
||||
public class MountedPixieLimeComponent : AddonComponent
|
||||
{
|
||||
public override int LabelNumber { get { return 1074482; } } // Mounted pixie
|
||||
|
||||
public MountedPixieLimeComponent() : base( 0x2A77 )
|
||||
{
|
||||
}
|
||||
|
||||
public MountedPixieLimeComponent( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( Utility.InRange( Location, from.Location, 2 ) )
|
||||
Effects.PlaySound( Location, Map, Utility.RandomMinMax( 0x55F, 0x561 ) );
|
||||
else
|
||||
from.LocalOverheadMessage( MessageType.Regular, 0x3B2, 1019045 ); // I can't reach that.
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class MountedPixieLimeAddon : BaseAddon
|
||||
{
|
||||
public override BaseAddonDeed Deed { get { return new MountedPixieLimeDeed(); } }
|
||||
|
||||
public MountedPixieLimeAddon() : base()
|
||||
{
|
||||
AddComponent( new MountedPixieLimeComponent(), 0, 0, 0 );
|
||||
}
|
||||
|
||||
public MountedPixieLimeAddon( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class MountedPixieLimeDeed : BaseAddonDeed
|
||||
{
|
||||
public override BaseAddon Addon { get { return new MountedPixieLimeAddon(); } }
|
||||
public override int LabelNumber { get { return 1074482; } } // Mounted pixie
|
||||
|
||||
[Constructable]
|
||||
public MountedPixieLimeDeed() : base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public MountedPixieLimeDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,100 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flipable( 0x2A73, 0x2A74 )]
|
||||
public class MountedPixieOrangeComponent : AddonComponent
|
||||
{
|
||||
public override int LabelNumber { get { return 1074482; } } // Mounted pixie
|
||||
|
||||
public MountedPixieOrangeComponent() : base( 0x2A73 )
|
||||
{
|
||||
}
|
||||
|
||||
public MountedPixieOrangeComponent( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( Utility.InRange( Location, from.Location, 2 ) )
|
||||
Effects.PlaySound( Location, Map, Utility.RandomMinMax( 0x558, 0x55B ) );
|
||||
else
|
||||
from.LocalOverheadMessage( MessageType.Regular, 0x3B2, 1019045 ); // I can't reach that.
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class MountedPixieOrangeAddon : BaseAddon
|
||||
{
|
||||
public override BaseAddonDeed Deed { get { return new MountedPixieOrangeDeed(); } }
|
||||
|
||||
public MountedPixieOrangeAddon() : base()
|
||||
{
|
||||
AddComponent( new MountedPixieOrangeComponent(), 0, 0, 0 );
|
||||
}
|
||||
|
||||
public MountedPixieOrangeAddon( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class MountedPixieOrangeDeed : BaseAddonDeed
|
||||
{
|
||||
public override BaseAddon Addon { get { return new MountedPixieOrangeAddon(); } }
|
||||
public override int LabelNumber { get { return 1074482; } } // Mounted pixie
|
||||
|
||||
[Constructable]
|
||||
public MountedPixieOrangeDeed() : base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public MountedPixieOrangeDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,100 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flipable( 0x2A79, 0x2A7A )]
|
||||
public class MountedPixieWhiteComponent : AddonComponent
|
||||
{
|
||||
public override int LabelNumber { get { return 1074482; } } // Mounted pixie
|
||||
|
||||
public MountedPixieWhiteComponent() : base( 0x2A79 )
|
||||
{
|
||||
}
|
||||
|
||||
public MountedPixieWhiteComponent( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( Utility.InRange( Location, from.Location, 2 ) )
|
||||
Effects.PlaySound( Location, Map, Utility.RandomMinMax( 0x562, 0x564 ) );
|
||||
else
|
||||
from.LocalOverheadMessage( MessageType.Regular, 0x3B2, 1019045 ); // I can't reach that.
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class MountedPixieWhiteAddon : BaseAddon
|
||||
{
|
||||
public override BaseAddonDeed Deed { get { return new MountedPixieWhiteDeed(); } }
|
||||
|
||||
public MountedPixieWhiteAddon() : base()
|
||||
{
|
||||
AddComponent( new MountedPixieWhiteComponent(), 0, 0, 0 );
|
||||
}
|
||||
|
||||
public MountedPixieWhiteAddon( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class MountedPixieWhiteDeed : BaseAddonDeed
|
||||
{
|
||||
public override BaseAddon Addon { get { return new MountedPixieWhiteAddon(); } }
|
||||
public override int LabelNumber { get { return 1074482; } } // Mounted pixie
|
||||
|
||||
[Constructable]
|
||||
public MountedPixieWhiteDeed() : base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public MountedPixieWhiteDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,164 @@
|
|||
using System;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[FlipableAddon( Direction.South, Direction.East )]
|
||||
public class SacrificialAltarAddon : BaseAddonContainer
|
||||
{
|
||||
public override BaseAddonContainerDeed Deed { get { return new SacrificialAltarDeed(); } }
|
||||
public override int LabelNumber { get { return 1074818; } } // Sacrificial Altar
|
||||
public override int DefaultMaxWeight { get { return 0; } }
|
||||
public override int DefaultGumpID { get { return 0x107; } }
|
||||
public override int DefaultDropSound { get { return 0x42; } }
|
||||
|
||||
private Timer m_Timer;
|
||||
|
||||
[Constructable]
|
||||
public SacrificialAltarAddon() : base( 0x2A9B )
|
||||
{
|
||||
Direction = Direction.South;
|
||||
|
||||
AddComponent( new LocalizedContainerComponent( 0x2A9A, 1074818 ), 1, 0, 0 );
|
||||
}
|
||||
|
||||
public SacrificialAltarAddon( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override bool OnDragDrop( Mobile from, Item dropped )
|
||||
{
|
||||
if ( !base.OnDragDrop( from, dropped ) )
|
||||
return false;
|
||||
|
||||
if ( TotalItems >= 50 )
|
||||
{
|
||||
SendLocalizedMessageTo( from, 501478 ); // The trash is full! Emptying!
|
||||
Empty();
|
||||
}
|
||||
else
|
||||
{
|
||||
SendLocalizedMessageTo( from, 1010442 ); // The item will be deleted in three minutes
|
||||
|
||||
if ( m_Timer != null )
|
||||
m_Timer.Stop();
|
||||
|
||||
m_Timer = Timer.DelayCall( TimeSpan.FromMinutes( 3 ), new TimerCallback( Empty ) );
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool OnDragDropInto( Mobile from, Item item, Point3D p )
|
||||
{
|
||||
if ( !base.OnDragDropInto( from, item, p ) )
|
||||
return false;
|
||||
|
||||
if ( TotalItems >= 50 )
|
||||
{
|
||||
SendLocalizedMessageTo( from, 501478 ); // The trash is full! Emptying!
|
||||
Empty();
|
||||
}
|
||||
else
|
||||
{
|
||||
SendLocalizedMessageTo( from, 1010442 ); // The item will be deleted in three minutes
|
||||
|
||||
if ( m_Timer != null )
|
||||
m_Timer.Stop();
|
||||
|
||||
m_Timer = Timer.DelayCall( TimeSpan.FromMinutes( 3 ), new TimerCallback( Empty ) );
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
if ( Items.Count > 0 )
|
||||
m_Timer = Timer.DelayCall( TimeSpan.FromMinutes( 3 ), new TimerCallback( Empty ) );
|
||||
}
|
||||
|
||||
public virtual void Flip( Mobile from, Direction direction )
|
||||
{
|
||||
switch ( direction )
|
||||
{
|
||||
case Direction.East:
|
||||
ItemID = 0x2A9C;
|
||||
AddComponent( new LocalizedContainerComponent( 0x2A9D, 1074818 ), 0, -1, 0 );
|
||||
break;
|
||||
case Direction.South:
|
||||
ItemID = 0x2A9B;
|
||||
AddComponent( new LocalizedContainerComponent( 0x2A9A, 1074818 ), 1, 0, 0 );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void Empty()
|
||||
{
|
||||
if ( Items.Count > 0 )
|
||||
{
|
||||
Point3D location = Location;
|
||||
location.Z += 10;
|
||||
|
||||
Effects.SendLocationEffect( location, Map, 0x3709, 10, 10, 0x356, 0 );
|
||||
Effects.PlaySound( location, Map, 0x32E );
|
||||
|
||||
if ( Items.Count > 0 )
|
||||
{
|
||||
for ( int i = Items.Count - 1; i >= 0; --i )
|
||||
{
|
||||
if ( i >= Items.Count )
|
||||
continue;
|
||||
|
||||
Items[ i ].Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( m_Timer != null )
|
||||
m_Timer.Stop();
|
||||
|
||||
m_Timer = null;
|
||||
}
|
||||
}
|
||||
|
||||
public class SacrificialAltarDeed : BaseAddonContainerDeed
|
||||
{
|
||||
public override BaseAddonContainer Addon { get { return new SacrificialAltarAddon(); } }
|
||||
public override int LabelNumber { get { return 1074818; } } // Sacrificial Altar
|
||||
|
||||
[Constructable]
|
||||
public SacrificialAltarDeed() : base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public SacrificialAltarDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,126 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Flipable( 0x2A65, 0x2A67 )]
|
||||
public class UnsettlingPortraitComponent : AddonComponent
|
||||
{
|
||||
public override int LabelNumber { get { return 1074480; } } // Unsettling portrait
|
||||
|
||||
private Timer m_Timer;
|
||||
|
||||
public UnsettlingPortraitComponent() : base( 0x2A65 )
|
||||
{
|
||||
m_Timer = Timer.DelayCall( TimeSpan.FromMinutes( 3 ), TimeSpan.FromMinutes( 3 ), new TimerCallback( ChangeDirection ) );
|
||||
}
|
||||
|
||||
public UnsettlingPortraitComponent( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDoubleClick( Mobile from )
|
||||
{
|
||||
if ( Utility.InRange( Location, from.Location, 2 ) )
|
||||
Effects.PlaySound( Location, Map, Utility.RandomMinMax( 0x567, 0x568 ) );
|
||||
else
|
||||
from.LocalOverheadMessage( MessageType.Regular, 0x3B2, 1019045 ); // I can't reach that.
|
||||
}
|
||||
|
||||
public override void OnAfterDelete()
|
||||
{
|
||||
base.OnAfterDelete();
|
||||
|
||||
if ( m_Timer != null )
|
||||
m_Timer.Stop();
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
|
||||
m_Timer = Timer.DelayCall( TimeSpan.FromMinutes( 3 ), TimeSpan.FromMinutes( 3 ), new TimerCallback( ChangeDirection ) );
|
||||
}
|
||||
|
||||
private void ChangeDirection()
|
||||
{
|
||||
if ( ItemID == 0x2A65 )
|
||||
ItemID += 1;
|
||||
else if ( ItemID == 0x2A66 )
|
||||
ItemID -= 1;
|
||||
else if ( ItemID == 0x2A67 )
|
||||
ItemID += 1;
|
||||
else if ( ItemID == 0x2A68 )
|
||||
ItemID -= 1;
|
||||
}
|
||||
}
|
||||
|
||||
public class UnsettlingPortraitAddon : BaseAddon
|
||||
{
|
||||
public override BaseAddonDeed Deed { get { return new UnsettlingPortraitDeed(); } }
|
||||
|
||||
[Constructable]
|
||||
public UnsettlingPortraitAddon() : base()
|
||||
{
|
||||
AddComponent( new UnsettlingPortraitComponent(), 0, 0, 0 );
|
||||
}
|
||||
|
||||
public UnsettlingPortraitAddon( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class UnsettlingPortraitDeed : BaseAddonDeed
|
||||
{
|
||||
public override BaseAddon Addon { get { return new UnsettlingPortraitAddon(); } }
|
||||
public override int LabelNumber { get { return 1074480; } } // Unsettling portrait
|
||||
|
||||
[Constructable]
|
||||
public UnsettlingPortraitDeed() : base()
|
||||
{
|
||||
LootType = LootType.Blessed;
|
||||
}
|
||||
|
||||
public UnsettlingPortraitDeed( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.WriteEncodedInt( 0 ); // version
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue