mirror of
https://github.com/runuo/runuo
synced 2026-08-11 22:26:04 -04:00
- Fixed cu sidhe and reptalon trade statuettes. - Made IAccount comparable, to be able to sort by account in-game. - Fixed item leak in ChampionSpawn and Harrower. - Added ChampionSpawn and Harrower leaked item types to Cleanup. - Added a helper for handling validation after deserialization, and converted classes using that technique to the new system. - Fixed bulletin board item leak, and the core bug that caused it. Leaked items will be cleaned up on server boot. - Fixed bulletin board message content packet to compensate for a client bug. - Monster AI is now deactivated on the internal map, like it is on inactive sectors. - Monster AI activity is now checked on map changes as well, not just location changes. - Corrected hiding requirement needed to train stealth from an NPC for Core.ML. - Fixed a SendLocalizedMessage overload calling itself.
87 lines
No EOL
2.2 KiB
C#
87 lines
No EOL
2.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Server;
|
|
|
|
namespace Server.Items
|
|
{
|
|
public class ArcaneCircleAddon : BaseAddon
|
|
{
|
|
public override BaseAddonDeed Deed{ get{ return new ArcaneCircleDeed(); } }
|
|
|
|
[Constructable]
|
|
public ArcaneCircleAddon()
|
|
{
|
|
AddComponent( new AddonComponent( 0x3083 ), -1, -1, 0 );
|
|
AddComponent( new AddonComponent( 0x3080 ), -1, 0, 0 );
|
|
AddComponent( new AddonComponent( 0x3082 ), 0, -1, 0 );
|
|
AddComponent( new AddonComponent( 0x3081 ), 1, -1, 0 );
|
|
AddComponent( new AddonComponent( 0x307D ), -1, 1, 0 );
|
|
AddComponent( new AddonComponent( 0x307F ), 0, 0, 0 );
|
|
AddComponent( new AddonComponent( 0x307E ), 1, 0, 0 );
|
|
AddComponent( new AddonComponent( 0x307C ), 0, 1, 0 );
|
|
AddComponent( new AddonComponent( 0x307B ), 1, 1, 0 );
|
|
}
|
|
|
|
public ArcaneCircleAddon( Serial serial ) : base( serial )
|
|
{
|
|
}
|
|
|
|
public override void Serialize( GenericWriter writer )
|
|
{
|
|
base.Serialize( writer );
|
|
|
|
writer.WriteEncodedInt( 1 ); // version
|
|
}
|
|
|
|
public override void Deserialize( GenericReader reader )
|
|
{
|
|
base.Deserialize( reader );
|
|
|
|
int version = reader.ReadEncodedInt();
|
|
|
|
if ( version == 0 )
|
|
ValidationQueue<ArcaneCircleAddon>.Add( this );
|
|
}
|
|
|
|
public void Validate()
|
|
{
|
|
foreach ( AddonComponent c in Components )
|
|
{
|
|
if ( c.ItemID == 0x3083 )
|
|
{
|
|
c.Offset = new Point3D( -1, -1, 0 );
|
|
c.MoveToWorld( new Point3D( X + c.Offset.X, Y + c.Offset.Y, Z + c.Offset.Z ), Map );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public class ArcaneCircleDeed : BaseAddonDeed
|
|
{
|
|
public override BaseAddon Addon{ get{ return new ArcaneCircleAddon(); } }
|
|
public override int LabelNumber{ get{ return 1072703; } } // arcane circle
|
|
|
|
[Constructable]
|
|
public ArcaneCircleDeed()
|
|
{
|
|
}
|
|
|
|
public ArcaneCircleDeed( 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();
|
|
}
|
|
}
|
|
} |