61 lines
No EOL
1.6 KiB
C#
61 lines
No EOL
1.6 KiB
C#
using System;
|
|
using System.Xml;
|
|
using Server;
|
|
using Server.Spells;
|
|
|
|
namespace Server.Regions
|
|
{
|
|
public class Jail : BaseRegion
|
|
{
|
|
public Jail( XmlElement xml, Map map, Region parent ) : base( xml, map, parent )
|
|
{
|
|
}
|
|
|
|
public override bool AllowBeneficial( Mobile from, Mobile target )
|
|
{
|
|
if ( from.AccessLevel == AccessLevel.Player )
|
|
from.SendMessage( "You may not do that in jail." );
|
|
|
|
return ( from.AccessLevel > AccessLevel.Player );
|
|
}
|
|
|
|
public override bool AllowHarmful( Mobile from, Mobile target )
|
|
{
|
|
if ( from.AccessLevel == AccessLevel.Player )
|
|
from.SendMessage( "You may not do that in jail." );
|
|
|
|
return ( from.AccessLevel > AccessLevel.Player );
|
|
}
|
|
|
|
public override bool AllowHousing( Mobile from, Point3D p )
|
|
{
|
|
return false;
|
|
}
|
|
|
|
public override void AlterLightLevel( Mobile m, ref int global, ref int personal )
|
|
{
|
|
global = LightCycle.JailLevel;
|
|
}
|
|
|
|
public override bool OnBeginSpellCast( Mobile from, ISpell s )
|
|
{
|
|
if ( from.AccessLevel == AccessLevel.Player )
|
|
from.SendLocalizedMessage( 502629 ); // You cannot cast spells here.
|
|
|
|
return ( from.AccessLevel > AccessLevel.Player );
|
|
}
|
|
|
|
public override bool OnSkillUse( Mobile from, int Skill )
|
|
{
|
|
if ( from.AccessLevel == AccessLevel.Player )
|
|
from.SendMessage( "You may not use skills in jail." );
|
|
|
|
return ( from.AccessLevel > AccessLevel.Player );
|
|
}
|
|
|
|
public override bool OnCombatantChange( Mobile from, Mobile Old, Mobile New )
|
|
{
|
|
return ( from.AccessLevel > AccessLevel.Player );
|
|
}
|
|
}
|
|
} |