- Removed unneeded usings
- World chat log now has a Config option. Turned off by default now.
- Added two new timer priorities.
- Fixed a crash with box of ropes.
- Consolidation of the Pathing movements and algorithms.
- Correctly makes sure you are inside the house you are trying to place addons in.
All loot pack items are now generated when the mobile is killed.
Reworked monster stealing and begging.
Various re-structuring and bug fixes.
Co-authored-by: TrueUO <knight.daniel.r@gmail.com>
-Fixed issue where client helpers could bypass the container gump and add items directly to the seed box
-SearedFireAntGoo is no longer stackable
-Blue NPC's (mainly vendors, not initial innocent) can no longer be attacked on trammel maps
-Aggressors/Aggressed from pet masters now works properly. This was suspected to crated large numbers to redundant aggressor/aggressed added to a mobiles aggressor/aggressed lists
-Aggressive action for healing a mobile while fighting another mobile has been re-enabled
-AuraDamage is now a harmful act, ie those affected will aggro on your pet!
-MLDryads should no longer attack other wild creatures during Blackthorn Invasion Instance
-More code cleanup
If a class has a field that's not marked readonly but is only set in the constructor, it could cause confusion about the field's intended use. To avoid confusion, such fields should be marked readonly to make their intended use explicit, and to prevent future maintainers from inadvertently changing their use.
* Removed faction args from AcquireFocusMob in BaseAI
* Removed Pre-AOS properties from BaseArmor
* Cleanup BaseClothing and PlayerMobile (removed era checks)
* Removed old Opposition Group, replaced by Tribe. UPdated BaseCreature
* Spell Cleanup
* Cleanued up Loot.cs, Lootpack.cs
* Removed Era Checks from multiple files
* removed old tmap config
-This are currently not used, and can be added as to custom code to keep the distro code Clean
-Cleaned up and consolidated some klunky code in various scripts to be handled as event sinks, ie Container.cs, BaseCreature.cs, etc
-Reduced amount of Niporailem Spawn (Spectral Armor), and fixed gold/sand to decay after 15 Minutes
-Added support to Corpse.cs for a Corpse Loot event to keep track of corpses original loot, to prevent exploits
-Enhanced Kill Handler in Points System to handle any mobile (as opposed to BaseCreature only) for more flexibility or possible future systems
+ Add MONO to Makefile compile definitions.
+ Update Ultima SDK to support MONO compile definition.
+ Rename Properties Gump parent directory to prevent VS issues.
+ Console error messages will now use red instead of dark red font.
+ Add crash state handler function to Core.
+ AI optimizations and housekeeping.
+ Context Menu optimizations and housekeeping.
+ Add ability to drop throttled packets.
+ Add string parsing support to Rectangle3D.
+ Optimize guild messages and chat.
+ IAddon implements IChopable.
+ Add more flexibility for altering Mobile names.
+ Add ability to enable or disable OPL for individual mobiles.
+ Optimize damaging regions and ensure timers are removed properly.
+ Update Welcome Timer with more intuitive message groups.
+ Normalize all virtue related objects to the Server.Services.Virtues namespace.
+ Add ability for ISpawner to append OPL and Context Menus to their spawn.
+ Add EventSink events for obtaining items, equipping items, context menus, and world broadcasts.
+ Add ability to lock a creature's direction and movement regardless of AI manipulation.
+ Add ability to dynamically change a creature's approach range and wait state.
+ Add extended enumeration features for AOS attributes.
+ Add ability to control whether creatures have blood, and its color.
+ Expose corpse flag manipulation methods.
+ Add ability to prevent criminal action when looting a corpse.
+ Corpse will now be permanently tagged as murderer at time of death if owner is a murderer.
+ Add TextDefinition support for Commodity Deed descriptions.
+ House add-on and component optimizations and housekeeping.
+ Item light is no longer backed by the direction property.
+ ITool implements IEntity.
+ Prevent trading of Siege Bless items.
+ Guards are naturally be immune to guards.
+ Siege Shard initialization housekeeping.
+ Character Creation housekeeping.
+ Generic commands housekeeping.
+ Add Mark command for staff.
- Added Sovereigns, can be accessed via PlayerMobile Properties under AccountSovereign Property
- Sovereigns are default currency Type
- Various other bug fixes
SHA512 support
Password-System requires complete rework (I will do this) for proper salting (generating 'random' salt on first run) and better readability. Passwords are automatically converted from SHA1 to SHA512 after logon and next save.
NOTICE: SHA512 is the new default if you replace Config/Accounts.cfg. Change it back to NewCrypt (SHA1) in Accounts.cfg if you're in need of SHA1.
However keep in mind Server <-> Client communication stays unencrypted and is absolutely vulnerable to man in the middle attacks as client encryption is removed. It only protects if data gets stolen.
MD5 and SHA1 are known to be vulnerable to collisions and not safe.
Cheers
- Move EC/Classic client console connect message to Account Handler
- Changed some of the new EC event handlers for easier use, ie Mobile args instead of NetState args
- Vendor action buttons now work. So far, I've identified Bank, Bulk Order Info and Bribe.
- Target by resource macro now works
- Equip Macro now works
- Unequip Macro now works
- EC login restriction now handled in ClientVerification.cs
- ClientVersion now adds the proper client type. UOSA is not Stygian abyss, its actually the UO Second Age client, which is the Enhanced client
- Night Sight now works with the hotbar shortcut
- Added Bandage hotbar timer packet
- fixed issue regarding container grids and dragging items when amount > 1
- Added local IP exempt from account limits
- Gate travel scrolls now can be dropped on House tele tiles to recharge
- Gargoyle Alchemists now sell blow pipes, glass and sand books
- Fixed issue in VvV battle where the improper amount of gold was being shown. I still need to figure out if the end of battle stats shown are individual, or for thier entire alliance/guild.
- Fixed bug where OnMoveOver wasn't being called when the item height is greater than 1. This requires a core re-compile.
- Added Bank Actions Gump
- Added Secure Account to Account.cs
- Added wall safe
- Added message support for withdraw/depositing gold to new system
Bug Fixes
- Players can now dispel their own summons in Trammel
- Fixed update bugs in Titles Menu
* Handles all value types.
* Simple syntax Config.Get and Config.Set methods.
* Loads and stores comments as description.
* Ability to step through Config errors with the option to ignore and continue, or kill the process.
* Ability to force option default without commenting out.
* Ability to edit Config options (entries) after being loaded (with API for a potential UI).
* Ability to save/write Config files.
* README.txt added for clarity.
+ Code Clean-up profile "ServUO" performed on ComponentVerification.cs
+ Implemented Int64 support for depositing to and withdrawing from Account Gold.
+ Secure Trading now updates properly both ways.
+ Added notification messages about sending and receiving currency.
+ Gold and Bank Checks are properly consumed by the trade window and bank box.
+ Ensure that VirtualCheck can't be tampered with by closing it when the trade closes;
* If a player has accepted a trade and modifies their offer via the VirtualCheck, the trade will automatically un-accept.
+ Split the Gold Account impl into an IGoldAccount interface, which IAccount now implements.
+ Replaced all Gold Account related Core.TOL checks with the new AccountGold.Enabled property.
+ Updated CurrentExpansion so that AccountGold.Enabled is set based on Core.TOL.
+ Removed Core.TOL checks from outgoing packet updates;
* If their client supports TOL, e should still send the packets, even if Gold/Plat is nil.
+ Dropping Bank Checks or Gold in to a trade window will automatically credit your account and increase your offer.
* Platinum and Gold amounts are displayed to unsupported clients by the presence of a virtual bank check in the trade window;
* This virtual bank check is automatically updated and is only visible to those with unsupported clients.
+ Combined multiple UpdateSecureTrade packets into one packet that uses flags to define its intention.
+ TOL Gold Account implementation standardization.
* All TOL Gold Accounting will fall-back to old functionality if the checks fail for any reason.
+ Fixed potential crash issues in AnimalTrainer.
+ Updated team-shared ReSharper settings so that Code Clean-up actually does some cleaning.
+ Reduced thread sleep time for timer processing to enable higher timer accuracy.
+ Removed ServUO.exe.config as VS keeps deleting it due to the existence of app.config in the core project.
* If merging some changes seems like a lot of lines have changed while comparing;
* Use ReSharper's Code Clean-up feature on the file first, then merge it - there should be less conflicts to deal with.
# Add TOL expansion to core. Set current expansion to TOL by defailt
# Add support for new trade system packets
# Add support for new account based gold ledger. Requires expansion to
be set to TOL.