Replace most T.Parse with T.TryParse for all user input.
This commit is contained in:
@@ -422,7 +422,10 @@ namespace Game.Entities
|
||||
var tokens = new StringArray(fields.Read<string>(6), ' ');
|
||||
if (tokens.Length == ItemConst.MaxProtoSpells)
|
||||
for (byte i = 0; i < ItemConst.MaxProtoSpells; ++i)
|
||||
SetSpellCharges(i, int.Parse(tokens[i]));
|
||||
{
|
||||
if (int.TryParse(tokens[i], out int value))
|
||||
SetSpellCharges(i, value);
|
||||
}
|
||||
|
||||
SetUInt32Value(ItemFields.Flags, itemFlags);
|
||||
|
||||
@@ -477,8 +480,8 @@ namespace Game.Entities
|
||||
var bonusListIDs = new StringArray(fields.Read<string>(20), ' ');
|
||||
for (var i = 0; i < bonusListIDs.Length; ++i)
|
||||
{
|
||||
uint bonusListID = uint.Parse(tokens[i]);
|
||||
AddBonuses(bonusListID);
|
||||
if (uint.TryParse(tokens[i], out uint bonusListID))
|
||||
AddBonuses(bonusListID);
|
||||
}
|
||||
|
||||
SetModifier(ItemModifier.TransmogAppearanceAllSpecs, fields.Read<uint>(21));
|
||||
@@ -503,8 +506,7 @@ namespace Game.Entities
|
||||
uint b = 0;
|
||||
foreach (string token in gemBonusListIDs)
|
||||
{
|
||||
uint bonusListID = uint.Parse(token);
|
||||
if (bonusListID != 0)
|
||||
if (uint.TryParse(token, out uint bonusListID) && bonusListID != 0)
|
||||
gemData[i].BonusListIDs[b++] = (ushort)bonusListID;
|
||||
}
|
||||
|
||||
@@ -1904,7 +1906,8 @@ namespace Game.Entities
|
||||
StringArray bonusLists = new StringArray(item_result.Read<string>(12), ' ');
|
||||
foreach (string line in bonusLists)
|
||||
{
|
||||
loot_item.BonusListIDs.Add(uint.Parse(line));
|
||||
if (uint.TryParse(line, out uint id))
|
||||
loot_item.BonusListIDs.Add(id);
|
||||
}
|
||||
|
||||
// Copy the extra loot conditions from the item in the loot template
|
||||
|
||||
@@ -1054,8 +1054,11 @@ namespace Game.Entities
|
||||
|
||||
for (var index = 0; index < count; ++index)
|
||||
{
|
||||
UpdateData[(int)startOffset + index] = uint.Parse(lines[index]);
|
||||
_changesMask.Set((int)(startOffset + index), true);
|
||||
if (uint.TryParse(lines[index], out uint value))
|
||||
{
|
||||
UpdateData[(int)startOffset + index] = value;
|
||||
_changesMask.Set((int)(startOffset + index), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -284,8 +284,10 @@ namespace Game.Entities
|
||||
var GUIDlist = new StringArray(strGUID, ' ');
|
||||
List<ObjectGuid> looters = new List<ObjectGuid>();
|
||||
for (var i = 0; i < GUIDlist.Length; ++i)
|
||||
looters.Add(ObjectGuid.Create(HighGuid.Item, ulong.Parse(GUIDlist[i])));
|
||||
|
||||
{
|
||||
if (ulong.TryParse(GUIDlist[i], out ulong guid))
|
||||
looters.Add(ObjectGuid.Create(HighGuid.Item, guid));
|
||||
}
|
||||
|
||||
if (looters.Count > 1 && item.GetTemplate().GetMaxStackSize() == 1 && item.IsSoulBound())
|
||||
{
|
||||
@@ -1083,7 +1085,10 @@ namespace Game.Entities
|
||||
List<uint> bonusListIDs = new List<uint>();
|
||||
var bonusListIdTokens = new StringArray(result.Read<string>(11), ' ');
|
||||
for (var i = 0; i < bonusListIdTokens.Length; ++i)
|
||||
bonusListIDs.Add(uint.Parse(bonusListIdTokens[i]));
|
||||
{
|
||||
if (uint.TryParse(bonusListIdTokens[i], out uint id))
|
||||
bonusListIDs.Add(id);
|
||||
}
|
||||
|
||||
if (itemId == 0)
|
||||
{
|
||||
|
||||
@@ -109,7 +109,8 @@ namespace Game.Entities
|
||||
for (var i = 0; index < PlayerConst.TaxiMaskSize && i != split.Length; ++i, ++index)
|
||||
{
|
||||
// load and set bits only for existing taxi nodes
|
||||
m_taximask[index] = (byte)(CliDB.TaxiNodesMask[index] & uint.Parse(split[i]));
|
||||
if (uint.TryParse(split[i], out uint id))
|
||||
m_taximask[index] = (byte)(CliDB.TaxiNodesMask[index] & id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,12 +128,12 @@ namespace Game.Entities
|
||||
|
||||
var stringArray = new StringArray(values, ' ');
|
||||
if (stringArray.Length > 0)
|
||||
m_flightMasterFactionId = uint.Parse(stringArray[0]);
|
||||
uint.TryParse(stringArray[0], out m_flightMasterFactionId);
|
||||
|
||||
for (var i = 1; i < stringArray.Length; ++i)
|
||||
{
|
||||
uint node = uint.Parse(stringArray[i]);
|
||||
AddTaxiDestination(node);
|
||||
if (uint.TryParse(stringArray[i], out uint node))
|
||||
AddTaxiDestination(node);
|
||||
}
|
||||
|
||||
if (m_TaxiDestinations.Empty())
|
||||
|
||||
@@ -252,7 +252,7 @@ namespace Game.Entities
|
||||
for (byte i = 0; i < tokens.Length && index < SharedConst.ActionBarIndexEnd; ++i, ++index)
|
||||
{
|
||||
ActiveStates type = tokens[i++].ToEnum<ActiveStates>();
|
||||
uint action = uint.Parse(tokens[i]);
|
||||
uint.TryParse(tokens[i], out uint action);
|
||||
|
||||
PetActionBar[index].SetActionAndType(action, type);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user