fix(linq): Removes linq and fixes fishing error (#674)

This commit is contained in:
Kamron Batman 2021-08-04 22:24:38 -07:00 • committed by GitHub
parent b112be4e1f
commit 410b18ceca
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 253 additions and 62 deletions

View file

@ -1092,11 +1092,13 @@ namespace Server.Engines.ConPVP
if (ourFlagCarrier != null && GetTeamInfo(ourFlagCarrier) == teamInfo)
{
if (ourFlagCarrier.Aggressors.Any(
aggr => aggr.Defender == ourFlagCarrier && aggr.Attacker == mob
))
foreach (var aggr in ourFlagCarrier.Aggressors)
{
playerInfo.Score += 2; // helped defend guy capturing enemy flag
if (aggr.Defender == ourFlagCarrier && aggr.Attacker == mob)
{
playerInfo.Score += 2; // helped defend guy capturing enemy flag
break;
}
}
if (mob.Map == ourFlagCarrier.Map && ourFlagCarrier.InRange(mob, 12))

View file

@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Server.Engines.Quests;
using Server.Engines.Quests.Collector;
@ -170,12 +171,24 @@ namespace Server.Engines.Harvest
public override bool CheckResources(Mobile from, Item tool, HarvestDefinition def, Map map, Point3D loc, bool timed)
{
return from?.Backpack?.FindItemsByType<SOS>()
.Any(
sos =>
(from.Map == Map.Felucca || from.Map == Map.Trammel) && from.InRange(sos.TargetLocation, 60)
) ??
base.CheckResources(from, tool, def, map, loc, timed);
Container pack = from.Backpack;
if (pack != null)
{
List<SOS> messages = pack.FindItemsByType<SOS>();
for (int i = 0; i < messages.Count; ++i)
{
SOS sos = messages[i];
if ((from.Map == Map.Felucca || from.Map == Map.Trammel) && from.InRange(sos.TargetLocation, 60))
{
return true;
}
}
}
return base.CheckResources(from, tool, def, map, loc, timed);
}
public override Item Construct(Type type, Mobile from)

View file

@ -17,11 +17,16 @@ namespace Server.Commands
{
var eable = Map.Felucca.GetItemsInRange(new Point3D(x, y, z), 0);
var found = eable.Any(
item => item is MorphItem morphItem && morphItem.Z == z &&
morphItem.InactiveItemID == inactiveItemID &&
morphItem.ActiveItemID == activeItemID
);
var found = false;
foreach (var item in eable)
{
if (item is MorphItem morphItem && morphItem.Z == z && morphItem.InactiveItemID == inactiveItemID && morphItem.ActiveItemID == activeItemID)
{
found = true;
break;
}
}
eable.Free();
return found;
}
@ -30,7 +35,16 @@ namespace Server.Commands
{
var eable = Map.Felucca.GetItemsInRange(new Point3D(x, y, z), 0);
var found = eable.Any(item => item is EffectController && item.Z == z);
var found = false;
foreach (var item in eable)
{
if (item is EffectController && item.Z == z)
{
found = true;
break;
}
}
eable.Free();
return found;
}

View file

@ -196,7 +196,14 @@ namespace Server.Items
public void Refresh()
{
Visible = GetMobilesInRange(CurrentRange).Any(mob => !mob.Hidden || mob.AccessLevel <= AccessLevel.Player);
foreach (var mob in GetMobilesInRange(CurrentRange))
{
if (!mob.Hidden || mob.AccessLevel <= AccessLevel.Player)
{
Visible = true;
break;
}
}
}
public override void Serialize(IGenericWriter writer)

View file

@ -75,7 +75,15 @@ namespace Server.Engines.Quests.Naturalist
public bool Contains(IPoint2D p)
{
return m_Rects.Any(rect => rect.Contains(p));
foreach (var rect in m_Rects)
{
if (rect.Contains(p))
{
return true;
}
}
return false;
}
}
}