first commit
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using ClassicAssist.Shared;
|
||||
using ClassicAssist.Data.Skills;
|
||||
using ClassicAssist.Misc;
|
||||
using ClassicAssist.Shared.Resources;
|
||||
using ClassicAssist.UO.Data;
|
||||
using ClassicAssist.UO.Network.Packets;
|
||||
using UOC = ClassicAssist.Shared.UO.Commands;
|
||||
|
||||
namespace ClassicAssist.Data.Macros.Commands
|
||||
{
|
||||
public static class SkillCommands
|
||||
{
|
||||
[CommandsDisplay( Category = nameof( Strings.Skills ),
|
||||
Parameters = new[] { nameof( ParameterType.SkillName ) } )]
|
||||
public static void UseSkill( string skill )
|
||||
{
|
||||
int id = GetSkillID( skill );
|
||||
|
||||
if ( id == -1 )
|
||||
{
|
||||
UOC.SystemMessage( string.Format( Strings.Invalid_skill_name___0__, skill ) );
|
||||
return;
|
||||
}
|
||||
|
||||
Engine.SendPacketToServer( new UseSkill( id ) );
|
||||
}
|
||||
|
||||
private static int GetSkillID( string skill )
|
||||
{
|
||||
skill = skill.ToLower().Replace( '_', ' ' );
|
||||
|
||||
KeyValuePair<int, SkillData> sk = UO.Data.Skills.GetSkills()
|
||||
.FirstOrDefault( s => s.Value.Name.ToLower().Equals( skill ) );
|
||||
|
||||
if ( sk.Value == null )
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
return sk.Key;
|
||||
}
|
||||
|
||||
[CommandsDisplay( Category = nameof( Strings.Skills ),
|
||||
Parameters = new[] { nameof( ParameterType.SkillName ) } )]
|
||||
public static double Skill( string name )
|
||||
{
|
||||
SkillManager manager = SkillManager.GetInstance();
|
||||
|
||||
SkillEntry s = manager.Items.FirstOrDefault( se => se.Skill.Name.ToLower().Contains( name.ToLower() ) );
|
||||
|
||||
return s?.Value ?? 0;
|
||||
}
|
||||
|
||||
[CommandsDisplay( Category = nameof( Strings.Skills ),
|
||||
Parameters = new[] { nameof( ParameterType.SkillName ) } )]
|
||||
public static double SkillCap( string name )
|
||||
{
|
||||
SkillManager manager = SkillManager.GetInstance();
|
||||
|
||||
SkillEntry s = manager.Items.FirstOrDefault( se => se.Skill.Name.ToLower().Contains( name.ToLower() ) );
|
||||
|
||||
return s?.Cap ?? 0;
|
||||
}
|
||||
|
||||
[CommandsDisplay( Category = nameof( Strings.Skills ),
|
||||
Parameters = new[] { nameof( ParameterType.SkillName ) } )]
|
||||
public static string SkillState( string name )
|
||||
{
|
||||
SkillManager manager = SkillManager.GetInstance();
|
||||
|
||||
SkillEntry s = manager.Items.FirstOrDefault( se => se.Skill.Name.ToLower().Contains( name.ToLower() ) );
|
||||
|
||||
return s?.LockStatus.ToString().ToLower() ?? "up";
|
||||
}
|
||||
|
||||
[CommandsDisplay( Category = nameof( Strings.Skills ),
|
||||
Parameters = new[] { nameof( ParameterType.SkillName ), nameof( ParameterType.UpDownLocked ) } )]
|
||||
[CommandsDisplayStringSeeAlso( new[] { null, nameof( LockStatus ) } )]
|
||||
public static void SetSkill( string skill, string status )
|
||||
{
|
||||
SkillManager manager = SkillManager.GetInstance();
|
||||
|
||||
SkillEntry s = manager.Items.FirstOrDefault( se => se.Skill.Name.ToLower().Contains( skill.ToLower() ) );
|
||||
|
||||
if ( s == null )
|
||||
{
|
||||
UOC.SystemMessage( string.Format( Strings.Invalid_skill_name___0__, skill ) );
|
||||
return;
|
||||
}
|
||||
|
||||
LockStatus ls = Utility.GetEnumValueByName<LockStatus>( status );
|
||||
|
||||
UOC.ChangeSkillLock( s, ls );
|
||||
}
|
||||
|
||||
[CommandsDisplay( Category = nameof( Strings.Skills ),
|
||||
Parameters = new[] { nameof( ParameterType.String ), nameof( ParameterType.UpDownLocked ) } )]
|
||||
[CommandsDisplayStringSeeAlso( new[] { nameof( StatType ), nameof( LockStatus ) } )]
|
||||
public static void SetStatus( string stat, string lockStatus )
|
||||
{
|
||||
StatType st = Utility.GetEnumValueByName<StatType>( stat );
|
||||
LockStatus ls = Utility.GetEnumValueByName<LockStatus>( lockStatus );
|
||||
|
||||
UOC.ChangeStatLock( st, ls );
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user