86 lines
No EOL
2.8 KiB
C#
86 lines
No EOL
2.8 KiB
C#
using System;
|
|
using Server;
|
|
using Server.Items;
|
|
using Server.Mobiles;
|
|
|
|
namespace Server
|
|
{
|
|
public static class MondainsLegacy
|
|
{
|
|
public static Type[] Artifacts { get { return m_Artifacts; } }
|
|
|
|
private static Type[] m_Artifacts = new Type[]
|
|
{
|
|
typeof( AegisOfGrace ), typeof( BladeDance ), typeof( BloodwoodSpirit ), typeof( Bonesmasher ),
|
|
typeof( Boomstick ), typeof( BrightsightLenses ), typeof( FeyLeggings ), typeof( FleshRipper ),
|
|
typeof( HelmOfSwiftness ), typeof( PadsOfTheCuSidhe ), typeof( QuiverOfRage ), typeof( QuiverOfElements ),
|
|
typeof( RaedsGlory ), typeof( RighteousAnger ), typeof( RobeOfTheEclipse ), typeof( RobeOfTheEquinox ),
|
|
typeof( SoulSeeker ), typeof( TalonBite ), typeof( TotemOfVoid ), typeof( WildfireBow ),
|
|
typeof( Windsong )
|
|
};
|
|
|
|
public static bool CheckArtifactChance( Mobile m, BaseCreature bc )
|
|
{
|
|
if ( !Core.ML )
|
|
return false;
|
|
|
|
return Paragon.CheckArtifactChance( m, bc );
|
|
}
|
|
|
|
public static void GiveArtifactTo( Mobile m )
|
|
{
|
|
Item item = Activator.CreateInstance( m_Artifacts[Utility.Random( m_Artifacts.Length )] ) as Item;
|
|
|
|
if ( item == null )
|
|
return;
|
|
|
|
if ( m.AddToBackpack( item ) )
|
|
{
|
|
m.SendLocalizedMessage( 1072223 ); // An item has been placed in your backpack.
|
|
m.SendLocalizedMessage( 1062317 ); // For your valor in combating the fallen beast, a special artifact has been bestowed on you.
|
|
}
|
|
else if ( m.BankBox.TryDropItem( m, item, false ) )
|
|
{
|
|
m.SendLocalizedMessage( 1072224 ); // An item has been placed in your bank box.
|
|
m.SendLocalizedMessage( 1062317 ); // For your valor in combating the fallen beast, a special artifact has been bestowed on you.
|
|
}
|
|
else
|
|
{
|
|
// Item was placed at feet by m.AddToBackpack
|
|
m.SendLocalizedMessage( 1072523 ); // You find an artifact, but your backpack and bank are too full to hold it.
|
|
}
|
|
}
|
|
|
|
public static bool CheckML( Mobile from )
|
|
{
|
|
return CheckML( from, true );
|
|
}
|
|
|
|
public static bool CheckML( Mobile from, bool message )
|
|
{
|
|
if ( from == null || from.NetState == null )
|
|
return false;
|
|
|
|
if ( from.NetState.SupportsExpansion( Expansion.ML ) )
|
|
return true;
|
|
|
|
if ( message )
|
|
from.SendLocalizedMessage( 1072791 ); // You must upgrade to Mondain's Legacy in order to use that item.
|
|
|
|
return false;
|
|
}
|
|
|
|
public static bool IsMLRegion( Region region )
|
|
{
|
|
return region.IsPartOf( "Twisted Weald" )
|
|
|| region.IsPartOf( "Sanctuary" )
|
|
|| region.IsPartOf( "The Prism of Light" )
|
|
|| region.IsPartOf( "The Citadel" )
|
|
|| region.IsPartOf( "Bedlam" )
|
|
|| region.IsPartOf( "Blighted Grove" )
|
|
|| region.IsPartOf( "The Painted Caves" )
|
|
|| region.IsPartOf( "The Palace of Paroxysmus" )
|
|
|| region.IsPartOf( "Labyrinth" );
|
|
}
|
|
}
|
|
} |