diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index 1895d3624..82f6f558f 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -3,7 +3,7 @@ "isRoot": true, "tools": { "modernuoschemagenerator": { - "version": "2.9.0", + "version": "2.10.8", "commands": [ "ModernUOSchemaGenerator" ] diff --git a/Projects/Server/Server.csproj b/Projects/Server/Server.csproj index db151f7b0..684d01082 100755 --- a/Projects/Server/Server.csproj +++ b/Projects/Server/Server.csproj @@ -38,7 +38,7 @@ - + diff --git a/Projects/UOContent/Engines/Bulk Orders/Books/BulkOrderBook.cs b/Projects/UOContent/Engines/Bulk Orders/Books/BulkOrderBook.cs index c80621d47..23f6587c5 100644 --- a/Projects/UOContent/Engines/Bulk Orders/Books/BulkOrderBook.cs +++ b/Projects/UOContent/Engines/Bulk Orders/Books/BulkOrderBook.cs @@ -149,13 +149,13 @@ public partial class BulkOrderBook : Item, ISecurable public void AddEntry(IBOBEntry entry) { - this.Add(Entries, entry); + AddToEntries(entry); InvalidateProperties(); } public void RemoveEntry(IBOBEntry entry) { - this.Remove(Entries, entry); + RemoveFromEntries(entry); InvalidateProperties(); } diff --git a/Projects/UOContent/Engines/CannedEvil/ChampionSpawn.cs b/Projects/UOContent/Engines/CannedEvil/ChampionSpawn.cs index e519adfb0..35e2de7f8 100755 --- a/Projects/UOContent/Engines/CannedEvil/ChampionSpawn.cs +++ b/Projects/UOContent/Engines/CannedEvil/ChampionSpawn.cs @@ -534,7 +534,7 @@ public partial class ChampionSpawn : Item AwardArtifact((Champion as BaseChampion)?.GetArtifact()); } - this.Clear(_damageEntries); + ClearDamageEntries(); if (_platform != null) { @@ -570,7 +570,7 @@ public partial class ChampionSpawn : Item ((Corpse)m.Corpse).BeginDecay(TimeSpan.FromMinutes(1)); } - this.RemoveAt(_creatures, i); + RemoveFromCreaturesAt(i); --i; ++_kills; @@ -776,7 +776,7 @@ public partial class ChampionSpawn : Item // Allow creatures to turn into Paragons at Ilshenar champions. m.OnBeforeSpawn(loc, Map); - this.Add(_creatures, m); + AddToCreatures(m); m.MoveToWorld(loc, Map); if (m is BaseCreature bc) @@ -1114,7 +1114,7 @@ public partial class ChampionSpawn : Item _redSkulls[i].Delete(); } - this.Clear(_redSkulls); + ClearRedSkulls(); } if (_whiteSkulls != null) @@ -1124,7 +1124,7 @@ public partial class ChampionSpawn : Item _whiteSkulls[i].Delete(); } - this.Clear(_whiteSkulls); + ClearWhiteSkulls(); } DeleteCreatures(); @@ -1161,7 +1161,7 @@ public partial class ChampionSpawn : Item } } - this.Clear(_creatures); + ClearCreatures(); } } diff --git a/Projects/UOContent/Engines/ConPVP/Games/BombingRun.cs b/Projects/UOContent/Engines/ConPVP/Games/BombingRun.cs index 6c511a8ba..5b4a22e93 100644 --- a/Projects/UOContent/Engines/ConPVP/Games/BombingRun.cs +++ b/Projects/UOContent/Engines/ConPVP/Games/BombingRun.cs @@ -922,7 +922,7 @@ namespace Server.Engines.ConPVP ac.Delete(); } - this.Clear(Components); + ClearComponents(); // stairs AddComponent(new AddonComponent(0x74D), -1, +1, -5); diff --git a/Projects/UOContent/Engines/Doom/GauntletSpawner.cs b/Projects/UOContent/Engines/Doom/GauntletSpawner.cs index 32f9e134b..77655cc2e 100644 --- a/Projects/UOContent/Engines/Doom/GauntletSpawner.cs +++ b/Projects/UOContent/Engines/Doom/GauntletSpawner.cs @@ -216,14 +216,14 @@ public partial class GauntletSpawner : Item return area / 100; } - public virtual void ClearTraps() + public virtual void RemoveAllTraps() { for (var i = 0; i < Traps.Count; ++i) { Traps[i].Delete(); } - Traps.Clear(); + ClearTraps(); } public virtual void SpawnTrap() @@ -303,19 +303,19 @@ public partial class GauntletSpawner : Item return Math.Max((playerCount + PlayersPerSpawn - 1) / PlayersPerSpawn, 1); } - public virtual void ClearCreatures() + public virtual void RemoveAllCreatures() { for (var i = 0; i < Creatures.Count; ++i) { Creatures[i].Delete(); } - Creatures.Clear(); + ClearCreatures(); } public virtual void FullSpawn() { - ClearCreatures(); + RemoveAllCreatures(); var count = ComputeSpawnCount(); @@ -324,7 +324,7 @@ public partial class GauntletSpawner : Item Spawn(); } - ClearTraps(); + RemoveAllTraps(); count = ComputeTrapCount(); diff --git a/Projects/UOContent/Items/Addons/BallotBox.cs b/Projects/UOContent/Items/Addons/BallotBox.cs index 0e9f4cddd..13c2b744f 100644 --- a/Projects/UOContent/Items/Addons/BallotBox.cs +++ b/Projects/UOContent/Items/Addons/BallotBox.cs @@ -34,13 +34,6 @@ namespace Server.Items [SerializableField(2, setter: "private")] private List _no; - public void ClearTopic() - { - Topic = Array.Empty(); - - ClearVotes(); - } - public void AddLineToTopic(string line) { if (Topic.Length >= MaxTopicLines) @@ -59,11 +52,8 @@ namespace Server.Items public void ClearVotes() { - if (Yes.Count > 0 || No.Count > 0) - { - this.Clear(_yes); - this.Clear(_no); - } + ClearYes(); + ClearNo(); } public bool IsOwner(Mobile from) @@ -197,6 +187,7 @@ namespace Server.Items if (isOwner) { m_Box.ClearTopic(); + m_Box.ClearVotes(); from.SendLocalizedMessage( 500370, @@ -228,7 +219,7 @@ namespace Server.Items } else { - m_Box.Add(m_Box._yes, from); + m_Box.AddToYes(from); from.SendLocalizedMessage(500373); // Your vote has been registered. } } @@ -245,7 +236,7 @@ namespace Server.Items } else { - m_Box.Add(m_Box._no, from); + m_Box.AddToNo(from); from.SendLocalizedMessage(500373); // Your vote has been registered. } } diff --git a/Projects/UOContent/Items/Addons/BaseAddon.cs b/Projects/UOContent/Items/Addons/BaseAddon.cs index f771e4315..340a93065 100644 --- a/Projects/UOContent/Items/Addons/BaseAddon.cs +++ b/Projects/UOContent/Items/Addons/BaseAddon.cs @@ -138,7 +138,7 @@ namespace Server.Items return; } - this.Add(Components, c); + AddToComponents(c); c.Addon = this; c.Offset = new Point3D(x, y, z); diff --git a/Projects/UOContent/Items/Addons/BaseAddonContainer.cs b/Projects/UOContent/Items/Addons/BaseAddonContainer.cs index 71c69c05c..ad655c24e 100644 --- a/Projects/UOContent/Items/Addons/BaseAddonContainer.cs +++ b/Projects/UOContent/Items/Addons/BaseAddonContainer.cs @@ -227,7 +227,7 @@ namespace Server.Items return; } - this.Add(Components, c); + AddToComponents(c); c.Addon = this; c.Offset = new Point3D(x, y, z); diff --git a/Projects/UOContent/Items/Addons/SolenAntHole.cs b/Projects/UOContent/Items/Addons/SolenAntHole.cs index 3b234a6ed..1b2010fdd 100644 --- a/Projects/UOContent/Items/Addons/SolenAntHole.cs +++ b/Projects/UOContent/Items/Addons/SolenAntHole.cs @@ -119,7 +119,7 @@ namespace Server.Items public void SpawnAnt(BaseCreature ant) { - this.Add(_spawned, ant); + AddToSpawned(ant); var map = Map; var p = Location; @@ -143,7 +143,7 @@ namespace Server.Items { if (!_spawned[i].Alive || _spawned[i].Deleted) { - this.RemoveAt(_spawned, i); + RemoveFromSpawnedAt(i); } } diff --git a/Projects/UOContent/Items/Aquarium/Aquarium.cs b/Projects/UOContent/Items/Aquarium/Aquarium.cs index 4b6351897..f4a5d78ce 100644 --- a/Projects/UOContent/Items/Aquarium/Aquarium.cs +++ b/Projects/UOContent/Items/Aquarium/Aquarium.cs @@ -550,7 +550,7 @@ namespace Server.Items LiveCreatures = Math.Max(LiveCreatures - 1, 0); // An unfortunate accident has left a creature floating upside-down. It is starting to smell. - this.Add(_events, 1074366); + AddToEvents(1074366); } } @@ -563,7 +563,7 @@ namespace Server.Items else if (m_EvaluateDay) { // reset events - this.Clear(_events); + ClearEvents(); // food events if ( @@ -571,7 +571,7 @@ namespace Server.Items _food.State != (int)FoodState.Dead || _food.Added >= _food.Improve && _food.State == (int)FoodState.Full) { - this.Add(_events, 1074368); // The tank looks worse than it did yesterday. + AddToEvents(1074368); // The tank looks worse than it did yesterday. } if ( @@ -579,18 +579,18 @@ namespace Server.Items _food.State != (int)FoodState.Overfed || _food.Added < _food.Maintain && _food.State == (int)FoodState.Overfed) { - this.Add(_events, 1074367); // The tank looks healthier today. + AddToEvents(1074367); // The tank looks healthier today. } // water events if (_water.Added < _water.Maintain && _water.State != (int)WaterState.Dead) { - this.Add(_events, 1074370); // This tank can use more water. + AddToEvents(1074370); // This tank can use more water. } if (_water.Added >= _water.Improve && _water.State != (int)WaterState.Strong) { - this.Add(_events, 1074369); // The water looks clearer today. + AddToEvents(1074369); // The water looks clearer today. } UpdateFoodState(); @@ -663,7 +663,7 @@ namespace Server.Items if (AddFish(fish)) { - this.Add(_events, message); + AddToEvents(message); } else { @@ -1017,7 +1017,7 @@ namespace Server.Items Owner.From.PlaySound(0x5A2); } - m_Aquarium.RemoveAt(m_Aquarium._events, 0); + m_Aquarium.RemoveFromEventsAt(0); m_Aquarium.InvalidateProperties(); } } diff --git a/Projects/UOContent/Items/Guilds/Guildstone.cs b/Projects/UOContent/Items/Guilds/Guildstone.cs index d808e4066..467b99f85 100644 --- a/Projects/UOContent/Items/Guilds/Guildstone.cs +++ b/Projects/UOContent/Items/Guilds/Guildstone.cs @@ -184,7 +184,7 @@ public partial class Guildstone : Item, IAddon, IChoppable targetState.Leaving = guildState.Leaving; } - _guild.Remove(_guild.Accepted, from); + _guild.Accepted.Remove(from); _guild.AddMember(from); GuildGump.EnsureClosed(from); @@ -305,7 +305,7 @@ public partial class GuildstoneDeed : Item addon.MoveToWorld(loc, from.Map); - house.Add(house.Addons, addon); + house.Addons.Add(addon); Delete(); } else diff --git a/Projects/UOContent/Items/Maps/MapItem.cs b/Projects/UOContent/Items/Maps/MapItem.cs index 8aba38219..b9ee21e53 100644 --- a/Projects/UOContent/Items/Maps/MapItem.cs +++ b/Projects/UOContent/Items/Maps/MapItem.cs @@ -275,11 +275,6 @@ public partial class MapItem : Item, ICraftable } } - public virtual void ClearPins() - { - Pins.Clear(); - } - private void Deserialize(IGenericReader reader, int version) { // Version 0 doesn't serialize Facet/Editable, and count is not encoded diff --git a/Projects/UOContent/Items/Misc/CommunicationCrystals.cs b/Projects/UOContent/Items/Misc/CommunicationCrystals.cs index 165de0160..a52b1a12d 100644 --- a/Projects/UOContent/Items/Misc/CommunicationCrystals.cs +++ b/Projects/UOContent/Items/Misc/CommunicationCrystals.cs @@ -146,13 +146,13 @@ public partial class BroadcastCrystal : Item public void AddReceiver(ReceiverCrystal receiver) { - this.Add(Receivers, receiver); + AddToReceivers(receiver); InvalidateProperties(); } public void RemoveReceiver(ReceiverCrystal receiver) { - this.Remove(Receivers, receiver); + RemoveFromReceivers(receiver); InvalidateProperties(); } diff --git a/Projects/UOContent/Items/Misc/Corpses/Corpse.cs b/Projects/UOContent/Items/Misc/Corpses/Corpse.cs index 641413096..af8315126 100644 --- a/Projects/UOContent/Items/Misc/Corpses/Corpse.cs +++ b/Projects/UOContent/Items/Misc/Corpses/Corpse.cs @@ -675,7 +675,7 @@ public partial class Corpse : Container, ICarvable from.CriminalAction(true); } - this.Add(_looters, from); + AddToLooters(from); _instancedItems?.Remove(item); @@ -695,7 +695,7 @@ public partial class Corpse : Container, ICarvable from.CriminalAction(true); } - this.Add(_looters, from); + AddToLooters(from); _instancedItems?.Remove(item); } diff --git a/Projects/UOContent/Items/Misc/FlippableAddonAttribute.cs b/Projects/UOContent/Items/Misc/FlippableAddonAttribute.cs index f5c659e01..2a76571ea 100644 --- a/Projects/UOContent/Items/Misc/FlippableAddonAttribute.cs +++ b/Projects/UOContent/Items/Misc/FlippableAddonAttribute.cs @@ -124,7 +124,7 @@ public class FlippableAddonAttribute : Attribute c.Delete(); } - addon.Clear(addon.Components); + addon.ClearComponents(); } else if (item is BaseAddonContainer addonContainer) { @@ -134,7 +134,7 @@ public class FlippableAddonAttribute : Attribute c.Delete(); } - addonContainer.Clear(addonContainer.Components); + addonContainer.ClearComponents(); } } } diff --git a/Projects/UOContent/Items/Misc/KeyRing.cs b/Projects/UOContent/Items/Misc/KeyRing.cs index dd2745b68..2a3c39759 100644 --- a/Projects/UOContent/Items/Misc/KeyRing.cs +++ b/Projects/UOContent/Items/Misc/KeyRing.cs @@ -66,13 +66,13 @@ public partial class KeyRing : Item key.Delete(); } - this.Clear(_keys); + ClearKeys(); } public void Add(Key key) { key.Internalize(); - this.Add(_keys, key); + AddToKeys(key); UpdateItemID(); } @@ -93,7 +93,7 @@ public partial class KeyRing : Item break; } - this.RemoveAt(_keys, i); + RemoveFromKeysAt(i); } UpdateItemID(); @@ -108,7 +108,7 @@ public partial class KeyRing : Item if (key.KeyValue == keyValue) { key.Delete(); - this.RemoveAt(_keys, i); + RemoveFromKeysAt(i); } } diff --git a/Projects/UOContent/Items/Misc/PlayerBulletinBoards.cs b/Projects/UOContent/Items/Misc/PlayerBulletinBoards.cs index cb45f246a..b3cc04172 100644 --- a/Projects/UOContent/Items/Misc/PlayerBulletinBoards.cs +++ b/Projects/UOContent/Items/Misc/PlayerBulletinBoards.cs @@ -153,11 +153,11 @@ public abstract partial class BasePlayerBB : Item, ISecurable } else { - board.Add(board.Messages, message); + board.AddToMessages(message); if (board.Messages.Count > 50) { - board.RemoveAt(board.Messages, 0); + board.RemoveFromMessagesAt(0); if (page > 0) { @@ -491,7 +491,7 @@ public class PlayerBBGump : Gump { if (page >= 1 && page <= board.Messages.Count) { - board.RemoveAt(board.Messages, page - 1); + board.RemoveFromMessagesAt(page - 1); } from.SendGump(new PlayerBBGump(from, house, board, 0)); diff --git a/Projects/UOContent/Items/Skill Items/Magical/Runebook.cs b/Projects/UOContent/Items/Skill Items/Magical/Runebook.cs index 2fb09549c..1443e41b3 100644 --- a/Projects/UOContent/Items/Skill Items/Magical/Runebook.cs +++ b/Projects/UOContent/Items/Skill Items/Magical/Runebook.cs @@ -151,7 +151,7 @@ public partial class Runebook : Item, ISecurable, ICraftable DefaultIndex = -1; } - this.RemoveAt(_entries, index); + RemoveFromEntriesAt(index); var rune = new RecallRune { diff --git a/Projects/UOContent/Items/Special/House Raffle/HouseRaffleStone.cs b/Projects/UOContent/Items/Special/House Raffle/HouseRaffleStone.cs index a0d7552ca..9b6d38755 100644 --- a/Projects/UOContent/Items/Special/House Raffle/HouseRaffleStone.cs +++ b/Projects/UOContent/Items/Special/House Raffle/HouseRaffleStone.cs @@ -127,7 +127,7 @@ public partial class HouseRaffleStone : Item { if (value == HouseRaffleState.Active) { - this.Clear(_entries); + ClearEntries(); Winner = null; Deed = null; Started = Core.Now; @@ -465,7 +465,7 @@ public partial class HouseRaffleStone : Item if (_ticketPrice == 0 || from.Backpack?.ConsumeTotal(typeof(Gold), _ticketPrice) == true || Banker.Withdraw(from, _ticketPrice)) { - this.Add(Entries, new RaffleEntry(from)); + AddToEntries(new RaffleEntry(from)); from.SendMessage(MessageHue, "You have successfully entered the plot's raffle."); } diff --git a/Projects/UOContent/Items/Special/MiniHouses.cs b/Projects/UOContent/Items/Special/MiniHouses.cs index f42ca5565..5366094bb 100644 --- a/Projects/UOContent/Items/Special/MiniHouses.cs +++ b/Projects/UOContent/Items/Special/MiniHouses.cs @@ -37,7 +37,7 @@ public partial class MiniHouseAddon : BaseAddon c.Delete(); } - this.Clear(Components); + ClearComponents(); var info = MiniHouseInfo.GetInfo(_type); diff --git a/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastInnard.cs b/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastInnard.cs index cae0e86f2..bead7bdd0 100644 --- a/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastInnard.cs +++ b/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastInnard.cs @@ -94,7 +94,7 @@ public partial class PlagueBeastComponent : PlagueBeastInnard { if (_organ?.OnDropped(from, dropped, this) == true && dropped is PlagueBeastComponent component) { - _organ.Add(_organ.Components, component); + _organ.AddToComponents(component); } return true; @@ -109,7 +109,7 @@ public partial class PlagueBeastComponent : PlagueBeastInnard // * You rip the organ out of the plague beast's flesh * from.SendLocalizedMessage(IsGland ? 1071895 : 1071914, null); - _organ.Remove(_organ.Components, this); + _organ.RemoveFromComponents(this); Organ = null; from.PlaySound(0x1CA); diff --git a/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastOrgans.cs b/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastOrgans.cs index 424f5b0cc..cb7053d84 100644 --- a/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastOrgans.cs +++ b/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastOrgans.cs @@ -45,7 +45,7 @@ public partial class PlagueBeastOrgan : PlagueBeastInnard c.Location = new Point3D(X + x, Y + y, Z); c.Map = Map; - this.Add(Components, c); + AddToComponents(c); } public override bool Scissor(Mobile from, Scissors scissors) @@ -55,6 +55,12 @@ public partial class PlagueBeastOrgan : PlagueBeastInnard if (!Opened && !_opening) { _opening = true; + + Timer.StartTimer(TimeSpan.FromSeconds(3), Open); + + scissors.PublicOverheadMessage(MessageType.Regular, 0x3B2, 1071897); // You carefully cut into the organ. + return true; + void Open() { _opening = false; @@ -63,11 +69,6 @@ public partial class PlagueBeastOrgan : PlagueBeastInnard FinishOpening(from); } } - - Timer.StartTimer(TimeSpan.FromSeconds(3), Open); - - scissors.PublicOverheadMessage(MessageType.Regular, 0x3B2, 1071897); // You carefully cut into the organ. - return true; } scissors.PublicOverheadMessage(MessageType.Regular, 0x3B2, 1071898); // You have already cut this organ open. diff --git a/Projects/UOContent/UOContent.csproj b/Projects/UOContent/UOContent.csproj index 398d6f2de..b022fada9 100644 --- a/Projects/UOContent/UOContent.csproj +++ b/Projects/UOContent/UOContent.csproj @@ -40,7 +40,7 @@ - + diff --git a/version.json b/version.json index ce75bdf47..4ed56ec73 100644 --- a/version.json +++ b/version.json @@ -1,4 +1,4 @@ { "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", - "version": "0.11.1" + "version": "0.11.2" }