While ramping up towards an new full UOX3 release (coming Soon(TM)), I thought I'd post a small teaser for some of the improvements that have been done since the last one. Some of these changes has been available for a while already in the form of experimental builds, some are more recent and some are brand spanking new (like improved client-support, player movement, npc pathfinding, line of sight, boat-stuff)!
Here follows a quick and sloppy overview of what gifts the next version will bring:
Better UO Client support
Client-support (login, character-creation, regular gameplay) for all 2D ("classic") clients from 4.0.x to 7.0.23.0
Server-support for extended tiledata/multi.mul files
Server-support for reading extended tiledata.mul and multi.mul files - no extra configuration needed. This means support for itemIDs up to 0x9FFF, and support for multis, statics and maps in 7.0.9.0 to 7.0.23.0 clients. Also expanded CLIENTFEATURES and SERVERFEATURES options to allow handling SA and HS client-features better.
Improved player-movement code
Better Z-calculation during player movement (thanks to RunUO/xantier!), eliminates 97.3% of all currently known bugs with player-movement in UOX3.
Improved (Advanced) NPC Pathfinding
Large improvements for Advanced NPC Pathfinding (NPCs no longer stuck in pathfinding loops that make the server come to a complete standstill, better handling of when path-recalculations take place, NPCs can now pathfind around characters)
Improved Line of Sight checking
Large improvements for Line of Sight. Previously LoS-checks in certain directions would always fail. Now it should be a lot more accurate, to the point where NPCs should no longer (ever, in theory) be able to aggro players through walls. This also improves server performance as NPCs will less often try to pathfind to players they might not be able to reach.
Revamped spell-damage and magic-resist systems
Updated code that calculates spell-damage and magic-resist to be more in sync with the rest of the combat code - i.e. implemented after the same principles as magic and combat for regular UO just prior to the release of AoS. Also, more control over how much damage any given spell does by a new tag in SPELLS.DFN that specifies the base-damage of each damaging spell.
Improved collision-checking for boats
Improvements for collision-handling for boats - positively affects both placing of boats and sailing them.
Basic support for Gargoyles
Basic support for creation of Gargoyle-characters (can be disabled through server/client-features). Currently handled mostly the same as regular human characters in code (i.e. no flying, no custom spells/abilities)
A whole bunch of regular old fixes and smaller additions
- Compile-fixes for VS2008+
- Several server-crash fixes
- Stablemaster NPCs added
- LOOT/PACKITEM tag support for containers, to include items in freshly spawned containers
- Fixed bugs with NPCs spawning in invalid/blocked locations
- Fixed bugs with item-decay in houses
- More options to determine how item-decay works
- New NPCWANDER mode (5 - frozen - will never move)
- New NPCAI (7 - passive - will never fight back)
- Additional JS events (onDropItemOnItem, onVirtueGumpPress,
- Fixes for JS File I/O handling
- Ammo (id/color) and missile-effects (id, color, render-mode) customizable for ranged weapons
- Weight-capacities for containers
- Fixes for item-identification skill
- Miscellaneous JS/DFN (items, npcs, lootlists, regions, teleport-locations) fixes and additions
- Lots of other small fixes and improvements!