Files
abysmal-isle/Scripts/Services/InstancedPeerless/StygianDragon/StygianDragonPlatform.cs
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

110 lines
3.2 KiB
C#

//
// X-RunUO - Ultima Online Server Emulator
// Copyright (C) 2015 Pedro Pardal
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 3.0 of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this program.
//
using System;
using Server;
using Server.Items;
using Server.Mobiles;
namespace Server.Engines.InstancedPeerless
{
public class StygianDragonPlatform : PeerlessPlatform
{
public override Type KeyType { get { return typeof( DraconicOrb ); } }
public override Type BossType { get { return typeof( StygianDragon ); } }
[Constructable]
public StygianDragonPlatform()
{
ExitLocation = new Point3D( 367, 158, 0 );
// base
AddHuedComponent( 0x0709, 1, 1, 0 );
AddHuedComponent( 0x0709, -1, -1, 0 );
AddHuedComponent( 0x0709, 0, -1, 0 );
AddHuedComponent( 0x0709, 1, -1, 0 );
AddHuedComponent( 0x0709, 0, 0, 0 );
AddHuedComponent( 0x0709, -1, 0, 0 );
AddHuedComponent( 0x0709, -1, 1, 0 );
AddHuedComponent( 0x0709, 0, 1, 0 );
// stairs
AddHuedComponent( 0x070B, 1, 0, 0 );
// blockers
AddHuedComponent( 0x21A4, 0, -1, 5 );
AddHuedComponent( 0x21A4, -1, 0, 5 );
AddHuedComponent( 0x21A4, 0, 1, 5 );
// floor cracks
AddHuedComponent( 0x1B07, 0, 0, 5 );
AddHuedComponent( 0x1B05, 0, 0, 5 );
// floor
AddHuedComponent( 0x4338, -1, -1, 5 );
AddHuedComponent( 0x4338, 1, -1, 5 );
AddHuedComponent( 0x4338, 1, 1, 5 );
AddHuedComponent( 0x4338, -1, 1, 5 );
AddHuedComponent( 0x4339, 0, -1, 5 );
AddHuedComponent( 0x4339, -1, 0, 5 );
AddHuedComponent( 0x4339, 0, 1, 5 );
}
public override void AddInstances()
{
AddInstance( 0, -1, 7, Map.TerMur, new Point3D( 80, 366, 0 ), new Point3D( 61, 366, 20 ), new Rectangle2D( 0, 286, 136, 176 ) );
AddInstance( -1, 0, 8, Map.TerMur, new Point3D( 80, 564, 0 ), new Point3D( 61, 564, 20 ), new Rectangle2D( 0, 485, 136, 176 ) );
AddInstance( 0, 1, 7, Map.TerMur, new Point3D( 80, 772, 0 ), new Point3D( 61, 772, 20 ), new Rectangle2D( 0, 684, 136, 176 ) );
}
public override void AddBraziers()
{
AddBrazier( -1, -1, 7 );
AddBrazier( 1, -1, 8 );
AddBrazier( -1, 1, 8 );
AddBrazier( 1, 1, 9 );
}
private void AddHuedComponent( int itemId, int x, int y, int z )
{
AddonComponent component = new AddonComponent( itemId );
component.Hue = 0x2EF;
AddComponent( component, x, y, z );
}
public StygianDragonPlatform( 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();
}
}
}