fix: Adds FindItemOnLayer generic (#1223)
This commit is contained in:
parent
053dbcbad0
commit
fd6f4239e2
20 changed files with 112 additions and 169 deletions
|
|
@ -717,10 +717,7 @@ namespace Server.Engines.ConPVP
|
|||
{
|
||||
mob.Resurrect();
|
||||
|
||||
if (mob.FindItemOnLayer(Layer.OuterTorso) is DeathRobe robe)
|
||||
{
|
||||
robe.Delete();
|
||||
}
|
||||
mob.FindItemOnLayer<DeathRobe>(Layer.OuterTorso)?.Delete();
|
||||
|
||||
if (cont is Corpse corpse)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1016,20 +1016,22 @@ namespace Server.Engines.Craft
|
|||
return;
|
||||
}
|
||||
|
||||
int checkResHue = 0, checkMaxAmount = 0;
|
||||
var checkResHue = 0;
|
||||
var checkMaxAmount = 0;
|
||||
TextDefinition checkMessage = null;
|
||||
|
||||
var consumeRes = ConsumeRes(
|
||||
from,
|
||||
typeRes,
|
||||
craftSystem,
|
||||
ref checkResHue,
|
||||
ref checkMaxAmount,
|
||||
ConsumeType.None,
|
||||
ref checkMessage
|
||||
);
|
||||
|
||||
// Not enough resource to craft it
|
||||
if (!(ConsumeRes(
|
||||
from,
|
||||
typeRes,
|
||||
craftSystem,
|
||||
ref checkResHue,
|
||||
ref checkMaxAmount,
|
||||
ConsumeType.None,
|
||||
ref checkMessage
|
||||
)
|
||||
&& ConsumeAttributes(from, ref checkMessage, false)))
|
||||
if (!(consumeRes && ConsumeAttributes(from, ref checkMessage, false)))
|
||||
{
|
||||
if (tool?.Deleted == false && tool.UsesRemaining > 0)
|
||||
{
|
||||
|
|
@ -1058,9 +1060,18 @@ namespace Server.Engines.Craft
|
|||
|
||||
if (CheckSkills(from, typeRes, craftSystem, ref ignored, out var allRequiredSkills))
|
||||
{
|
||||
consumeRes = ConsumeRes(
|
||||
from,
|
||||
typeRes,
|
||||
craftSystem,
|
||||
ref resHue,
|
||||
ref maxAmount,
|
||||
ConsumeType.All,
|
||||
ref message
|
||||
);
|
||||
|
||||
// Not enough resource to craft it
|
||||
if (!(ConsumeRes(from, typeRes, craftSystem, ref resHue, ref maxAmount, ConsumeType.All, ref message)
|
||||
&& ConsumeAttributes(from, ref message, true)))
|
||||
if (!(consumeRes && ConsumeAttributes(from, ref message, true)))
|
||||
{
|
||||
if (tool?.Deleted == false && tool.UsesRemaining > 0)
|
||||
{
|
||||
|
|
@ -1083,13 +1094,16 @@ namespace Server.Engines.Craft
|
|||
|
||||
tool.UsesRemaining--;
|
||||
|
||||
if (craftSystem is DefBlacksmithy &&
|
||||
from.FindItemOnLayer(Layer.OneHanded) is AncientSmithyHammer hammer && hammer != tool)
|
||||
if (craftSystem is DefBlacksmithy)
|
||||
{
|
||||
hammer.UsesRemaining--;
|
||||
if (hammer.UsesRemaining < 1)
|
||||
var hammer = from.FindItemOnLayer<AncientSmithyHammer>(Layer.OneHanded);
|
||||
if (hammer != tool)
|
||||
{
|
||||
hammer.Delete();
|
||||
hammer.UsesRemaining--;
|
||||
if (hammer.UsesRemaining < 1)
|
||||
{
|
||||
hammer.Delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -84,9 +84,10 @@ namespace Server.Engines.Craft
|
|||
return EnhanceResult.BadResource;
|
||||
}
|
||||
|
||||
int resHue = 0, maxAmount = 0;
|
||||
int resHue = 0;
|
||||
int maxAmount = 0;
|
||||
|
||||
if (!craftItem.ConsumeRes(
|
||||
var consumeRes = craftItem.ConsumeRes(
|
||||
from,
|
||||
resType,
|
||||
craftSystem,
|
||||
|
|
@ -94,20 +95,19 @@ namespace Server.Engines.Craft
|
|||
ref maxAmount,
|
||||
ConsumeType.None,
|
||||
ref resMessage
|
||||
))
|
||||
);
|
||||
|
||||
if (!consumeRes)
|
||||
{
|
||||
return EnhanceResult.NoResources;
|
||||
}
|
||||
|
||||
if (craftSystem is DefBlacksmithy)
|
||||
{
|
||||
if (from.FindItemOnLayer(Layer.OneHanded) is AncientSmithyHammer hammer)
|
||||
var hammer = from.FindItemOnLayer<AncientSmithyHammer>(Layer.OneHanded);
|
||||
if (hammer != null && --hammer.UsesRemaining < 1)
|
||||
{
|
||||
hammer.UsesRemaining--;
|
||||
if (hammer.UsesRemaining < 1)
|
||||
{
|
||||
hammer.Delete();
|
||||
}
|
||||
hammer.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -62,8 +62,7 @@ namespace Server.Engines.Quests.Hag
|
|||
{
|
||||
PlaySound(Utility.RandomBool() ? 0x42E : 0x43F);
|
||||
|
||||
var hat = player.FindItemOnLayer(Layer.Helm);
|
||||
var tricorne = hat is TricorneHat;
|
||||
var tricorne = player.FindItemOnLayer<TricorneHat>(Layer.Helm) != null;
|
||||
|
||||
if (tricorne && player.BAC >= 20)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue