fix(core): Optimizes strings / .NET 5 compatibility changes (#354)
- [X] Removes some string allocations (e.g. split) - [X] Optimizes some collections - [X] Converts insensitive to extension methods of built-ins. - [X] Adds ordinal (case sensitive) string helpers - [X] Fixes conditionals for in-game commands so they use Ordinal comparisons. - [X] Replaces ToLower.Contains with InsensitiveContains - [X] Adds ValueStringBuilder - [X] Implements ValueStringBuilder in a few places where it makes sense - [X] Removes the redundant Wrap function and replaces it with an optimized version - [X] Fixes list conversions in Utility Closes #351 Bumps release version
This commit is contained in:
parent
92aae8d482
commit
77ce2e1980
117 changed files with 2000 additions and 1226 deletions
|
|
@ -775,7 +775,7 @@ namespace Server.Accounting
|
|||
}
|
||||
|
||||
m_PasswordAlgorithm = algorithm;
|
||||
Password = password.Replace("-", string.Empty, StringComparison.Ordinal);
|
||||
Password = password.ReplaceOrdinal("-", string.Empty);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -176,7 +176,7 @@ namespace Server.Misc
|
|||
|
||||
if (entry != null)
|
||||
{
|
||||
if (entry.Message.StartsWith("[Automated: Change Password]", StringComparison.Ordinal))
|
||||
if (entry.Message.StartsWithOrdinal("[Automated: Change Password]"))
|
||||
{
|
||||
from.SendMessage("You already have a password change request in the help system queue.");
|
||||
}
|
||||
|
|
@ -288,9 +288,9 @@ namespace Server.Misc
|
|||
return null;
|
||||
}
|
||||
|
||||
var isSafe = !(un.StartsWith(" ", StringComparison.Ordinal) ||
|
||||
un.EndsWith(" ", StringComparison.Ordinal) ||
|
||||
un.EndsWith(".", StringComparison.Ordinal));
|
||||
var isSafe = !(un.StartsWithOrdinal(" ") ||
|
||||
un.EndsWithOrdinal(" ") ||
|
||||
un.EndsWithOrdinal("."));
|
||||
|
||||
for (var i = 0; isSafe && i < un.Length; ++i)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,20 +2,21 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using Microsoft.Toolkit.HighPerformance.Extensions;
|
||||
|
||||
namespace Server
|
||||
{
|
||||
public static class Firewall
|
||||
{
|
||||
private const string firewallConfigPath = "firewall.cfg";
|
||||
|
||||
static Firewall()
|
||||
{
|
||||
List = new List<IFirewallEntry>();
|
||||
Set = new HashSet<IFirewallEntry>();
|
||||
|
||||
var path = "firewall.cfg";
|
||||
|
||||
if (File.Exists(path))
|
||||
if (File.Exists(firewallConfigPath))
|
||||
{
|
||||
using var ip = new StreamReader(path);
|
||||
using var ip = new StreamReader(firewallConfigPath);
|
||||
string line;
|
||||
|
||||
while ((line = ip.ReadLine()) != null)
|
||||
|
|
@ -27,24 +28,12 @@ namespace Server
|
|||
continue;
|
||||
}
|
||||
|
||||
List.Add(ToFirewallEntry(line));
|
||||
|
||||
/*
|
||||
object toAdd;
|
||||
|
||||
IPAddress addr;
|
||||
if (IPAddress.TryParse( line, out addr ))
|
||||
toAdd = addr;
|
||||
else
|
||||
toAdd = line;
|
||||
|
||||
m_Blocked.Add( toAdd.ToString() );
|
||||
* */
|
||||
Set.Add(ToFirewallEntry(line));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static List<IFirewallEntry> List { get; }
|
||||
public static HashSet<IFirewallEntry> Set { get; }
|
||||
|
||||
public static IFirewallEntry ToFirewallEntry(object entry)
|
||||
{
|
||||
|
|
@ -59,111 +48,79 @@ namespace Server
|
|||
|
||||
public static IFirewallEntry ToFirewallEntry(string entry)
|
||||
{
|
||||
if (entry == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if (IPAddress.TryParse(entry, out var addr))
|
||||
{
|
||||
return new IPFirewallEntry(addr);
|
||||
}
|
||||
|
||||
// Try CIDR parse
|
||||
var str = entry?.Split('/');
|
||||
var tokenizer = entry.Tokenize('/');
|
||||
var ip = tokenizer.MoveNext() ? tokenizer.Current : null;
|
||||
var length = tokenizer.MoveNext() ? tokenizer.Current : null;
|
||||
|
||||
if (str?.Length == 2)
|
||||
if (
|
||||
length != null &&
|
||||
IPAddress.TryParse(ip, out var cidrPrefix) &&
|
||||
int.TryParse(length, out var cidrLength)
|
||||
)
|
||||
{
|
||||
if (IPAddress.TryParse(str[0], out var cidrPrefix))
|
||||
{
|
||||
if (int.TryParse(str[1], out var cidrLength))
|
||||
{
|
||||
return new CIDRFirewallEntry(cidrPrefix, cidrLength);
|
||||
}
|
||||
}
|
||||
return new CIDRFirewallEntry(cidrPrefix, cidrLength);
|
||||
}
|
||||
|
||||
return new WildcardIPFirewallEntry(entry);
|
||||
}
|
||||
|
||||
public static void RemoveAt(int index)
|
||||
{
|
||||
List.RemoveAt(index);
|
||||
Save();
|
||||
}
|
||||
|
||||
public static void Remove(object obj)
|
||||
{
|
||||
var entry = ToFirewallEntry(obj);
|
||||
|
||||
if (entry != null)
|
||||
{
|
||||
List.Remove(entry);
|
||||
Set.Remove(entry);
|
||||
Save();
|
||||
}
|
||||
}
|
||||
|
||||
public static void Add(object obj)
|
||||
{
|
||||
if (obj is IPAddress address)
|
||||
{
|
||||
Add(address);
|
||||
}
|
||||
else if (obj is string s)
|
||||
{
|
||||
Add(s);
|
||||
}
|
||||
else if (obj is IFirewallEntry entry)
|
||||
{
|
||||
Add(entry);
|
||||
}
|
||||
Add(ToFirewallEntry(obj));
|
||||
}
|
||||
|
||||
public static void Add(IFirewallEntry entry)
|
||||
{
|
||||
if (!List.Contains(entry))
|
||||
{
|
||||
List.Add(entry);
|
||||
}
|
||||
|
||||
Set.Add(entry);
|
||||
Save();
|
||||
}
|
||||
|
||||
public static void Add(string pattern)
|
||||
{
|
||||
var entry = ToFirewallEntry(pattern);
|
||||
|
||||
if (!List.Contains(entry))
|
||||
{
|
||||
List.Add(entry);
|
||||
}
|
||||
|
||||
Save();
|
||||
Add(ToFirewallEntry(pattern));
|
||||
}
|
||||
|
||||
public static void Add(IPAddress ip)
|
||||
{
|
||||
IFirewallEntry entry = new IPFirewallEntry(ip);
|
||||
|
||||
if (!List.Contains(entry))
|
||||
{
|
||||
List.Add(entry);
|
||||
}
|
||||
|
||||
Save();
|
||||
Add(ToFirewallEntry(ip));
|
||||
}
|
||||
|
||||
public static void Save()
|
||||
{
|
||||
var path = "firewall.cfg";
|
||||
|
||||
using var op = new StreamWriter(path);
|
||||
for (var i = 0; i < List.Count; ++i)
|
||||
using var op = new StreamWriter(firewallConfigPath);
|
||||
foreach (var entry in Set)
|
||||
{
|
||||
op.WriteLine(List[i]);
|
||||
op.WriteLine(entry);
|
||||
}
|
||||
}
|
||||
|
||||
public static bool IsBlocked(IPAddress ip)
|
||||
{
|
||||
for (var i = 0; i < List.Count; i++)
|
||||
foreach (var entry in Set)
|
||||
{
|
||||
if (List[i].IsBlocked(ip))
|
||||
if (entry.IsBlocked(ip))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
@ -189,24 +146,13 @@ namespace Server
|
|||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj is IPAddress)
|
||||
return obj switch
|
||||
{
|
||||
return obj.Equals(m_Address);
|
||||
}
|
||||
|
||||
if (obj is string s)
|
||||
{
|
||||
if (IPAddress.TryParse(s, out var otherAddress))
|
||||
{
|
||||
return otherAddress.Equals(m_Address);
|
||||
}
|
||||
}
|
||||
else if (obj is IPFirewallEntry entry)
|
||||
{
|
||||
return m_Address.Equals(entry.m_Address);
|
||||
}
|
||||
|
||||
return false;
|
||||
IPAddress => obj.Equals(m_Address),
|
||||
string s when IPAddress.TryParse(s, out var otherAddress) => otherAddress.Equals(m_Address),
|
||||
IPFirewallEntry entry => m_Address.Equals(entry.m_Address),
|
||||
_ => false
|
||||
};
|
||||
}
|
||||
|
||||
public override int GetHashCode() => m_Address.GetHashCode();
|
||||
|
|
@ -259,21 +205,11 @@ namespace Server
|
|||
{
|
||||
private readonly string m_Entry;
|
||||
|
||||
private bool m_Valid;
|
||||
private bool m_Valid = true;
|
||||
|
||||
public WildcardIPFirewallEntry(string entry) => m_Entry = entry;
|
||||
|
||||
public bool IsBlocked(IPAddress address)
|
||||
{
|
||||
if (!m_Valid)
|
||||
{
|
||||
return false; // Why process if it's invalid? it'll return false anyway after processing it.
|
||||
}
|
||||
|
||||
var matched = Utility.IPMatch(m_Entry, address, out var valid);
|
||||
m_Valid = valid;
|
||||
return matched;
|
||||
}
|
||||
public bool IsBlocked(IPAddress address) => m_Valid && Utility.IPMatch(m_Entry, address, out m_Valid);
|
||||
|
||||
public override string ToString() => m_Entry;
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ namespace Server.Accounting.Security
|
|||
public string EncryptPassword(string plainPassword)
|
||||
{
|
||||
var password = plainPassword.AsSpan(0, Math.Min(256, plainPassword.Length));
|
||||
var bytes = new byte[Encoding.ASCII.GetByteCount(password)];
|
||||
var bytes = GC.AllocateUninitializedArray<byte>(Encoding.ASCII.GetByteCount(password));
|
||||
Encoding.ASCII.GetBytes(password, bytes);
|
||||
|
||||
return m_MD5HashProvider.ComputeHash(bytes).ToHexString();
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ namespace Server.Accounting.Security
|
|||
public string EncryptPassword(string plainPassword)
|
||||
{
|
||||
var password = plainPassword.AsSpan(0, Math.Min(256, plainPassword.Length));
|
||||
var bytes = new byte[Encoding.ASCII.GetByteCount(password)];
|
||||
var bytes = GC.AllocateUninitializedArray<byte>(Encoding.ASCII.GetByteCount(password));
|
||||
Encoding.ASCII.GetBytes(password, bytes);
|
||||
|
||||
return m_SHA1HashProvider.ComputeHash(bytes).ToHexString();
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ namespace Server.Accounting.Security
|
|||
public string EncryptPassword(string plainPassword)
|
||||
{
|
||||
var password = plainPassword.AsSpan(0, Math.Min(256, plainPassword.Length));
|
||||
var bytes = new byte[Encoding.ASCII.GetByteCount(password)];
|
||||
var bytes = GC.AllocateUninitializedArray<byte>(Encoding.ASCII.GetByteCount(password));
|
||||
Encoding.ASCII.GetBytes(password, bytes);
|
||||
|
||||
return m_SHA2HashProvider.ComputeHash(bytes).ToHexString();
|
||||
|
|
|
|||
|
|
@ -208,7 +208,7 @@ namespace Server.Commands
|
|||
|
||||
public void GetDetails(out string command, out string argString, out string[] args)
|
||||
{
|
||||
var indexOf = Command.IndexOf(' ', StringComparison.Ordinal);
|
||||
var indexOf = Command.IndexOfOrdinal(' ');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -331,7 +331,7 @@ namespace Server.Commands
|
|||
|
||||
if (type.IsGenericType)
|
||||
{
|
||||
var index = type.Name.IndexOf('`', StringComparison.Ordinal);
|
||||
var index = type.Name.IndexOfOrdinal('`');
|
||||
|
||||
if (index > 0)
|
||||
{
|
||||
|
|
@ -406,19 +406,14 @@ namespace Server.Commands
|
|||
|
||||
public static string SanitizeType(string name)
|
||||
{
|
||||
var anonymousType = name.Contains('<', StringComparison.Ordinal);
|
||||
var anonymousType = name.ContainsOrdinal('<');
|
||||
var sb = new StringBuilder(name);
|
||||
for (var i = 0; i < ReplaceChars.Length; ++i)
|
||||
{
|
||||
sb.Replace(ReplaceChars[i], '-');
|
||||
}
|
||||
|
||||
if (anonymousType)
|
||||
{
|
||||
return $"(Anonymous-Type){sb}";
|
||||
}
|
||||
|
||||
return sb.ToString();
|
||||
return anonymousType ? $"(Anonymous-Type){sb}" : sb.ToString();
|
||||
}
|
||||
|
||||
public static string AliasForName(string name)
|
||||
|
|
@ -465,7 +460,7 @@ namespace Server.Commands
|
|||
return true;
|
||||
}
|
||||
|
||||
if (type.Namespace.StartsWith("Server", StringComparison.Ordinal))
|
||||
if (type.Namespace.StartsWithOrdinal("Server"))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -604,7 +599,7 @@ namespace Server.Commands
|
|||
if (realType?.IsGenericType == true)
|
||||
{
|
||||
FormatGeneric(realType, out _, out _, out var linkName);
|
||||
aliased = linkName.Replace("@directory@", null, StringComparison.Ordinal);
|
||||
aliased = linkName.ReplaceOrdinal("@directory@", null);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -1719,7 +1714,7 @@ namespace Server.Commands
|
|||
{
|
||||
line = line.Trim();
|
||||
|
||||
if (line.Length == 0 || line.StartsWith("#", StringComparison.Ordinal))
|
||||
if (line.Length == 0 || line.StartsWithOrdinal("#"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
@ -2030,8 +2025,8 @@ namespace Server.Commands
|
|||
var aliases = attrs.Length == 0 ? null : attrs[0] as AliasesAttribute;
|
||||
|
||||
var descString = desc.Description
|
||||
.Replace("<", "<", StringComparison.Ordinal)
|
||||
.Replace(">", ">", StringComparison.Ordinal);
|
||||
.ReplaceOrdinal("<", "<")
|
||||
.ReplaceOrdinal(">", ">");
|
||||
|
||||
list.Add(new DocCommandEntry(e.AccessLevel, e.Command, aliases?.Aliases, usage.Usage, descString));
|
||||
}
|
||||
|
|
@ -2058,8 +2053,8 @@ namespace Server.Commands
|
|||
}
|
||||
|
||||
desc = desc
|
||||
.Replace("<", "<", StringComparison.Ordinal)
|
||||
.Replace(">", ">", StringComparison.Ordinal);
|
||||
.ReplaceOrdinal("<", "<")
|
||||
.ReplaceOrdinal(">", ">");
|
||||
|
||||
if (command.Supports != CommandSupport.Single)
|
||||
{
|
||||
|
|
@ -2136,8 +2131,8 @@ namespace Server.Commands
|
|||
}
|
||||
|
||||
desc = desc
|
||||
.Replace("<", "<", StringComparison.Ordinal)
|
||||
.Replace(">", ">", StringComparison.Ordinal);
|
||||
.ReplaceOrdinal("<", "<")
|
||||
.ReplaceOrdinal(">", ">");
|
||||
|
||||
list.Add(new DocCommandEntry(command.AccessLevel, cmd, aliases, usage, desc));
|
||||
}
|
||||
|
|
@ -2237,8 +2232,8 @@ namespace Server.Commands
|
|||
html.Write(
|
||||
"<td class=\"rentry\"><b>Usage: {0}</b><br>{1}</td>",
|
||||
usage
|
||||
.Replace("<", "<", StringComparison.Ordinal)
|
||||
.Replace(">", ">", StringComparison.Ordinal),
|
||||
.ReplaceOrdinal("<", "<")
|
||||
.ReplaceOrdinal(">", ">"),
|
||||
desc
|
||||
);
|
||||
}
|
||||
|
|
@ -2247,8 +2242,8 @@ namespace Server.Commands
|
|||
html.Write(
|
||||
"<td class=\"rentry\"><b>Usage: {0}</b><br>Alias{1}: ",
|
||||
usage
|
||||
.Replace("<", "<", StringComparison.Ordinal)
|
||||
.Replace(">", ">", StringComparison.Ordinal),
|
||||
.ReplaceOrdinal("<", "<")
|
||||
.ReplaceOrdinal(">", ">"),
|
||||
aliases.Length == 1 ? "" : "es"
|
||||
);
|
||||
|
||||
|
|
@ -2567,7 +2562,7 @@ namespace Server.Commands
|
|||
if (ifaceInfo == null)
|
||||
{
|
||||
FormatGeneric(iface, out _, out _, out var linkName);
|
||||
typeHtml.Write($"<!-- DBG-2.1 -->{linkName.Replace("@directory@", null, StringComparison.Ordinal)}");
|
||||
typeHtml.Write($"<!-- DBG-2.1 -->{linkName.ReplaceOrdinal("@directory@", null)}");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -2913,7 +2908,7 @@ namespace Server.Commands
|
|||
public string FileName => m_FileName;
|
||||
public string TypeName => m_TypeName;
|
||||
|
||||
public string LinkName(string dirRoot) => m_LinkName.Replace("@directory@", dirRoot, StringComparison.Ordinal);
|
||||
public string LinkName(string dirRoot) => m_LinkName.ReplaceOrdinal("@directory@", dirRoot);
|
||||
}
|
||||
|
||||
private class SpeechEntry
|
||||
|
|
|
|||
|
|
@ -788,7 +788,7 @@ namespace Server.Commands.Generic
|
|||
var result = Properties.GetValue(e.Mobile, obj, e.GetString(i));
|
||||
|
||||
if (result == "Property not found." || result == "Property is write only." ||
|
||||
result.StartsWith("Getting this property", StringComparison.Ordinal))
|
||||
result.StartsWithOrdinal("Getting this property"))
|
||||
{
|
||||
LogFailure(result);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ namespace Server.Commands.Generic
|
|||
{
|
||||
var offset = 0;
|
||||
|
||||
if (Insensitive.Equals(e.GetString(0), "view"))
|
||||
if (e.GetString(0).InsensitiveEquals("view"))
|
||||
{
|
||||
++offset;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ namespace Server.Commands.Generic
|
|||
{
|
||||
var style = NumberStyles.Integer;
|
||||
|
||||
if (Insensitive.StartsWith(toParse, "0x"))
|
||||
if (toParse.InsensitiveStartsWith("0x"))
|
||||
{
|
||||
style = NumberStyles.HexNumber;
|
||||
toParse = toParse.Substring(2);
|
||||
|
|
@ -231,7 +231,6 @@ namespace Server.Commands.Generic
|
|||
NotEqual,
|
||||
|
||||
Contains,
|
||||
|
||||
StartsWith,
|
||||
EndsWith
|
||||
}
|
||||
|
|
@ -260,39 +259,74 @@ namespace Server.Commands.Generic
|
|||
{
|
||||
var inverse = false;
|
||||
|
||||
Type type = m_IgnoreCase ? typeof(InsensitiveStringHelpers) : typeof(OrdinalStringHelpers);
|
||||
string methodName;
|
||||
|
||||
switch (m_Operator)
|
||||
{
|
||||
case StringOperator.Equal:
|
||||
methodName = "Equals";
|
||||
break;
|
||||
|
||||
case StringOperator.NotEqual:
|
||||
methodName = "Equals";
|
||||
inverse = true;
|
||||
break;
|
||||
{
|
||||
inverse = true;
|
||||
goto case StringOperator.Equal;
|
||||
}
|
||||
case StringOperator.Equal:
|
||||
{
|
||||
if (m_IgnoreCase)
|
||||
{
|
||||
methodName = "InsensitiveEquals";
|
||||
}
|
||||
else
|
||||
{
|
||||
methodName = "EqualsOrdinal";
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case StringOperator.Contains:
|
||||
methodName = "Contains";
|
||||
break;
|
||||
{
|
||||
if (m_IgnoreCase)
|
||||
{
|
||||
methodName = "InsensitiveContains";
|
||||
}
|
||||
else
|
||||
{
|
||||
methodName = "ContainsOrdinal";
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case StringOperator.StartsWith:
|
||||
methodName = "StartsWith";
|
||||
break;
|
||||
{
|
||||
if (m_IgnoreCase)
|
||||
{
|
||||
methodName = "InsensitiveStartsWith";
|
||||
}
|
||||
else
|
||||
{
|
||||
methodName = "StartsWithOrdinal";
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case StringOperator.EndsWith:
|
||||
methodName = "EndsWith";
|
||||
break;
|
||||
{
|
||||
if (m_IgnoreCase)
|
||||
{
|
||||
methodName = "InsensitiveEndsWith";
|
||||
}
|
||||
else
|
||||
{
|
||||
methodName = "EndsWithOrdinal";
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
throw new InvalidOperationException("Invalid string comparison operator.");
|
||||
}
|
||||
|
||||
if (m_IgnoreCase || methodName == "Equals")
|
||||
if (m_Operator == StringOperator.Equal || m_Operator == StringOperator.NotEqual)
|
||||
{
|
||||
var type = m_IgnoreCase ? typeof(Insensitive) : typeof(string);
|
||||
|
||||
emitter.BeginCall(
|
||||
type.GetMethod(
|
||||
methodName,
|
||||
|
|
@ -334,7 +368,7 @@ namespace Server.Commands.Generic
|
|||
emitter.LoadLocal(temp);
|
||||
|
||||
emitter.BeginCall(
|
||||
typeof(string).GetMethod(
|
||||
type.GetMethod(
|
||||
methodName,
|
||||
BindingFlags.Public | BindingFlags.Instance,
|
||||
null,
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ namespace Server.Commands.Generic
|
|||
throw new Exception("Invalid ordering syntax.");
|
||||
}
|
||||
|
||||
if (Insensitive.Equals(arguments[offset], "by"))
|
||||
if (arguments[offset].InsensitiveEquals("by"))
|
||||
{
|
||||
++offset;
|
||||
--size;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Server.Buffers;
|
||||
|
||||
namespace Server.Commands.Generic
|
||||
{
|
||||
|
|
@ -185,7 +186,7 @@ namespace Server.Commands.Generic
|
|||
|
||||
// NOTE: this does not preserve the case where quotation marks are used on a single word
|
||||
|
||||
var sb = new StringBuilder();
|
||||
using var sb = new ValueStringBuilder(stackalloc char[64]);
|
||||
|
||||
for (var i = 0; i < args.Length; ++i)
|
||||
{
|
||||
|
|
@ -194,7 +195,7 @@ namespace Server.Commands.Generic
|
|||
sb.Append(' ');
|
||||
}
|
||||
|
||||
if (args[i].Contains(' ', StringComparison.Ordinal))
|
||||
if (args[i].ContainsOrdinal(' '))
|
||||
{
|
||||
sb.Append('"');
|
||||
sb.Append(args[i]);
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ namespace Server.Commands.Generic
|
|||
|
||||
for (var i = 0; i < args.Length; ++i)
|
||||
{
|
||||
if (Insensitive.Equals(args[i], "where"))
|
||||
if (args[i].InsensitiveEquals("where"))
|
||||
{
|
||||
var origArgs = args;
|
||||
|
||||
|
|
@ -111,9 +111,7 @@ namespace Server.Commands.Generic
|
|||
}
|
||||
|
||||
var conditions = new List<ICondition[]>();
|
||||
var current = new List<ICondition>();
|
||||
|
||||
current.Add(TypeCondition.Default);
|
||||
var current = new List<ICondition> { TypeCondition.Default };
|
||||
|
||||
var index = 1;
|
||||
|
||||
|
|
@ -123,7 +121,7 @@ namespace Server.Commands.Generic
|
|||
|
||||
var inverse = false;
|
||||
|
||||
if (Insensitive.Equals(cur, "not") || cur == "!")
|
||||
if (cur.InsensitiveEquals("not") || cur == "!")
|
||||
{
|
||||
inverse = true;
|
||||
++index;
|
||||
|
|
@ -133,7 +131,7 @@ namespace Server.Commands.Generic
|
|||
throw new Exception("Improperly formatted object conditional.");
|
||||
}
|
||||
}
|
||||
else if (Insensitive.Equals(cur, "or") || cur == "||")
|
||||
else if (cur.InsensitiveEquals("or") || cur == "||")
|
||||
{
|
||||
if (current.Count > 1)
|
||||
{
|
||||
|
|
@ -199,7 +197,7 @@ namespace Server.Commands.Generic
|
|||
"contains" => new StringCondition(prop, inverse, StringOperator.Contains, val, false),
|
||||
"contains~" => new StringCondition(prop, inverse, StringOperator.Contains, val, true),
|
||||
"~contains" => new StringCondition(prop, inverse, StringOperator.Contains, val, true),
|
||||
_ => null
|
||||
_ => null
|
||||
};
|
||||
|
||||
if (condition == null)
|
||||
|
|
|
|||
|
|
@ -582,7 +582,7 @@ namespace Server.Commands
|
|||
continue;
|
||||
}
|
||||
|
||||
if (Insensitive.Equals(name, map.Name))
|
||||
if (name.InsensitiveEquals(map.Name))
|
||||
{
|
||||
from.Map = map;
|
||||
return;
|
||||
|
|
@ -595,7 +595,7 @@ namespace Server.Commands
|
|||
{
|
||||
var r = kvp.Value;
|
||||
|
||||
if (Insensitive.Equals(r.Name, name))
|
||||
if (r.Name.InsensitiveEquals(name))
|
||||
{
|
||||
from.Location = new Point3D(r.GoLocation);
|
||||
return;
|
||||
|
|
@ -613,7 +613,7 @@ namespace Server.Commands
|
|||
|
||||
foreach (var r in map.Regions.Values)
|
||||
{
|
||||
if (Insensitive.Equals(r.Name, name))
|
||||
if (r.Name.InsensitiveEquals(name))
|
||||
{
|
||||
from.MoveToWorld(r.GoLocation, map);
|
||||
return;
|
||||
|
|
@ -676,8 +676,8 @@ namespace Server.Commands
|
|||
e.GetInt32(0),
|
||||
e.GetInt32(4),
|
||||
e.GetInt32(1),
|
||||
Insensitive.Equals(e.GetString(5), "E"),
|
||||
Insensitive.Equals(e.GetString(2), "S")
|
||||
e.GetString(5).InsensitiveEquals("E"),
|
||||
e.GetString(2).InsensitiveEquals("S")
|
||||
);
|
||||
|
||||
if (p != Point3D.Zero)
|
||||
|
|
|
|||
|
|
@ -94,8 +94,8 @@ namespace Server.Commands
|
|||
var aliases = attrs.Length == 0 ? null : attrs[0] as AliasesAttribute;
|
||||
|
||||
var descString = desc.Description
|
||||
.Replace("<", "(", StringComparison.Ordinal)
|
||||
.Replace(">", ")", StringComparison.Ordinal);
|
||||
.ReplaceOrdinal("<", "(")
|
||||
.ReplaceOrdinal(">", ")");
|
||||
|
||||
if (aliases == null)
|
||||
{
|
||||
|
|
@ -140,8 +140,8 @@ namespace Server.Commands
|
|||
}
|
||||
|
||||
desc = desc
|
||||
.Replace("<", "(", StringComparison.Ordinal)
|
||||
.Replace(">", ")", StringComparison.Ordinal);
|
||||
.ReplaceOrdinal("<", "(")
|
||||
.ReplaceOrdinal(">", ")");
|
||||
|
||||
if (command.Supports != CommandSupport.Single)
|
||||
{
|
||||
|
|
@ -229,8 +229,8 @@ namespace Server.Commands
|
|||
}
|
||||
|
||||
desc = desc
|
||||
.Replace("<", ")", StringComparison.Ordinal)
|
||||
.Replace(">", ")", StringComparison.Ordinal);
|
||||
.ReplaceOrdinal("<", ")")
|
||||
.ReplaceOrdinal(">", ")");
|
||||
|
||||
list.Add(new CommandInfo(command.AccessLevel, cmd, aliases, usage, desc));
|
||||
|
||||
|
|
@ -413,8 +413,8 @@ namespace Server.Commands
|
|||
|
||||
sb.Append("Usage: ");
|
||||
var usage = info.Usage
|
||||
.Replace("<", "(", StringComparison.Ordinal)
|
||||
.Replace(">", ")", StringComparison.Ordinal);
|
||||
.ReplaceOrdinal("<", "(")
|
||||
.ReplaceOrdinal(">", ")");
|
||||
sb.Append(usage);
|
||||
sb.Append("<BR>");
|
||||
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; isSafe && i < m_NotSafe.Length; ++i)
|
||||
{
|
||||
isSafe = !ip.Contains(m_NotSafe[i], StringComparison.Ordinal);
|
||||
isSafe = !ip.ContainsOrdinal(m_NotSafe[i]);
|
||||
}
|
||||
|
||||
if (isSafe)
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; i < args.Length; ++i)
|
||||
{
|
||||
if (Insensitive.Equals(args[i], "set"))
|
||||
if (args[i].InsensitiveEquals("set"))
|
||||
{
|
||||
var remains = args.Length - i - 1;
|
||||
|
||||
|
|
@ -179,7 +179,7 @@ namespace Server.Commands
|
|||
|
||||
for (var j = 0; thisProp == null && j < allProps.Length; ++j)
|
||||
{
|
||||
if (Insensitive.Equals(propName, allProps[j].Name))
|
||||
if (propName.InsensitiveEquals(allProps[j].Name))
|
||||
{
|
||||
thisProp = allProps[j];
|
||||
}
|
||||
|
|
@ -300,7 +300,7 @@ namespace Server.Commands
|
|||
|
||||
object obj = value;
|
||||
|
||||
if (value?.StartsWith("0x", StringComparison.Ordinal) == true)
|
||||
if (value.StartsWithOrdinal("0x"))
|
||||
{
|
||||
if (IsSignedNumeric(type))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ namespace Server.Gumps
|
|||
var t = types[i];
|
||||
|
||||
if ((typeofMobile.IsAssignableFrom(t) || typeofItem.IsAssignableFrom(t)) &&
|
||||
t.Name.ToLower().Contains(match, StringComparison.Ordinal) && !results.Contains(t))
|
||||
t.Name.InsensitiveContains(match) && !results.Contains(t))
|
||||
{
|
||||
var ctors = t.GetConstructors();
|
||||
|
||||
|
|
|
|||
|
|
@ -304,7 +304,7 @@ namespace Server.Commands
|
|||
|
||||
var text = lines[index].Text;
|
||||
|
||||
var start = text.IndexOf('(', StringComparison.Ordinal);
|
||||
var start = text.IndexOfOrdinal('(');
|
||||
|
||||
if (start < 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -103,9 +103,9 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("LabelNumber", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("LabelNumber"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -123,9 +123,9 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("LabelNumber", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("LabelNumber"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -171,9 +171,9 @@ namespace Server.Commands
|
|||
{
|
||||
locked = true;
|
||||
}
|
||||
else if (m_Params[i].StartsWith("TargetMap", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("TargetMap"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -200,54 +200,54 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Range", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Range"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
range = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("WarningString", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("WarningString"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
messageString = m_Params[i].Substring(++indexOf);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("WarningNumber", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("WarningNumber"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
messageNumber = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("HintString", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("HintString"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
hintString = m_Params[i].Substring(++indexOf);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("HintNumber", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("HintNumber"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
hintNumber = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("ResetDelay", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("ResetDelay"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -273,36 +273,36 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Range", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Range"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
range = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("WarningString", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("WarningString"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
messageString = m_Params[i].Substring(++indexOf);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("WarningNumber", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("WarningNumber"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
messageNumber = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("ResetDelay", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("ResetDelay"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -324,9 +324,9 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("CannonDirection", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("CannonDirection"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -348,27 +348,27 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Word", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Word"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
word = m_Params[i].Substring(++indexOf);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("DestStart", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("DestStart"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
destination.Start = Point2D.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("DestEnd", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("DestEnd"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -386,9 +386,9 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; !fill && i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Content", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Content"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -417,9 +417,9 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Facing", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Facing"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -447,9 +447,9 @@ namespace Server.Commands
|
|||
{
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("SpawnLocation", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("SpawnLocation"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -515,45 +515,45 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Spawn", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Spawn"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
sp.AddEntry(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("MinDelay", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("MinDelay"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
sp.MinDelay = TimeSpan.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("MaxDelay", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("MaxDelay"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
sp.MaxDelay = TimeSpan.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("NextSpawn", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("NextSpawn"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
sp.NextSpawn = TimeSpan.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Count", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Count"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -564,36 +564,36 @@ namespace Server.Commands
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Team", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Team"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
sp.Team = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("HomeRange", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("HomeRange"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
sp.HomeRange = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Running", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Running"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
sp.Running = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Group", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Group"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -606,36 +606,36 @@ namespace Server.Commands
|
|||
{
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Description", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Description"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
rune.Description = m_Params[i].Substring(++indexOf);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Marked", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Marked"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
rune.Marked = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("TargetMap", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("TargetMap"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
rune.TargetMap = Map.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Target", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Target"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -648,108 +648,108 @@ namespace Server.Commands
|
|||
{
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Skill", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Skill"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.Skill = (SkillName)Enum.Parse(typeof(SkillName), m_Params[i].Substring(++indexOf), true);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("RequiredFixedPoint", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("RequiredFixedPoint"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.Required = Utility.ToInt32(m_Params[i].Substring(++indexOf)) * 0.1;
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Required", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Required"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.Required = Utility.ToDouble(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("MessageString", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("MessageString"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.MessageString = m_Params[i].Substring(++indexOf);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("MessageNumber", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("MessageNumber"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.MessageNumber = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("PointDest", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("PointDest"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.PointDest = Point3D.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("MapDest", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("MapDest"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.MapDest = Map.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Creatures", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Creatures"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.Creatures = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("SourceEffect", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("SourceEffect"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.SourceEffect = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("DestEffect", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("DestEffect"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.DestEffect = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("SoundID", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("SoundID"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.SoundID = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Delay", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Delay"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -767,90 +767,90 @@ namespace Server.Commands
|
|||
{
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Substring", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Substring"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
kt.Substring = m_Params[i].Substring(++indexOf);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Keyword", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Keyword"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
kt.Keyword = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Range", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Range"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
kt.Range = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("PointDest", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("PointDest"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
kt.PointDest = Point3D.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("MapDest", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("MapDest"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
kt.MapDest = Map.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Creatures", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Creatures"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
kt.Creatures = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("SourceEffect", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("SourceEffect"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
kt.SourceEffect = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("DestEffect", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("DestEffect"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
kt.DestEffect = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("SoundID", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("SoundID"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
kt.SoundID = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Delay", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Delay"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -868,63 +868,63 @@ namespace Server.Commands
|
|||
{
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("PointDest", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("PointDest"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
tp.PointDest = Point3D.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("MapDest", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("MapDest"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
tp.MapDest = Map.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Creatures", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Creatures"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
tp.Creatures = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("SourceEffect", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("SourceEffect"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
tp.SourceEffect = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("DestEffect", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("DestEffect"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
tp.DestEffect = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("SoundID", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("SoundID"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
tp.SoundID = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Delay", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Delay"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -942,9 +942,9 @@ namespace Server.Commands
|
|||
{
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("ContentType", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("ContentType"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -971,18 +971,18 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Light", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Light"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
item.Light = (LightType)Enum.Parse(typeof(LightType), m_Params[i].Substring(++indexOf), true);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Hue", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Hue"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -998,18 +998,18 @@ namespace Server.Commands
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Name", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Name"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
item.Name = m_Params[i].Substring(++indexOf);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Amount", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Amount"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -1248,7 +1248,7 @@ namespace Server.Commands
|
|||
{
|
||||
line = line.Trim();
|
||||
|
||||
if (line.Length > 0 && !line.StartsWith("#", StringComparison.Ordinal))
|
||||
if (line.Length > 0 && !line.StartsWithOrdinal("#"))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
|
@ -1261,7 +1261,7 @@ namespace Server.Commands
|
|||
|
||||
var list = new DecorationList();
|
||||
|
||||
var indexOf = line.IndexOf(' ', StringComparison.Ordinal);
|
||||
var indexOf = line.IndexOfOrdinal(' ');
|
||||
|
||||
list.m_Type = AssemblyHandler.FindFirstTypeForName(line.Substring(0, indexOf++), true);
|
||||
|
||||
|
|
@ -1271,14 +1271,14 @@ namespace Server.Commands
|
|||
}
|
||||
|
||||
line = line.Substring(indexOf);
|
||||
indexOf = line.IndexOf('(', StringComparison.Ordinal);
|
||||
indexOf = line.IndexOfOrdinal('(');
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
list.m_ItemID = Utility.ToInt32(line.Substring(0, indexOf - 1));
|
||||
|
||||
var parms = line.Substring(++indexOf);
|
||||
|
||||
if (line.EndsWith(")", StringComparison.Ordinal))
|
||||
if (line.EndsWithOrdinal(")"))
|
||||
{
|
||||
parms = parms.Substring(0, parms.Length - 1);
|
||||
}
|
||||
|
|
@ -1307,7 +1307,7 @@ namespace Server.Commands
|
|||
break;
|
||||
}
|
||||
|
||||
if (line.StartsWith("#", StringComparison.Ordinal))
|
||||
if (line.StartsWithOrdinal("#"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
@ -1337,7 +1337,7 @@ namespace Server.Commands
|
|||
|
||||
public static void Pop(out string v, ref string line)
|
||||
{
|
||||
var space = line.IndexOf(' ', StringComparison.Ordinal);
|
||||
var space = line.IndexOfOrdinal(' ');
|
||||
|
||||
if (space >= 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -100,9 +100,9 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("LabelNumber", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("LabelNumber"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -120,9 +120,9 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("LabelNumber", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("LabelNumber"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -168,9 +168,9 @@ namespace Server.Commands
|
|||
{
|
||||
locked = true;
|
||||
}
|
||||
else if (m_Params[i].StartsWith("TargetMap", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("TargetMap"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -197,54 +197,54 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Range", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Range"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
range = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("WarningString", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("WarningString"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
messageString = m_Params[i].Substring(++indexOf);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("WarningNumber", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("WarningNumber"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
messageNumber = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("HintString", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("HintString"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
hintString = m_Params[i].Substring(++indexOf);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("HintNumber", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("HintNumber"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
hintNumber = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("ResetDelay", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("ResetDelay"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -270,36 +270,36 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Range", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Range"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
range = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("WarningString", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("WarningString"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
messageString = m_Params[i].Substring(++indexOf);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("WarningNumber", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("WarningNumber"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
messageNumber = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("ResetDelay", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("ResetDelay"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -321,9 +321,9 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("CannonDirection", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("CannonDirection"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -345,27 +345,27 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Word", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Word"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
word = m_Params[i].Substring(++indexOf);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("DestStart", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("DestStart"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
destination.Start = Point2D.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("DestEnd", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("DestEnd"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -383,9 +383,9 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; !fill && i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Content", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Content"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -414,9 +414,9 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Facing", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Facing"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -444,9 +444,9 @@ namespace Server.Commands
|
|||
{
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("SpawnLocation", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("SpawnLocation"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -512,45 +512,45 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Spawn", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Spawn"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
sp.AddEntry(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("MinDelay", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("MinDelay"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
sp.MinDelay = TimeSpan.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("MaxDelay", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("MaxDelay"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
sp.MaxDelay = TimeSpan.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("NextSpawn", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("NextSpawn"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
sp.NextSpawn = TimeSpan.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Count", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Count"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -561,36 +561,36 @@ namespace Server.Commands
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Team", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Team"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
sp.Team = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("HomeRange", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("HomeRange"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
sp.HomeRange = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Running", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Running"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
sp.Running = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Group", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Group"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -603,36 +603,36 @@ namespace Server.Commands
|
|||
{
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Description", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Description"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
rune.Description = m_Params[i].Substring(++indexOf);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Marked", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Marked"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
rune.Marked = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("TargetMap", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("TargetMap"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
rune.TargetMap = Map.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Target", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Target"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -645,108 +645,108 @@ namespace Server.Commands
|
|||
{
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Skill", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Skill"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.Skill = (SkillName)Enum.Parse(typeof(SkillName), m_Params[i].Substring(++indexOf), true);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("RequiredFixedPoint", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("RequiredFixedPoint"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.Required = Utility.ToInt32(m_Params[i].Substring(++indexOf)) * 0.1;
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Required", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Required"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.Required = Utility.ToDouble(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("MessageString", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("MessageString"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.MessageString = m_Params[i].Substring(++indexOf);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("MessageNumber", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("MessageNumber"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.MessageNumber = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("PointDest", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("PointDest"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.PointDest = Point3D.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("MapDest", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("MapDest"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.MapDest = Map.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Creatures", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Creatures"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.Creatures = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("SourceEffect", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("SourceEffect"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.SourceEffect = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("DestEffect", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("DestEffect"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.DestEffect = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("SoundID", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("SoundID"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
st.SoundID = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Delay", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Delay"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -764,90 +764,90 @@ namespace Server.Commands
|
|||
{
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Substring", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Substring"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
kt.Substring = m_Params[i].Substring(++indexOf);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Keyword", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Keyword"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
kt.Keyword = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Range", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Range"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
kt.Range = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("PointDest", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("PointDest"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
kt.PointDest = Point3D.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("MapDest", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("MapDest"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
kt.MapDest = Map.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Creatures", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Creatures"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
kt.Creatures = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("SourceEffect", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("SourceEffect"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
kt.SourceEffect = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("DestEffect", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("DestEffect"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
kt.DestEffect = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("SoundID", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("SoundID"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
kt.SoundID = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Delay", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Delay"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -865,63 +865,63 @@ namespace Server.Commands
|
|||
{
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("PointDest", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("PointDest"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
tp.PointDest = Point3D.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("MapDest", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("MapDest"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
tp.MapDest = Map.Parse(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Creatures", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Creatures"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
tp.Creatures = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("SourceEffect", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("SourceEffect"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
tp.SourceEffect = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("DestEffect", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("DestEffect"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
tp.DestEffect = Utility.ToBoolean(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("SoundID", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("SoundID"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
tp.SoundID = Utility.ToInt32(m_Params[i].Substring(++indexOf));
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Delay", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Delay"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -939,9 +939,9 @@ namespace Server.Commands
|
|||
{
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("ContentType", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("ContentType"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -968,18 +968,18 @@ namespace Server.Commands
|
|||
|
||||
for (var i = 0; i < m_Params.Length; ++i)
|
||||
{
|
||||
if (m_Params[i].StartsWith("Light", StringComparison.Ordinal))
|
||||
if (m_Params[i].StartsWithOrdinal("Light"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
item.Light = (LightType)Enum.Parse(typeof(LightType), m_Params[i].Substring(++indexOf), true);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Hue", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Hue"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -995,18 +995,18 @@ namespace Server.Commands
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Name", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Name"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
item.Name = m_Params[i].Substring(++indexOf);
|
||||
}
|
||||
}
|
||||
else if (m_Params[i].StartsWith("Amount", StringComparison.Ordinal))
|
||||
else if (m_Params[i].StartsWithOrdinal("Amount"))
|
||||
{
|
||||
var indexOf = m_Params[i].IndexOf('=', StringComparison.Ordinal);
|
||||
var indexOf = m_Params[i].IndexOfOrdinal('=');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -1235,7 +1235,7 @@ namespace Server.Commands
|
|||
{
|
||||
line = line.Trim();
|
||||
|
||||
if (line.Length > 0 && !line.StartsWith("#", StringComparison.Ordinal))
|
||||
if (line.Length > 0 && !line.StartsWithOrdinal("#"))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
|
@ -1248,7 +1248,7 @@ namespace Server.Commands
|
|||
|
||||
var list = new DecorationListMag();
|
||||
|
||||
var indexOf = line.IndexOf(' ', StringComparison.Ordinal);
|
||||
var indexOf = line.IndexOfOrdinal(' ');
|
||||
|
||||
list.m_Type = AssemblyHandler.FindFirstTypeForName(line.Substring(0, indexOf++), true);
|
||||
|
||||
|
|
@ -1258,14 +1258,14 @@ namespace Server.Commands
|
|||
}
|
||||
|
||||
line = line.Substring(indexOf);
|
||||
indexOf = line.IndexOf('(', StringComparison.Ordinal);
|
||||
indexOf = line.IndexOfOrdinal('(');
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
list.m_ItemID = Utility.ToInt32(line.Substring(0, indexOf - 1));
|
||||
|
||||
var parms = line.Substring(++indexOf);
|
||||
|
||||
if (line.EndsWith(")", StringComparison.Ordinal))
|
||||
if (line.EndsWithOrdinal(")"))
|
||||
{
|
||||
parms = parms.Substring(0, parms.Length - 1);
|
||||
}
|
||||
|
|
@ -1294,7 +1294,7 @@ namespace Server.Commands
|
|||
break;
|
||||
}
|
||||
|
||||
if (line.StartsWith("#", StringComparison.Ordinal))
|
||||
if (line.StartsWithOrdinal("#"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
@ -1324,7 +1324,7 @@ namespace Server.Commands
|
|||
|
||||
public void Pop(out string v, ref string line)
|
||||
{
|
||||
var space = line.IndexOf(' ', StringComparison.Ordinal);
|
||||
var space = line.IndexOfOrdinal(' ');
|
||||
|
||||
if (space >= 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ namespace Server.Commands
|
|||
}
|
||||
}
|
||||
|
||||
private static bool CIEqual(string l, string r) => Insensitive.Equals(l, r);
|
||||
private static bool CIEqual(string l, string r) => l.InsensitiveEquals(r);
|
||||
|
||||
public static CPA GetCPA(PropertyInfo p)
|
||||
{
|
||||
|
|
@ -254,7 +254,7 @@ namespace Server.Commands
|
|||
{
|
||||
var valueString = args[1 + i * 2];
|
||||
|
||||
if (valueString.StartsWith("0x", StringComparison.Ordinal))
|
||||
if (valueString.StartsWithOrdinal("0x"))
|
||||
{
|
||||
realValues[i] = Convert.ToInt32(valueString.Substring(2), 16);
|
||||
}
|
||||
|
|
@ -483,7 +483,7 @@ namespace Server.Commands
|
|||
{
|
||||
toSet = null;
|
||||
}
|
||||
else if (value.StartsWith("0x", StringComparison.Ordinal) && IsNumeric(type))
|
||||
else if (value.StartsWithOrdinal("0x") && IsNumeric(type))
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ namespace Server.Commands
|
|||
|
||||
Item sign;
|
||||
|
||||
if (name.StartsWith("#", StringComparison.Ordinal))
|
||||
if (name.StartsWithOrdinal("#"))
|
||||
{
|
||||
sign = new LocalizedSign(itemID, Utility.ToInt32(name.Substring(1)));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Server.Commands;
|
||||
|
|
@ -715,7 +716,7 @@ namespace Server
|
|||
|
||||
if (m_Buffer == null || length > m_Buffer.Length)
|
||||
{
|
||||
m_Buffer = new byte[length];
|
||||
m_Buffer = GC.AllocateUninitializedArray<byte>(length);
|
||||
}
|
||||
|
||||
mulStream.Read(m_Buffer, 0, length);
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ namespace Server.Engines.BulkOrders
|
|||
|
||||
while ((line = ip.ReadLine()) != null)
|
||||
{
|
||||
if (line.Length == 0 || line.StartsWith("#", StringComparison.Ordinal))
|
||||
if (line.Length == 0 || line.StartsWithOrdinal("#"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ namespace Server.Engines.Chat
|
|||
|
||||
public bool IsVoiced(ChatUser user) => m_Voices.Contains(user);
|
||||
|
||||
public bool ValidatePassword(string password) => m_Password == null || Insensitive.Equals(m_Password, password);
|
||||
public bool ValidatePassword(string password) => m_Password == null || m_Password.InsensitiveEquals(password);
|
||||
|
||||
public bool ValidateModerator(ChatUser user)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ namespace Server.Engines.Chat
|
|||
|
||||
public static void PrivateMessage(ChatUser from, Channel channel, string param)
|
||||
{
|
||||
var indexOf = param.IndexOf(' ', StringComparison.Ordinal);
|
||||
var indexOf = param.IndexOfOrdinal(' ');
|
||||
|
||||
var name = param.Substring(0, indexOf);
|
||||
var text = param.Substring(indexOf + 1);
|
||||
|
|
@ -173,7 +173,7 @@ namespace Server.Engines.Chat
|
|||
string name;
|
||||
string password = null;
|
||||
|
||||
var start = param.IndexOf('\"', StringComparison.Ordinal);
|
||||
var start = param.IndexOfOrdinal('\"');
|
||||
|
||||
if (start >= 0)
|
||||
{
|
||||
|
|
@ -191,7 +191,7 @@ namespace Server.Engines.Chat
|
|||
}
|
||||
else
|
||||
{
|
||||
var indexOf = param.IndexOf(' ', StringComparison.Ordinal);
|
||||
var indexOf = param.IndexOfOrdinal(' ');
|
||||
|
||||
if (indexOf >= 0)
|
||||
{
|
||||
|
|
@ -228,7 +228,7 @@ namespace Server.Engines.Chat
|
|||
string name;
|
||||
string password = null;
|
||||
|
||||
var start = param.IndexOf('{', StringComparison.Ordinal);
|
||||
var start = param.IndexOfOrdinal('{');
|
||||
|
||||
if (start >= 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1396,7 +1396,7 @@ namespace Server.Engines.ConPVP
|
|||
return;
|
||||
}
|
||||
|
||||
if (Insensitive.Contains(e.Speech, "i wish to duel"))
|
||||
if (e.Speech.InsensitiveContains("i wish to duel"))
|
||||
{
|
||||
if (!pm.CheckAlive())
|
||||
{
|
||||
|
|
@ -1432,7 +1432,7 @@ namespace Server.Engines.ConPVP
|
|||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
else if (Insensitive.Equals(e.Speech, "change arena preferences"))
|
||||
else if (e.Speech.InsensitiveEquals("change arena preferences"))
|
||||
{
|
||||
if (!pm.CheckAlive())
|
||||
{
|
||||
|
|
@ -1448,7 +1448,7 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (Insensitive.Equals(e.Speech, "showladder"))
|
||||
else if (e.Speech.InsensitiveEquals("showladder"))
|
||||
{
|
||||
e.Blocked = true;
|
||||
if (!pm.CheckAlive())
|
||||
|
|
@ -1487,7 +1487,7 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (Insensitive.Equals(e.Speech, "viewladder"))
|
||||
else if (e.Speech.InsensitiveEquals("viewladder"))
|
||||
{
|
||||
e.Blocked = true;
|
||||
|
||||
|
|
@ -1509,7 +1509,7 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (Insensitive.Contains(e.Speech, "i yield"))
|
||||
else if (e.Speech.InsensitiveContains("i yield"))
|
||||
{
|
||||
if (!pm.CheckAlive())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -122,7 +122,10 @@ namespace Server.Engines.ConPVP
|
|||
{
|
||||
for (var i = 0; i < entries.Count; ++i)
|
||||
{
|
||||
var teamInfo = entries[i] as DDTeamInfo;
|
||||
if (entries[i] is not DDTeamInfo teamInfo)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
AddImage(30, 70 + i * 75, 10152);
|
||||
AddImage(30, 85 + i * 75, 10151);
|
||||
|
|
@ -884,7 +887,7 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
|
||||
if (i == winner.TeamID)
|
||||
if (i == winner?.TeamID)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
@ -898,7 +901,10 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
}
|
||||
|
||||
m_Context.Finish(m_Context.Participants[winner.TeamID]);
|
||||
if (winner != null)
|
||||
{
|
||||
m_Context.Finish(m_Context.Participants[winner.TeamID]);
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnStop()
|
||||
|
|
|
|||
|
|
@ -279,7 +279,7 @@ namespace Server.Engines.ConPVP
|
|||
AddPage(0);
|
||||
AddBackground(0, 0, 300, 300, 9380);
|
||||
|
||||
var pList = m_List?.CastListCovariant<object, TourneyParticipant>()
|
||||
var pList = m_List?.SafeConvertList<object, TourneyParticipant>()
|
||||
?? new List<TourneyParticipant>(tourney.Participants);
|
||||
|
||||
AddLeftArrow(25, 11, ToButtonID(0, 0));
|
||||
|
|
@ -412,10 +412,6 @@ namespace Server.Engines.ConPVP
|
|||
AddLeftArrow(25, 11, ToButtonID(0, 0));
|
||||
AddHtml(25, 35, 250, 20, Center("Rounds"));
|
||||
|
||||
// List<PyramidLevel> levelsList = m_List != null
|
||||
// ? Utility.CastListCovariant<object, PyramidLevel>(m_List)
|
||||
// : new List<PyramidLevel>(tourney.Pyramid.Levels);
|
||||
|
||||
StartPage(out var index, out var count, out var y, 12);
|
||||
|
||||
for (var i = 0; i < count; ++i, y += 18)
|
||||
|
|
@ -439,7 +435,7 @@ namespace Server.Engines.ConPVP
|
|||
}
|
||||
|
||||
var matchesList = m_List != null
|
||||
? m_List.CastListCovariant<object, TourneyMatch>()
|
||||
? m_List.SafeConvertList<object, TourneyMatch>()
|
||||
: new List<TourneyMatch>(level.Matches);
|
||||
|
||||
AddRightArrow(
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ namespace Server.Ethics
|
|||
continue;
|
||||
}
|
||||
|
||||
if (!Insensitive.Equals(ethic.Definition.JoinPhrase.String, e.Speech))
|
||||
if (!ethic.Definition.JoinPhrase.String.InsensitiveEquals(e.Speech))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
@ -185,7 +185,7 @@ namespace Server.Ethics
|
|||
{
|
||||
var power = ethic.Definition.Powers[i];
|
||||
|
||||
if (!Insensitive.Equals(power.Definition.Phrase.String, e.Speech))
|
||||
if (!power.Definition.Phrase.String.InsensitiveEquals(e.Speech))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1277,7 +1277,7 @@ namespace Server.Factions
|
|||
{
|
||||
var faction = factions[i];
|
||||
|
||||
if (Insensitive.Equals(faction.Definition.FriendlyName, name))
|
||||
if (faction.Definition.FriendlyName.InsensitiveEquals(name))
|
||||
{
|
||||
return faction;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -536,7 +536,7 @@ namespace Server.Factions
|
|||
{
|
||||
var town = towns[i];
|
||||
|
||||
if (Insensitive.Equals(town.Definition.FriendlyName, name))
|
||||
if (town.Definition.FriendlyName.InsensitiveEquals(name))
|
||||
{
|
||||
return town;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -205,7 +205,7 @@ namespace Server.Factions
|
|||
{
|
||||
var name = Name;
|
||||
|
||||
return name != null && Insensitive.StartsWith(speech, name);
|
||||
return name != null && speech.InsensitiveStartsWith(name);
|
||||
}
|
||||
|
||||
public override void OnSpeech(SpeechEventArgs e)
|
||||
|
|
@ -216,7 +216,7 @@ namespace Server.Factions
|
|||
|
||||
if (!e.Handled && InRange(from, ListenRange) && from.Alive)
|
||||
{
|
||||
if (e.HasKeyword(0xE6) && (Insensitive.Equals(e.Speech, "orders") || WasNamed(e.Speech))) // *orders*
|
||||
if (e.HasKeyword(0xE6) && (e.Speech.InsensitiveEquals("orders") || WasNamed(e.Speech))) // *orders*
|
||||
{
|
||||
if (m_Town?.IsSheriff(from) != true)
|
||||
{
|
||||
|
|
@ -240,15 +240,15 @@ namespace Server.Factions
|
|||
var understood = true;
|
||||
ReactionType newType = 0;
|
||||
|
||||
if (Insensitive.Contains(e.Speech, "attack"))
|
||||
if (e.Speech.InsensitiveContains("attack"))
|
||||
{
|
||||
newType = ReactionType.Attack;
|
||||
}
|
||||
else if (Insensitive.Contains(e.Speech, "warn"))
|
||||
else if (e.Speech.InsensitiveContains("warn"))
|
||||
{
|
||||
newType = ReactionType.Warn;
|
||||
}
|
||||
else if (Insensitive.Contains(e.Speech, "ignore"))
|
||||
else if (e.Speech.InsensitiveContains("ignore"))
|
||||
{
|
||||
newType = ReactionType.Ignore;
|
||||
}
|
||||
|
|
@ -261,7 +261,7 @@ namespace Server.Factions
|
|||
{
|
||||
understood = false;
|
||||
|
||||
if (Insensitive.Contains(e.Speech, "civil"))
|
||||
if (e.Speech.InsensitiveContains("civil"))
|
||||
{
|
||||
ChangeReaction(null, newType);
|
||||
understood = true;
|
||||
|
|
@ -273,14 +273,14 @@ namespace Server.Factions
|
|||
{
|
||||
var faction = factions[i];
|
||||
|
||||
if (faction != m_Faction && Insensitive.Contains(e.Speech, faction.Definition.Keyword))
|
||||
if (faction != m_Faction && e.Speech.InsensitiveContains(faction.Definition.Keyword))
|
||||
{
|
||||
ChangeReaction(faction, newType);
|
||||
understood = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (Insensitive.Contains(e.Speech, "patrol"))
|
||||
else if (e.Speech.InsensitiveContains("patrol"))
|
||||
{
|
||||
Home = Location;
|
||||
RangeHome = 6;
|
||||
|
|
@ -289,7 +289,7 @@ namespace Server.Factions
|
|||
Say(1005146); // This spot looks like it needs protection! I shall guard it with my life.
|
||||
understood = true;
|
||||
}
|
||||
else if (Insensitive.Contains(e.Speech, "follow"))
|
||||
else if (e.Speech.InsensitiveContains("follow"))
|
||||
{
|
||||
Home = Location;
|
||||
RangeHome = 6;
|
||||
|
|
|
|||
|
|
@ -188,7 +188,7 @@ namespace Server.Engines.Help
|
|||
|
||||
while ((line = ip.ReadLine()?.Trim()) != null)
|
||||
{
|
||||
if (line.Length == 0 || line.StartsWith("#", StringComparison.Ordinal))
|
||||
if (line.Length == 0 || line.StartsWithOrdinal("#"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ namespace Server.Engines.MLQuests
|
|||
{
|
||||
line = line.Trim();
|
||||
|
||||
if (line.Length == 0 || line.StartsWith("#", StringComparison.Ordinal))
|
||||
if (line.Length == 0 || line.StartsWithOrdinal("#"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -245,7 +245,7 @@ namespace Server.Movement
|
|||
{
|
||||
itemData = TileData.ItemTable[tile.ID & TileData.MaxItemValue];
|
||||
|
||||
if (m.Flying && Insensitive.Equals(itemData.Name, "hover over"))
|
||||
if (m.Flying && itemData.Name.InsensitiveEquals("hover over"))
|
||||
{
|
||||
newZ = tile.Z;
|
||||
return true;
|
||||
|
|
@ -350,7 +350,7 @@ namespace Server.Movement
|
|||
itemData = item.ItemData;
|
||||
flags = itemData.Flags;
|
||||
|
||||
if (m.Flying && Insensitive.Equals(itemData.Name, "hover over"))
|
||||
if (m.Flying && itemData.Name.InsensitiveEquals("hover over"))
|
||||
{
|
||||
newZ = item.Z;
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -519,7 +519,7 @@ namespace Server.Engines.Spawners
|
|||
|
||||
for (var j = 0; thisProp == null && j < allProps.Length; ++j)
|
||||
{
|
||||
if (Insensitive.Equals(propName, allProps[j].Name))
|
||||
if (propName.InsensitiveEquals(allProps[j].Name))
|
||||
{
|
||||
thisProp = allProps[j];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -167,7 +167,7 @@ namespace Server.Gumps
|
|||
AddLabel(150, 150, LabelHue, banned.ToString());
|
||||
|
||||
AddLabel(20, 170, LabelHue, "Firewalled:");
|
||||
AddLabel(150, 170, LabelHue, Firewall.List.Count.ToString());
|
||||
AddLabel(150, 170, LabelHue, Firewall.Set.Count.ToString());
|
||||
|
||||
AddLabel(20, 190, LabelHue, "Clients:");
|
||||
AddLabel(150, 190, LabelHue, TcpServer.Instances.Count.ToString());
|
||||
|
|
@ -196,8 +196,8 @@ namespace Server.Gumps
|
|||
AddLabel(20, 350, LabelHue, "Operating System: ");
|
||||
var os = Environment.OSVersion.ToString();
|
||||
|
||||
os = os.Replace("Microsoft", "MSFT", StringComparison.Ordinal);
|
||||
os = os.Replace("Service Pack", "SP", StringComparison.Ordinal);
|
||||
os = os.ReplaceOrdinal("Microsoft", "MSFT");
|
||||
os = os.ReplaceOrdinal("Service Pack", "SP");
|
||||
|
||||
AddLabel(150, 350, LabelHue, os);
|
||||
|
||||
|
|
@ -612,11 +612,12 @@ namespace Server.Gumps
|
|||
if (m_List == null)
|
||||
{
|
||||
sharedAccounts = GetAllSharedAccounts();
|
||||
m_List = sharedAccounts.CastListContravariant<KeyValuePair<IPAddress, List<Account>>, object>();
|
||||
// TODO: Find a better way, don't use KVPs?
|
||||
m_List = sharedAccounts.ConvertAll(kvp => (object)kvp);
|
||||
}
|
||||
else
|
||||
{
|
||||
sharedAccounts = m_List.CastListCovariant<object, KeyValuePair<IPAddress, List<Account>>>();
|
||||
sharedAccounts = m_List.SafeConvertList<object, KeyValuePair<IPAddress, List<Account>>>();
|
||||
}
|
||||
|
||||
AddLabelCropped(12, 120, 60, 20, LabelHue, "Count");
|
||||
|
|
@ -1004,11 +1005,11 @@ namespace Server.Gumps
|
|||
if (m_List == null)
|
||||
{
|
||||
ipAddresses = a.LoginIPs.ToList();
|
||||
m_List = ipAddresses.CastListContravariant<IPAddress, object>();
|
||||
m_List = ipAddresses.ToList<object>();
|
||||
}
|
||||
else
|
||||
{
|
||||
ipAddresses = m_List.CastListCovariant<object, IPAddress>();
|
||||
ipAddresses = m_List.SafeConvertList<object, IPAddress>();
|
||||
}
|
||||
|
||||
AddHtml(10, 195, 400, 20, Color(Center("Client Addresses"), LabelColor32));
|
||||
|
|
@ -1076,11 +1077,11 @@ namespace Server.Gumps
|
|||
if (m_List == null)
|
||||
{
|
||||
ipRestrictions = a.IPRestrictions.ToList();
|
||||
m_List = ipRestrictions.CastListContravariant<string, object>();
|
||||
m_List = ipRestrictions.ToList<object>();
|
||||
}
|
||||
else
|
||||
{
|
||||
ipRestrictions = m_List.CastListCovariant<object, string>();
|
||||
ipRestrictions = m_List.SafeConvertList<object, string>();
|
||||
}
|
||||
|
||||
AddHtml(10, 195, 400, 20, Color(Center("Address Restrictions"), LabelColor32));
|
||||
|
|
@ -1260,16 +1261,16 @@ namespace Server.Gumps
|
|||
{
|
||||
AddFirewallHeader();
|
||||
|
||||
List<Firewall.IFirewallEntry> firewallEntries;
|
||||
HashSet<Firewall.IFirewallEntry> firewallEntries;
|
||||
|
||||
if (m_List == null)
|
||||
{
|
||||
firewallEntries = Firewall.List;
|
||||
m_List = firewallEntries.CastListContravariant<Firewall.IFirewallEntry, object>();
|
||||
firewallEntries = Firewall.Set;
|
||||
m_List = firewallEntries.ToList<object>();
|
||||
}
|
||||
else
|
||||
{
|
||||
firewallEntries = m_List.CastListCovariant<object, Firewall.IFirewallEntry>();
|
||||
firewallEntries = m_List.SafeConvertSet<object, Firewall.IFirewallEntry>();
|
||||
}
|
||||
|
||||
AddLabelCropped(12, 120, 358, 20, LabelHue, "IP Address");
|
||||
|
|
@ -1296,17 +1297,22 @@ namespace Server.Gumps
|
|||
{
|
||||
AddLabel(12, 140, LabelHue, "The firewall list is empty.");
|
||||
}
|
||||
|
||||
for (int i = 0, index = listPage * 12;
|
||||
i < 12 && index >= 0 && index < firewallEntries.Count;
|
||||
++i, ++index)
|
||||
else
|
||||
{
|
||||
var firewallEntry = firewallEntries[index];
|
||||
var i = 0;
|
||||
var index = listPage * 12;
|
||||
foreach (var firewallEntry in firewallEntries)
|
||||
{
|
||||
if (i >= 12)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
var offset = 140 + i * 20;
|
||||
var offset = 140 + i++ * 20;
|
||||
|
||||
AddLabelCropped(12, offset, 358, 20, LabelHue, firewallEntry.ToString());
|
||||
AddButton(380, offset - 1, 0xFA5, 0xFA7, GetButtonID(6, index + 4));
|
||||
AddLabelCropped(12, offset, 358, 20, LabelHue, firewallEntry.ToString());
|
||||
AddButton(380, offset - 1, 0xFA5, 0xFA7, GetButtonID(6, index++ + 4));
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
@ -1351,11 +1357,11 @@ namespace Server.Gumps
|
|||
}
|
||||
|
||||
blockedAccts.Sort(AccountComparer.Instance);
|
||||
m_List = blockedAccts.CastListContravariant<Account, object>();
|
||||
m_List = blockedAccts.ToList<object>();
|
||||
}
|
||||
else
|
||||
{
|
||||
blockedAccts = m_List.CastListCovariant<object, Account>();
|
||||
blockedAccts = m_List.SafeConvertList<object, Account>();
|
||||
}
|
||||
|
||||
if (listPage > 0)
|
||||
|
|
@ -1968,7 +1974,7 @@ namespace Server.Gumps
|
|||
|
||||
if (m_PageType == AdminGumpPage.Accounts)
|
||||
{
|
||||
var list = m_List.CastListCovariant<object, Account>();
|
||||
var list = m_List.SafeConvertList<object, Account>();
|
||||
|
||||
if (list != null && m_State is List<Account> rads)
|
||||
{
|
||||
|
|
@ -2453,12 +2459,12 @@ namespace Server.Gumps
|
|||
var m = ns.Mobile;
|
||||
var a = ns.Account;
|
||||
|
||||
isMatch = m?.Name.ToLower().Contains(match, StringComparison.Ordinal) == true
|
||||
|| a?.Username.ToLower().Contains(match, StringComparison.Ordinal) == true;
|
||||
isMatch = m?.Name.InsensitiveContains(match) == true
|
||||
|| a?.Username.InsensitiveContains(match) == true;
|
||||
}
|
||||
else
|
||||
{
|
||||
isMatch = ns.ToString().Contains(match, StringComparison.Ordinal);
|
||||
isMatch = ns.ToString().ContainsOrdinal(match);
|
||||
}
|
||||
|
||||
if (isMatch)
|
||||
|
|
@ -2508,7 +2514,7 @@ namespace Server.Gumps
|
|||
from,
|
||||
AdminGumpPage.Clients,
|
||||
0,
|
||||
results.CastListContravariant<NetState, object>(),
|
||||
results.ToList<object>(),
|
||||
"One match found."
|
||||
)
|
||||
);
|
||||
|
|
@ -2521,7 +2527,7 @@ namespace Server.Gumps
|
|||
from,
|
||||
AdminGumpPage.Clients,
|
||||
0,
|
||||
results.CastListContravariant<NetState, object>(),
|
||||
results.ToList<object>(),
|
||||
notice ?? (results.Count == 0 ? "Nothing matched your search terms." : null)
|
||||
)
|
||||
);
|
||||
|
|
@ -2715,8 +2721,7 @@ namespace Server.Gumps
|
|||
else
|
||||
{
|
||||
results = Accounts.GetAccounts()
|
||||
.Where(acct =>
|
||||
acct.Username.ToLower().Contains(match, StringComparison.Ordinal))
|
||||
.Where(acct => acct.Username.InsensitiveContains(match))
|
||||
.ToList();
|
||||
results.Sort(AccountComparer.Instance);
|
||||
}
|
||||
|
|
@ -2741,7 +2746,7 @@ namespace Server.Gumps
|
|||
from,
|
||||
AdminGumpPage.Accounts,
|
||||
0,
|
||||
results.CastListContravariant<IAccount, object>(),
|
||||
results.ToList<object>(),
|
||||
results.Count == 0 ? "Nothing matched your search terms." : null,
|
||||
new List<object>()
|
||||
)
|
||||
|
|
@ -2869,7 +2874,7 @@ namespace Server.Gumps
|
|||
from,
|
||||
AdminGumpPage.Accounts,
|
||||
0,
|
||||
list.CastListContravariant<Account, object>(),
|
||||
list.ToList<object>(),
|
||||
null,
|
||||
new List<object>()
|
||||
)
|
||||
|
|
@ -3492,7 +3497,7 @@ namespace Server.Gumps
|
|||
from,
|
||||
AdminGumpPage.Accounts,
|
||||
0,
|
||||
kvp.Value.CastListContravariant<Account, object>(),
|
||||
kvp.Value.ToList<object>(),
|
||||
null,
|
||||
new List<object>()
|
||||
)
|
||||
|
|
@ -3525,13 +3530,13 @@ namespace Server.Gumps
|
|||
}
|
||||
else
|
||||
{
|
||||
for (var i = 0; i < Firewall.List.Count; ++i)
|
||||
foreach (var check in Firewall.Set)
|
||||
{
|
||||
var check = Firewall.List[i].ToString();
|
||||
var checkStr = check.ToString();
|
||||
|
||||
if (check?.Contains(match, StringComparison.Ordinal) == true)
|
||||
if (checkStr.ContainsOrdinal(match))
|
||||
{
|
||||
results.Add(Firewall.List[i]);
|
||||
results.Add(check);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3958,7 +3963,7 @@ namespace Server.Gumps
|
|||
from,
|
||||
AdminGumpPage.Accounts,
|
||||
0,
|
||||
list.CastListContravariant<Account, object>(),
|
||||
list.ToList<object>(),
|
||||
null,
|
||||
new List<object>()
|
||||
)
|
||||
|
|
@ -4222,7 +4227,7 @@ namespace Server.Gumps
|
|||
return -1;
|
||||
}
|
||||
|
||||
return aMob.AccessLevel < bMob.AccessLevel ? 1 : Insensitive.Compare(aMob.Name, bMob.Name);
|
||||
return aMob.AccessLevel < bMob.AccessLevel ? 1 : aMob.Name.InsensitiveCompare(bMob.Name);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -4265,7 +4270,7 @@ namespace Server.Gumps
|
|||
return -1;
|
||||
}
|
||||
|
||||
return aLevel < bLevel ? 1 : Insensitive.Compare(x.Username, y.Username);
|
||||
return aLevel < bLevel ? 1 : x.Username.InsensitiveCompare(y.Username);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
using System.Linq;
|
||||
using Server.Guilds;
|
||||
using Server.Prompts;
|
||||
|
||||
|
|
@ -36,7 +37,7 @@ namespace Server.Gumps
|
|||
|
||||
if (text.Length >= 3)
|
||||
{
|
||||
var guilds = BaseGuild.Search(text).CastListCovariant<BaseGuild, Guild>();
|
||||
var guilds = BaseGuild.Search(text).SafeConvertList<BaseGuild, Guild>();
|
||||
|
||||
GuildGump.EnsureClosed(m_Mobile);
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ namespace Server.Gumps
|
|||
|
||||
Design();
|
||||
|
||||
m_List = new List<Guild>(list);
|
||||
m_List = list;
|
||||
|
||||
for (var i = 0; i < m_List.Count; ++i)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ namespace Server.Guilds
|
|||
|
||||
for (var i = 0; i < disallowed.Length; i++)
|
||||
{
|
||||
if (s.IndexOf(disallowed[i], StringComparison.Ordinal) != -1)
|
||||
if (s.IndexOfOrdinal(disallowed[i]) != -1)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ namespace Server.Guilds
|
|||
"",
|
||||
0,
|
||||
GuildDisplayType.All,
|
||||
World.Guilds.Values.CastListCovariant<BaseGuild, Guild>(),
|
||||
World.Guilds.Values.SafeConvertList<BaseGuild, Guild>(),
|
||||
1063136 + (int)GuildDisplayType.All
|
||||
)
|
||||
{
|
||||
|
|
@ -44,7 +44,7 @@ namespace Server.Guilds
|
|||
filter,
|
||||
startNumber,
|
||||
display,
|
||||
World.Guilds.Values.CastListCovariant<BaseGuild, Guild>(),
|
||||
World.Guilds.Values.SafeConvertList<BaseGuild, Guild>(),
|
||||
1063136 + (int)display
|
||||
)
|
||||
{
|
||||
|
|
@ -224,7 +224,7 @@ namespace Server.Guilds
|
|||
}
|
||||
}
|
||||
|
||||
return !(Insensitive.Contains(g.Name, filter) || Insensitive.Contains(g.Abbreviation, filter));
|
||||
return !(g.Name.InsensitiveContains(filter) || g.Abbreviation.InsensitiveContains(filter));
|
||||
}
|
||||
|
||||
public override Gump GetResentGump(
|
||||
|
|
@ -285,7 +285,7 @@ namespace Server.Guilds
|
|||
return 1;
|
||||
}
|
||||
|
||||
return Insensitive.Compare(x.Name, y.Name);
|
||||
return x.Name.InsensitiveCompare(y.Name);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -365,7 +365,7 @@ namespace Server.Guilds
|
|||
return 1;
|
||||
}
|
||||
|
||||
return Insensitive.Compare(x.Abbreviation, y.Abbreviation);
|
||||
return x.Abbreviation.InsensitiveCompare(y.Abbreviation);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -277,7 +277,7 @@ namespace Server.Guilds
|
|||
}
|
||||
else
|
||||
{
|
||||
if (Insensitive.Equals(title, "none"))
|
||||
if (title.InsensitiveEquals("none"))
|
||||
{
|
||||
m_Member.GuildTitle = null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ namespace Server.Guilds
|
|||
return true;
|
||||
}
|
||||
|
||||
return !Insensitive.Contains(pm.Name, filter);
|
||||
return !pm.Name.InsensitiveContains(filter);
|
||||
}
|
||||
|
||||
public override Gump GetResentGump(
|
||||
|
|
@ -208,7 +208,7 @@ namespace Server.Guilds
|
|||
return 1;
|
||||
}
|
||||
|
||||
return Insensitive.Compare(x.Name, y.Name);
|
||||
return x.Name.InsensitiveCompare(y.Name);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -276,7 +276,7 @@ namespace Server.Guilds
|
|||
return 1;
|
||||
}
|
||||
|
||||
return Insensitive.Compare(x.GuildTitle, y.GuildTitle);
|
||||
return x.GuildTitle.InsensitiveCompare(y.GuildTitle);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -242,7 +242,7 @@ namespace Server.Gumps
|
|||
|
||||
if (m_House.Sign != null)
|
||||
{
|
||||
var lines = Wrap(m_House.Sign.GetName());
|
||||
var lines = m_House.Sign.GetName().Wrap(10, 6);
|
||||
|
||||
for (int i = 0, y = (101 - lines.Count * 14) / 2; i < lines.Count; ++i, y += 14)
|
||||
{
|
||||
|
|
@ -402,75 +402,6 @@ namespace Server.Gumps
|
|||
}
|
||||
}
|
||||
|
||||
private List<string> Wrap(string value)
|
||||
{
|
||||
if (value == null || (value = value.Trim()).Length <= 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var values = value.Split(' ');
|
||||
var list = new List<string>();
|
||||
var current = "";
|
||||
|
||||
for (var i = 0; i < values.Length; ++i)
|
||||
{
|
||||
var val = values[i];
|
||||
|
||||
var v = current.Length == 0 ? val : $"{current} {val}";
|
||||
|
||||
if (v.Length < 10)
|
||||
{
|
||||
current = v;
|
||||
}
|
||||
else if (v.Length == 10)
|
||||
{
|
||||
list.Add(v);
|
||||
|
||||
if (list.Count == 6)
|
||||
{
|
||||
return list;
|
||||
}
|
||||
|
||||
current = "";
|
||||
}
|
||||
else if (val.Length <= 10)
|
||||
{
|
||||
list.Add(current);
|
||||
|
||||
if (list.Count == 6)
|
||||
{
|
||||
return list;
|
||||
}
|
||||
|
||||
current = val;
|
||||
}
|
||||
else
|
||||
{
|
||||
while (v.Length >= 10)
|
||||
{
|
||||
list.Add(v.Substring(0, 10));
|
||||
|
||||
if (list.Count == 6)
|
||||
{
|
||||
return list;
|
||||
}
|
||||
|
||||
v = v.Substring(10);
|
||||
}
|
||||
|
||||
current = v;
|
||||
}
|
||||
}
|
||||
|
||||
if (current.Length > 0)
|
||||
{
|
||||
list.Add(current);
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
private string GetOwnerName()
|
||||
{
|
||||
var m = m_House.Owner;
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ namespace Server.Gumps
|
|||
|
||||
if (m_House.Sign != null)
|
||||
{
|
||||
var lines = Wrap(m_House.Sign.GetName());
|
||||
var lines = m_House.Sign.GetName().Wrap(10, 6);
|
||||
|
||||
for (int i = 0, y = (114 - lines.Count * 14) / 2; i < lines.Count; ++i, y += 14)
|
||||
{
|
||||
|
|
@ -1739,74 +1739,5 @@ namespace Server.Gumps
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
private List<string> Wrap(string value)
|
||||
{
|
||||
if (value == null || (value = value.Trim()).Length <= 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var values = value.Split(' ');
|
||||
var list = new List<string>();
|
||||
var current = "";
|
||||
|
||||
for (var i = 0; i < values.Length; ++i)
|
||||
{
|
||||
var val = values[i];
|
||||
|
||||
var v = current.Length == 0 ? val : $"{current} {val}";
|
||||
|
||||
if (v.Length < 10)
|
||||
{
|
||||
current = v;
|
||||
}
|
||||
else if (v.Length == 10)
|
||||
{
|
||||
list.Add(v);
|
||||
|
||||
if (list.Count == 6)
|
||||
{
|
||||
return list;
|
||||
}
|
||||
|
||||
current = "";
|
||||
}
|
||||
else if (val.Length <= 10)
|
||||
{
|
||||
list.Add(current);
|
||||
|
||||
if (list.Count == 6)
|
||||
{
|
||||
return list;
|
||||
}
|
||||
|
||||
current = val;
|
||||
}
|
||||
else
|
||||
{
|
||||
while (v.Length >= 10)
|
||||
{
|
||||
list.Add(v.Substring(0, 10));
|
||||
|
||||
if (list.Count == 6)
|
||||
{
|
||||
return list;
|
||||
}
|
||||
|
||||
v = v.Substring(10);
|
||||
}
|
||||
|
||||
current = v;
|
||||
}
|
||||
}
|
||||
|
||||
if (current.Length > 0)
|
||||
{
|
||||
list.Add(current);
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -757,7 +757,7 @@ namespace Server.Gumps
|
|||
if (t == typeof(byte) || t == typeof(sbyte) || t == typeof(short) || t == typeof(ushort) || t == typeof(int) ||
|
||||
t == typeof(uint) || t == typeof(long) || t == typeof(ulong))
|
||||
{
|
||||
if (s.StartsWith("0x", StringComparison.Ordinal))
|
||||
if (s.StartsWithOrdinal("0x"))
|
||||
{
|
||||
if (t == typeof(ulong) || t == typeof(uint) || t == typeof(ushort) || t == typeof(byte))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -310,7 +310,7 @@ namespace Server.Gumps
|
|||
|
||||
for (var i = 0; i < m_GroupNames.Length; ++i)
|
||||
{
|
||||
if (DisplayName.StartsWith(m_GroupNames[i], StringComparison.Ordinal))
|
||||
if (DisplayName.StartsWithOrdinal(m_GroupNames[i]))
|
||||
{
|
||||
DisplayName = DisplayName.Substring(m_GroupNames[i].Length);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ namespace Server.Gumps
|
|||
if (m != null && (m == owner || !m.Hidden || owner.AccessLevel >= m.AccessLevel ||
|
||||
m is PlayerMobile mobile && mobile.VisibilityList.Contains(owner)))
|
||||
{
|
||||
if (filter != null && m.Name?.ToLower().Contains(filter, StringComparison.Ordinal) != true)
|
||||
if (filter != null && !m.Name.InsensitiveContains(filter))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
@ -330,7 +330,7 @@ namespace Server.Gumps
|
|||
return -1;
|
||||
}
|
||||
|
||||
return x.AccessLevel < y.AccessLevel ? 1 : Insensitive.Compare(x.Name, y.Name);
|
||||
return x.AccessLevel < y.AccessLevel ? 1 : x.Name.InsensitiveCompare(y.Name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ namespace Server.Engines.Events
|
|||
|
||||
private static void EventSink_Speech(SpeechEventArgs e)
|
||||
{
|
||||
if (Insensitive.Contains(e.Speech, "trick or treat"))
|
||||
if (e.Speech.InsensitiveContains("trick or treat"))
|
||||
{
|
||||
e.Mobile.Target = new TrickOrTreatTarget();
|
||||
|
||||
|
|
|
|||
|
|
@ -81,17 +81,17 @@ namespace Server.Items
|
|||
|
||||
if (format != null)
|
||||
{
|
||||
if (format.StartsWith("the head of ", StringComparison.Ordinal))
|
||||
if (format.StartsWithOrdinal("the head of "))
|
||||
{
|
||||
format = format.Substring(14); // "the head of|..."
|
||||
}
|
||||
|
||||
if (format.EndsWith(", taken in a duel", StringComparison.Ordinal))
|
||||
if (format.EndsWithOrdinal(", taken in a duel"))
|
||||
{
|
||||
format = format.Substring(0, format.Length - ", taken in a duel".Length);
|
||||
HeadType = HeadType.Duel;
|
||||
}
|
||||
else if (format.EndsWith(", taken in a tournament", StringComparison.Ordinal))
|
||||
else if (format.EndsWithOrdinal(", taken in a tournament"))
|
||||
{
|
||||
format = format.Substring(0, format.Length - ", taken in a tournament".Length);
|
||||
HeadType = HeadType.Tournament;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using Server.Buffers;
|
||||
using Server.ContextMenus;
|
||||
using Server.Gumps;
|
||||
using Server.Multis;
|
||||
|
|
@ -119,7 +120,7 @@ namespace Server.Items
|
|||
{
|
||||
get
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
using var sb = new ValueStringBuilder(stackalloc char[256]);
|
||||
|
||||
foreach (var bpi in Pages)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Server.Buffers;
|
||||
using Server.Mobiles;
|
||||
using Server.Network;
|
||||
using Server.Spells;
|
||||
|
|
@ -594,7 +595,7 @@ namespace Server.Items
|
|||
{
|
||||
isMatch = true;
|
||||
}
|
||||
else if (m_Substring != null && e.Speech.ToLower().Contains(m_Substring.ToLower(), StringComparison.Ordinal))
|
||||
else if (m_Substring != null && e.Speech.InsensitiveContains(m_Substring))
|
||||
{
|
||||
isMatch = true;
|
||||
}
|
||||
|
|
@ -1189,7 +1190,7 @@ namespace Server.Items
|
|||
{
|
||||
base.GetProperties(list);
|
||||
|
||||
var props = new StringBuilder();
|
||||
using var props = new ValueStringBuilder(stackalloc char[128]);
|
||||
|
||||
if (GetFlag(ConditionFlag.DenyMounted))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -262,7 +262,7 @@ namespace Server.Gumps
|
|||
return 1;
|
||||
}
|
||||
|
||||
var result = Insensitive.Compare(x.From.Name, y.From.Name);
|
||||
var result = x.From.Name.InsensitiveCompare(y.From.Name);
|
||||
|
||||
return result == 0 ? x.Date.CompareTo(y.Date) : result;
|
||||
}
|
||||
|
|
@ -310,7 +310,7 @@ namespace Server.Gumps
|
|||
return 1;
|
||||
}
|
||||
|
||||
var result = Insensitive.Compare(a.Username, b.Username);
|
||||
var result = a.Username.InsensitiveCompare(b.Username);
|
||||
|
||||
return result == 0 ? x.Date.CompareTo(y.Date) : result;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -168,7 +168,7 @@ namespace Server.Misc
|
|||
{
|
||||
var info = new DirectoryInfo(paths[i]);
|
||||
|
||||
if (info.Name.StartsWith(match, StringComparison.Ordinal))
|
||||
if (info.Name.StartsWithOrdinal(match))
|
||||
{
|
||||
return info;
|
||||
}
|
||||
|
|
@ -182,7 +182,7 @@ namespace Server.Misc
|
|||
|
||||
private static string FindTimeStamp(string input)
|
||||
{
|
||||
var start = input.IndexOf('(', StringComparison.Ordinal);
|
||||
var start = input.IndexOfOrdinal('(');
|
||||
|
||||
if (start >= 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Server.Buffers;
|
||||
|
||||
namespace Server.Misc
|
||||
{
|
||||
|
|
@ -316,9 +317,10 @@ namespace Server.Misc
|
|||
return string.Concat(syllables);
|
||||
}
|
||||
|
||||
public string ConstructSentance(int wordCount)
|
||||
// TODO: Should be changed a preset table that is built
|
||||
public string ConstructSentence(int wordCount)
|
||||
{
|
||||
var sentance = new StringBuilder();
|
||||
using var sentence = new ValueStringBuilder(stackalloc char[256]);
|
||||
|
||||
var needUpperCase = true;
|
||||
|
||||
|
|
@ -330,56 +332,33 @@ namespace Server.Misc
|
|||
|
||||
if (random < 11)
|
||||
{
|
||||
sentance.Append(' ');
|
||||
sentence.Append(' ');
|
||||
}
|
||||
else
|
||||
{
|
||||
needUpperCase = true;
|
||||
|
||||
if (random > 13)
|
||||
{
|
||||
sentance.Append("! ");
|
||||
}
|
||||
else
|
||||
{
|
||||
sentance.Append(". ");
|
||||
}
|
||||
sentence.Append(random > 13 ? "! " : ". ");
|
||||
}
|
||||
}
|
||||
|
||||
int syllableCount;
|
||||
|
||||
if (Utility.Random(100) < 30)
|
||||
{
|
||||
syllableCount = Utility.Random(1, 5);
|
||||
}
|
||||
else
|
||||
{
|
||||
syllableCount = Utility.Random(1, 3);
|
||||
}
|
||||
var syllableCount = Utility.Random(1, Utility.Random(100) < 30 ? 5 : 3);
|
||||
|
||||
var word = ConstructWord(syllableCount);
|
||||
|
||||
sentance.Append(word);
|
||||
sentence.Append(word);
|
||||
|
||||
if (needUpperCase)
|
||||
{
|
||||
sentance.Replace(word[0], char.ToUpper(word[0]), sentance.Length - word.Length, 1);
|
||||
sentence.Replace(word[0], char.ToUpper(word[0]), sentence.Length - word.Length, 1);
|
||||
}
|
||||
|
||||
needUpperCase = false;
|
||||
}
|
||||
|
||||
if (Utility.RandomMinMax(1, 5) == 1)
|
||||
{
|
||||
sentance.Append('!');
|
||||
}
|
||||
else
|
||||
{
|
||||
sentance.Append('.');
|
||||
}
|
||||
sentence.Append(Utility.RandomMinMax(1, 5) == 1 ? '!' : '.');
|
||||
|
||||
return sentance.ToString();
|
||||
return sentence.ToString();
|
||||
}
|
||||
|
||||
public void SayRandomTranslate(Mobile mob, params string[] sentancesInEnglish)
|
||||
|
|
@ -435,44 +414,43 @@ namespace Server.Misc
|
|||
|
||||
if (keywordsFound.Count > 0)
|
||||
{
|
||||
string responseWord;
|
||||
|
||||
if (Utility.RandomBool())
|
||||
{
|
||||
responseWord = GetRandomResponseWord(keywordsFound);
|
||||
}
|
||||
else
|
||||
{
|
||||
responseWord = keywordsFound.RandomElement();
|
||||
}
|
||||
var responseWord = Utility.RandomBool() ?
|
||||
GetRandomResponseWord(keywordsFound) : keywordsFound.RandomElement();
|
||||
|
||||
var secondResponseWord = GetRandomResponseWord(keywordsFound);
|
||||
|
||||
var response = new StringBuilder();
|
||||
using var response = new ValueStringBuilder(stackalloc char[256]);
|
||||
|
||||
switch (Utility.Random(6))
|
||||
{
|
||||
default:
|
||||
case 0:
|
||||
{
|
||||
response.Append("Me ").Append(responseWord).Append('?');
|
||||
response.Append("Me ");
|
||||
response.Append(responseWord);
|
||||
response.Append('?');
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
response.Append(responseWord).Append(" thee!");
|
||||
response.Append(responseWord);
|
||||
response.Append(" thee!");
|
||||
response.Replace(responseWord[0], char.ToUpper(responseWord[0]), 0, 1);
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
response.Append(responseWord).Append('?');
|
||||
response.Append(responseWord);
|
||||
response.Append('?');
|
||||
response.Replace(responseWord[0], char.ToUpper(responseWord[0]), 0, 1);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
response.Append(responseWord).Append("! ").Append(secondResponseWord).Append('.');
|
||||
response.Append(responseWord);
|
||||
response.Append("! ");
|
||||
response.Append(secondResponseWord);
|
||||
response.Append('.');
|
||||
response.Replace(responseWord[0], char.ToUpper(responseWord[0]), 0, 1);
|
||||
response.Replace(
|
||||
secondResponseWord[0],
|
||||
|
|
@ -484,13 +462,17 @@ namespace Server.Misc
|
|||
}
|
||||
case 4:
|
||||
{
|
||||
response.Append(responseWord).Append('.');
|
||||
response.Append(responseWord);
|
||||
response.Append('.');
|
||||
response.Replace(responseWord[0], char.ToUpper(responseWord[0]), 0, 1);
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
response.Append(responseWord).Append("? ").Append(secondResponseWord).Append('.');
|
||||
response.Append(responseWord);
|
||||
response.Append("? ");
|
||||
response.Append(secondResponseWord);
|
||||
response.Append('.');
|
||||
response.Replace(responseWord[0], char.ToUpper(responseWord[0]), 0, 1);
|
||||
response.Replace(
|
||||
secondResponseWord[0],
|
||||
|
|
@ -502,16 +484,7 @@ namespace Server.Misc
|
|||
}
|
||||
}
|
||||
|
||||
var maxWords = split.Length / 2 + 1;
|
||||
|
||||
if (maxWords < 2)
|
||||
{
|
||||
maxWords = 2;
|
||||
}
|
||||
else if (maxWords > 6)
|
||||
{
|
||||
maxWords = 6;
|
||||
}
|
||||
var maxWords = Math.Clamp(split.Length / 2 + 1, 2, 6);
|
||||
|
||||
SaySentance(mob, Utility.RandomMinMax(2, maxWords));
|
||||
mob.Say(response.ToString());
|
||||
|
|
@ -617,7 +590,7 @@ namespace Server.Misc
|
|||
|
||||
public void SaySentance(Mobile mob, int wordCount)
|
||||
{
|
||||
mob.Say(ConstructSentance(wordCount));
|
||||
mob.Say(ConstructSentence(wordCount));
|
||||
mob.PlaySound(Sound);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -201,7 +201,7 @@ namespace Server.Misc
|
|||
|
||||
for (var i = 0; i < disallowed.Length; ++i)
|
||||
{
|
||||
var indexOf = name.IndexOf(disallowed[i], StringComparison.Ordinal);
|
||||
var indexOf = name.IndexOfOrdinal(disallowed[i]);
|
||||
|
||||
if (indexOf == -1)
|
||||
{
|
||||
|
|
@ -235,7 +235,7 @@ namespace Server.Misc
|
|||
|
||||
for (var i = 0; i < startDisallowed.Length; ++i)
|
||||
{
|
||||
if (name.StartsWith(startDisallowed[i], StringComparison.Ordinal))
|
||||
if (name.StartsWithOrdinal(startDisallowed[i]))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ namespace Server.Misc
|
|||
|
||||
for (var i = 0; i < disallowed.Length; i++)
|
||||
{
|
||||
if (name.IndexOf(disallowed[i], StringComparison.Ordinal) != -1)
|
||||
if (name.IndexOfOrdinal(disallowed[i]) != -1)
|
||||
{
|
||||
from.SendLocalizedMessage(1072622); // That name isn't very polite.
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -870,22 +870,22 @@ namespace Server.Items
|
|||
/// </summary>
|
||||
public static CraftResource GetFromOreInfo(OreInfo info)
|
||||
{
|
||||
if (info.Name.Contains("Spined", StringComparison.Ordinal))
|
||||
if (info.Name.ContainsOrdinal("Spined"))
|
||||
{
|
||||
return CraftResource.SpinedLeather;
|
||||
}
|
||||
|
||||
if (info.Name.Contains("Horned", StringComparison.Ordinal))
|
||||
if (info.Name.ContainsOrdinal("Horned"))
|
||||
{
|
||||
return CraftResource.HornedLeather;
|
||||
}
|
||||
|
||||
if (info.Name.Contains("Barbed", StringComparison.Ordinal))
|
||||
if (info.Name.ContainsOrdinal("Barbed"))
|
||||
{
|
||||
return CraftResource.BarbedLeather;
|
||||
}
|
||||
|
||||
if (info.Name.Contains("Leather", StringComparison.Ordinal))
|
||||
if (info.Name.ContainsOrdinal("Leather"))
|
||||
{
|
||||
return CraftResource.RegularLeather;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -393,7 +393,7 @@ namespace Server.Misc
|
|||
do
|
||||
{
|
||||
++count;
|
||||
index = title.IndexOf("<br>", index + 1, StringComparison.Ordinal);
|
||||
index = title.IndexOfOrdinal("<br>", index + 1);
|
||||
} while (index >= 0);
|
||||
|
||||
return count;
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ namespace Server
|
|||
{
|
||||
line = line.Trim();
|
||||
|
||||
if (line.Length == 0 || line.StartsWith("#", StringComparison.Ordinal))
|
||||
if (line.Length == 0 || line.StartsWithOrdinal("#"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -143,14 +143,12 @@ namespace Server.Misc
|
|||
offset = Math.Min(offset - m.Fame / 100, 0);
|
||||
}
|
||||
|
||||
if (m.Fame + offset > MaxFame)
|
||||
offset = (m.Fame + offset) switch
|
||||
{
|
||||
offset = MaxFame - m.Fame;
|
||||
}
|
||||
else if (m.Fame + offset < MinFame)
|
||||
{
|
||||
offset = MinFame - m.Fame;
|
||||
}
|
||||
> MaxFame => MaxFame - m.Fame,
|
||||
< MinFame => MinFame - m.Fame,
|
||||
_ => offset
|
||||
};
|
||||
|
||||
m.Fame += offset;
|
||||
|
||||
|
|
@ -219,14 +217,12 @@ namespace Server.Misc
|
|||
offset = Math.Min(offset - m.Karma / 100, 0);
|
||||
}
|
||||
|
||||
if (m.Karma + offset > MaxKarma)
|
||||
offset = (m.Karma + offset) switch
|
||||
{
|
||||
offset = MaxKarma - m.Karma;
|
||||
}
|
||||
else if (m.Karma + offset < MinKarma)
|
||||
{
|
||||
offset = MinKarma - m.Karma;
|
||||
}
|
||||
> MaxKarma => MaxKarma - m.Karma,
|
||||
< MinKarma => MinKarma - m.Karma,
|
||||
_ => offset
|
||||
};
|
||||
|
||||
var wasPositiveKarma = m.Karma >= 0;
|
||||
|
||||
|
|
@ -288,11 +284,6 @@ namespace Server.Misc
|
|||
|
||||
var showSkillTitle = beheld.ShowFameTitle && (beholder == beheld || fame >= 5000);
|
||||
|
||||
/*if (beheld.Kills >= 5)
|
||||
{
|
||||
title.AppendFormat( beheld.Fame >= 10000 ? "The Murderer {1} {0}" : "The Murderer {0}", beheld.Name, beheld.Female ? "Lady" : "Lord" );
|
||||
}
|
||||
else*/
|
||||
if (beheld.ShowFameTitle || beholder == beheld)
|
||||
{
|
||||
for (var i = 0; i < m_FameEntries.Length; ++i)
|
||||
|
|
@ -345,15 +336,12 @@ namespace Server.Misc
|
|||
}
|
||||
}
|
||||
|
||||
var offset = 0;
|
||||
if (highestValue > 800)
|
||||
var offset = highestValue switch
|
||||
{
|
||||
offset = 3;
|
||||
}
|
||||
else if (highestValue > 300)
|
||||
{
|
||||
offset = highestValue / 300;
|
||||
}
|
||||
> 800 => 3,
|
||||
> 300 => highestValue / 300,
|
||||
_ => 0
|
||||
};
|
||||
|
||||
if (offset > 0)
|
||||
{
|
||||
|
|
@ -369,7 +357,7 @@ namespace Server.Misc
|
|||
|
||||
var customTitle = beheld.Title;
|
||||
|
||||
if (customTitle != null && (customTitle = customTitle.Trim()).Length > 0)
|
||||
if ((customTitle = customTitle?.Trim())?.Length > 0)
|
||||
{
|
||||
title.AppendFormat(" {0}", customTitle);
|
||||
}
|
||||
|
|
@ -395,7 +383,7 @@ namespace Server.Misc
|
|||
var skillLevel = GetSkillLevel(highest);
|
||||
var skillTitle = highest.Info.Title;
|
||||
|
||||
if (mob.Female && skillTitle.EndsWith("man", StringComparison.Ordinal))
|
||||
if (mob.Female && skillTitle.EndsWithOrdinal("man"))
|
||||
{
|
||||
skillTitle = $"{skillTitle.Substring(0, skillTitle.Length - 3)}woman";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
var name = m_Mobile.Name;
|
||||
|
||||
return name != null && Insensitive.StartsWith(speech, name);
|
||||
return name != null && speech.InsensitiveStartsWith(name);
|
||||
}
|
||||
|
||||
public virtual void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
|
||||
|
|
@ -786,7 +786,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
var word = str[i];
|
||||
|
||||
if (Insensitive.Equals(word, "obey"))
|
||||
if (word.InsensitiveEquals("obey"))
|
||||
{
|
||||
m_Mobile.SetControlMaster(e.Mobile);
|
||||
|
||||
|
|
|
|||
|
|
@ -3775,12 +3775,12 @@ namespace Server.Mobiles
|
|||
{
|
||||
var word = wordsString[i];
|
||||
|
||||
if (Insensitive.Equals(word, wordName))
|
||||
if (word.InsensitiveEquals(wordName))
|
||||
{
|
||||
bFound = true;
|
||||
}
|
||||
|
||||
if (bWithAll && Insensitive.Equals(word, "all"))
|
||||
if (bWithAll && word.InsensitiveEquals("all"))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -238,7 +238,7 @@ namespace Server.Mobiles
|
|||
}
|
||||
else
|
||||
{
|
||||
for (var i = 0; i < entries.Count; ++i)
|
||||
for (var i = 0; i < entries!.Count; ++i)
|
||||
{
|
||||
var tce = entries[i];
|
||||
|
||||
|
|
|
|||
|
|
@ -771,33 +771,7 @@ namespace Server.Mobiles
|
|||
|
||||
public virtual void CapitalizeTitle()
|
||||
{
|
||||
var title = Title;
|
||||
|
||||
if (title == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var split = title.Split(' ');
|
||||
|
||||
for (var i = 0; i < split.Length; ++i)
|
||||
{
|
||||
if (Insensitive.Equals(split[i], "the"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (split[i].Length > 1)
|
||||
{
|
||||
split[i] = char.ToUpper(split[i][0]) + split[i].Substring(1);
|
||||
}
|
||||
else if (split[i].Length > 0)
|
||||
{
|
||||
split[i] = char.ToUpper(split[i][0]).ToString();
|
||||
}
|
||||
}
|
||||
|
||||
Title = string.Join(" ", split);
|
||||
Title = Title.Capitalize();
|
||||
}
|
||||
|
||||
public virtual int GetHairHue() => Race.RandomHairHue();
|
||||
|
|
|
|||
|
|
@ -308,7 +308,7 @@ namespace Server.Mobiles
|
|||
|
||||
++stabled;
|
||||
|
||||
if (claimByName && !Insensitive.Equals(pet.Name, petName))
|
||||
if (claimByName && !pet.Name.InsensitiveEquals(petName))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
@ -387,7 +387,7 @@ namespace Server.Mobiles
|
|||
|
||||
CloseClaimList(e.Mobile);
|
||||
|
||||
var index = e.Speech.IndexOf(' ', StringComparison.Ordinal);
|
||||
var index = e.Speech.IndexOfOrdinal(' ');
|
||||
|
||||
if (index != -1)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
var name = Name;
|
||||
|
||||
return name != null && Insensitive.StartsWith(speech, name);
|
||||
return name != null && speech.InsensitiveStartsWith(name);
|
||||
}
|
||||
|
||||
public override bool HandlesOnSpeech(Mobile from)
|
||||
|
|
|
|||
|
|
@ -297,7 +297,7 @@ namespace Server.Mobiles
|
|||
continue;
|
||||
}
|
||||
|
||||
if (Insensitive.Equals(keyword, e.Speech))
|
||||
if (keyword.InsensitiveEquals(e.Speech))
|
||||
{
|
||||
var message = rumor.Message;
|
||||
|
||||
|
|
|
|||
|
|
@ -1249,7 +1249,7 @@ namespace Server.Mobiles
|
|||
|
||||
public override bool HandlesOnSpeech(Mobile from) => from.Alive && from.GetDistanceToSqrt(this) <= 3;
|
||||
|
||||
public bool WasNamed(string speech) => Name != null && Insensitive.StartsWith(speech, Name);
|
||||
public bool WasNamed(string speech) => Name != null && speech.InsensitiveStartsWith(Name);
|
||||
|
||||
public override void OnSpeech(SpeechEventArgs e)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -236,7 +236,7 @@ namespace Server.Regions
|
|||
return;
|
||||
}
|
||||
|
||||
if (Core.ML && Insensitive.Equals(e.Speech, "I wish to resize my house"))
|
||||
if (Core.ML && e.Speech.InsensitiveEquals("I wish to resize my house"))
|
||||
{
|
||||
if (from.Map != sign.Map || !from.InRange(sign, 0))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
using System;
|
||||
using System.Text;
|
||||
using Server.Buffers;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
|
|
@ -75,12 +76,12 @@ namespace Server.SkillHandlers
|
|||
|
||||
if (c.Looters.Count > 0)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
using var sb = new ValueStringBuilder(stackalloc char[128]);
|
||||
for (var i = 0; i < c.Looters.Count; i++)
|
||||
{
|
||||
if (i > 0)
|
||||
{
|
||||
sb.Append(", ");
|
||||
sb.Append(i == c.Looters.Count - 1 ? ", and " : ", ");
|
||||
}
|
||||
|
||||
sb.Append(c.Looters[i].Name);
|
||||
|
|
@ -89,7 +90,7 @@ namespace Server.SkillHandlers
|
|||
from.SendLocalizedMessage(
|
||||
1042752,
|
||||
sb.ToString()
|
||||
); // This body has been distrubed by ~1_PLAYER_NAMES~
|
||||
); // This body has been disturbed by ~1_PLAYER_NAMES~
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
using System;
|
||||
using System.Text;
|
||||
using Microsoft.Toolkit.HighPerformance.Extensions;
|
||||
using Server.Commands;
|
||||
using Server.Gumps;
|
||||
using Server.Network;
|
||||
|
|
@ -31,43 +32,50 @@ namespace Server.Misc
|
|||
return;
|
||||
}
|
||||
|
||||
if (Insensitive.StartsWith(args.Speech, "set"))
|
||||
if (args.Speech.InsensitiveStartsWith("set"))
|
||||
{
|
||||
var from = args.Mobile;
|
||||
|
||||
var split = args.Speech.Split(' ');
|
||||
|
||||
if (split.Length == 3)
|
||||
var tokenizer = args.Speech.Tokenize(' ');
|
||||
if (!tokenizer.MoveNext())
|
||||
{
|
||||
try
|
||||
{
|
||||
var name = split[1];
|
||||
var value = Convert.ToDouble(split[2]);
|
||||
return;
|
||||
}
|
||||
|
||||
if (Insensitive.Equals(name, "str"))
|
||||
{
|
||||
ChangeStrength(from, (int)value);
|
||||
}
|
||||
else if (Insensitive.Equals(name, "dex"))
|
||||
{
|
||||
ChangeDexterity(from, (int)value);
|
||||
}
|
||||
else if (Insensitive.Equals(name, "int"))
|
||||
{
|
||||
ChangeIntelligence(from, (int)value);
|
||||
}
|
||||
else
|
||||
{
|
||||
ChangeSkill(from, name, value);
|
||||
}
|
||||
}
|
||||
catch
|
||||
var name = tokenizer.MoveNext() ? tokenizer.Current : null;
|
||||
var valueStr = tokenizer.MoveNext() ? tokenizer.Current : null;
|
||||
if (valueStr == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var value = double.Parse(valueStr);
|
||||
|
||||
try
|
||||
{
|
||||
if (name.InsensitiveEquals("str"))
|
||||
{
|
||||
// ignored
|
||||
ChangeStrength(from, (int)value);
|
||||
}
|
||||
else if (name.InsensitiveEquals("dex"))
|
||||
{
|
||||
ChangeDexterity(from, (int)value);
|
||||
}
|
||||
else if (name.InsensitiveEquals("int"))
|
||||
{
|
||||
ChangeIntelligence(from, (int)value);
|
||||
}
|
||||
else
|
||||
{
|
||||
ChangeSkill(from, name.ToString(), value);
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
// ignored
|
||||
}
|
||||
}
|
||||
else if (Insensitive.Equals(args.Speech, "help"))
|
||||
else if (args.Speech.InsensitiveEquals("help"))
|
||||
{
|
||||
args.Mobile.SendGump(new TCHelpGump());
|
||||
args.Handled = true;
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ namespace Server.Spells
|
|||
|
||||
public static Spell NewSpell(string name, Mobile caster, Item scroll)
|
||||
{
|
||||
name = name.Replace(" ", "", StringComparison.Ordinal);
|
||||
name = name.RemoveOrdinal(" ");
|
||||
|
||||
for (var i = 0; i < m_CircleNames.Length; ++i)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
<IncludeInPackage>false</IncludeInPackage>
|
||||
</ProjectReference>
|
||||
<PackageReference Include="MailKit" Version="2.8.0" />
|
||||
<PackageReference Include="Microsoft.Toolkit.HighPerformance" Version="7.0.0-preview4" />
|
||||
<PackageReference Include="Zlib.Bindings" Version="1.4.0" />
|
||||
<PackageReference Include="Argon2.Bindings" Version="1.8.0" />
|
||||
</ItemGroup>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue