fix: Fixes various issues (#748)

https://github.com/modernuo/ModernUO/pull/741/files
This commit is contained in:
Kamron Batman 2021-08-30 07:54:52 -07:00 committed by GitHub
parent 28faf4346f
commit c789a7f78a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 19 additions and 17 deletions

View file

@ -2110,7 +2110,7 @@ namespace Server
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public bool CheckRace(Race race) => Race.IsAllowedRace(race, RequiredRaces);
public bool CheckRace(Mobile from, bool message = true)
public virtual bool CheckRace(Mobile from, bool message = true)
{
var race = from.Race;
var requiredRaces = RequiredRaces;
@ -2125,21 +2125,21 @@ namespace Server
return false;
}
if (race == Race.Gargoyle)
if (requiredRaces == Race.AllowGargoylesOnly)
{
from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1111707); // Only gargoyles can wear this.
}
else if (race == Race.Gargoyle)
{
from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1111708); // Gargoyles can't wear this.
}
else if (requiredRaces == Race.AllowGargoylesOnly)
{
from.LocalOverheadMessage(Network.MessageType.Regular, 0x3B2, 1111707); // Only gargoyles can wear this.
}
else if (race != Race.Elf)
else if (requiredRaces == Race.AllowElvesOnly)
{
from.SendLocalizedMessage(1072203); // Only Elves may use this.
}
else if (race != Race.Human)
else
{
from.SendMessage($"Only {race.PluralName} may use this.");
from.SendMessage($"{race.PluralName} may not use this.");
}
return false;

View file

@ -41,8 +41,8 @@ namespace Server.Network
{
var map = Map.Maps[i];
writer.Write(map.Tiles.Patch.StaticBlocks);
writer.Write(map.Tiles.Patch.LandBlocks);
writer.Write(map?.Tiles.Patch.StaticBlocks ?? 0);
writer.Write(map?.Tiles.Patch.LandBlocks ?? 0);
}
}

View file

@ -23,7 +23,7 @@ namespace Server.Items
return false;
}
if (from.Mounted && !(from.Weapon is Lance))
if (from.Mounted && from.Weapon is not Lance)
{
from.SendLocalizedMessage(1061283); // You cannot perform that attack while mounted!
return false;

View file

@ -174,7 +174,7 @@ namespace Server.Items
public virtual bool CheckWeaponSkill(Mobile from)
{
if (!(from.Weapon is BaseWeapon weapon))
if (from.Weapon is not BaseWeapon weapon)
{
return false;
}
@ -319,7 +319,7 @@ namespace Server.Items
return false;
}
return CheckSkills(from) && CheckMana(from, false);
return CheckSkills(from);
}
public static bool IsWeaponAbility(Mobile m, WeaponAbility a) =>
@ -342,7 +342,7 @@ namespace Server.Items
return null;
}
if (a?.ValidatesDuringHit == true && !a.Validate(m))
if (a?.ValidatesDuringHit == true && (!a.Validate(m) || !a.CheckMana(m, false)))
{
ClearCurrentAbility(m);
return null;
@ -365,7 +365,7 @@ namespace Server.Items
return false;
}
if (a?.Validate(m) == false)
if (a?.Validate(m) == false || a?.CheckMana(m, false) == false)
{
ClearCurrentAbility(m);
return false;

View file

@ -22,7 +22,9 @@ namespace Server.Mobiles
if (!Core.AOS)
{
Add(new AnimalBuyInfo(1, "an eagle", typeof(Eagle), 402, 10, 5, 0));
Add(new AnimalBuyInfo(1, "a brown bear", typeof(BrownBear), 855, 10, 167, 0));
// Using itemID 211 (old value) instead of 167 for compatibility with CUO. Brown bear was not added to UOP
// If/when it is added, CUO will be able to show the 167 value.
Add(new AnimalBuyInfo(1, "a brown bear", typeof(BrownBear), 855, 10, 211, 0));
Add(new AnimalBuyInfo(1, "a grizzly bear", typeof(GrizzlyBear), 1767, 10, 212, 0));
Add(new AnimalBuyInfo(1, "a panther", typeof(Panther), 1271, 10, 214, 0));
Add(new AnimalBuyInfo(1, "a timber wolf", typeof(TimberWolf), 768, 10, 225, 0));