#W# Initial Commit: Avatars Conquest
This commit is contained in:
commit
5df497787a
7510 changed files with 416048 additions and 0 deletions
67
Scripts/Skills/Stealth.cs
Normal file
67
Scripts/Skills/Stealth.cs
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
using System;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.SkillHandlers
|
||||
{
|
||||
public class Stealth
|
||||
{
|
||||
public static void Initialize()
|
||||
{
|
||||
SkillInfo.Table[(int)SkillName.Stealth].Callback = new SkillUseCallback( OnUse );
|
||||
}
|
||||
|
||||
public static TimeSpan OnUse( Mobile m )
|
||||
{
|
||||
if ( !m.Hidden )
|
||||
{
|
||||
m.SendLocalizedMessage( 502725 ); // You must hide first
|
||||
}
|
||||
else if ( m.Skills[SkillName.Hiding].Value < Utility.Random(101) )
|
||||
{
|
||||
m.SendLocalizedMessage( 502731 ); // You fail in your attempt to move unnoticed.
|
||||
m.RevealingAction();
|
||||
}
|
||||
else if( !m.CanBeginAction( typeof( Stealth ) ) )
|
||||
{
|
||||
m.SendLocalizedMessage( 1063086 ); // You cannot use this skill right now.
|
||||
m.RevealingAction();
|
||||
}
|
||||
else
|
||||
{
|
||||
int armorRating = (int)( BaseWeapon.ArmorRating( m ) / 2 );
|
||||
|
||||
if( armorRating >= 26 )
|
||||
{
|
||||
m.SendLocalizedMessage( 502727 ); // You could not hope to move quietly wearing this much armor.
|
||||
m.RevealingAction();
|
||||
}
|
||||
else if( m.CheckSkill( SkillName.Stealth, -20.0 + (armorRating * 2), 80.0 + (armorRating * 2) ) )
|
||||
{
|
||||
int steps = (int)(m.Skills[SkillName.Stealth].Value / 10.0);
|
||||
|
||||
if( steps < 1 )
|
||||
steps = 1;
|
||||
|
||||
m.AllowedStealthSteps = steps;
|
||||
|
||||
PlayerMobile pm = m as PlayerMobile; // IsStealthing should be moved to Server.Mobiles
|
||||
|
||||
if( pm != null )
|
||||
pm.IsStealthing = true;
|
||||
|
||||
m.SendLocalizedMessage( 502730 ); // You begin to move quietly.
|
||||
|
||||
return TimeSpan.FromSeconds( 10.0 );
|
||||
}
|
||||
else
|
||||
{
|
||||
m.SendLocalizedMessage( 502731 ); // You fail in your attempt to move unnoticed.
|
||||
m.RevealingAction();
|
||||
}
|
||||
}
|
||||
|
||||
return TimeSpan.FromSeconds( 10.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue