01/01/2022 - DragonSlayer, Xuri
Crafting skills (Alchemy, Blacksmithing, Carpentry, Fletching, Tailoring) have been updated with new JS-based menus, up-to-date create DFNs with additional craftable items and extra features to fit the Pub15 era of UO (DragonSlayer)
Optimized portions of new crafting menus and added some additional features (Xuri)
Updated Character JS Method .CheckSkill to support an optional fourth parameter - isCraftSkill. This is a boolean flag that, if set to true, will use an alternate formula for skill-checks that give players at least 50% chance at success if they at least meet the minimum requirements. The formula used:
successChance = 500 + ((( playerSkill - minSkill ) / ( maxSkill - minSkill )) * 1000
Fixed an issue where the Rank System for crafting could mess with stacking of items; stackable items now default to max rank
Added new Item DFN tags:
usesleft=# // The current amount of uses remaining for an item with limited use
maxuses=# // The maximum amount of uses for an item with limted use
Added new JS Item properties to match DFN tags:
.usesLeft
.maxUses
Updated scripts to make use of .usesLeft property instead of custom "UsesLeft" tag
Updated DFNs to include usesleft and maxuses tags and uses_left_tooltip script for all tools with limited use
Crafting and gathering tools bought from NPC vendors will now support a random and limited amount of uses (between what is defined as "current" and "max" uses)
Crafting and gathering tools created by player crafters will support a limited amount of uses based on the quality of the item crafted
Added new JS event that triggers for characters right after an item has been crafted (or failed to be crafted):
onMakeItem( socket, crafter, craftedItem, createEntryID )
01/01/2022 - Xuri (0.99.5[RC1])
Fixed an issue where negative values could not be used with Race DFN tags STAMMOD and HPMOD
Fixed an issue where messages about being unable to equip race-restricted items would only appear properly for the first three races in races.dfn
The 'make command can no longer be used on dead player-characters; the character must be alive before its status can change!
Updated getWeaponType() server script to support getting weapon type directly by ID instead of looking for item equipped by character
06/01/2022 - Xuri (0.99.5[RC2])
Added support for an additional optional parameter in the RESOURCE tag in Create/Crafting system to make it easier to distinguish between resources with same ID, color but different name - moreValue. This can be set for a resource using the Item DFN tag MORE=#. Syntax:
RESOURCE=id/resourcename amount color moreValue
Updated ResourceCount() and UseResource() JS Methods to support optional paramter moreValue
Updated internal quantity functions (GetSubItemAmount, GetItemAmount, DeleteItemAmount, DeleteSubItemAmount, GetBankCount and DeleteBankItem) in code to also compare against moreValue, if passed in.
The above functions will now also prioritize reducing remaining uses on an item (if any) over consuming the item itself
Added new crafting menu and create DFN entries for Cooking skill
Fixed an error with wheat.js that could cause flour mills to get incorrect IDs assigned
Added some missing doors in a Serpent's Hold building to default world templates
Players can now demolish a tent multi and convert it back to a deed by chopping up the tent's (empty) chest with an axe
GMs can now force the removal of a tent multi by using the 'remove command and targeting the tent's chest (whether empty or not)
Fixed some issues with 'wipe command that prevented some items (including multis) from being removed
Added a new admin-command to force the removal of a targeted multi and all items contained within: 'removemulti
08/01/2022 - Xuri (0.99.5[RC3])
Fixed an issue in HandleGumpInput that prevented compiling UOX3 properly on Linux
Added new uox.ini setting that determines if item stats on unidentified magic items are shown or hidden:
HIDESTATSFORUNKNOWNMAGICITEMS=0/1 // Defaults to 1
Some minor updates to crafting related scripts
10/01/2022 - Xuri (0.99.5[RC4])
UOX3 now stores a timestamp for when an account receives its first login, which can be accessed via the new (read-only) JS Account Property .firstLogin.
UOX3 now stores a timestamp for when a player character is created, which can be accessed via the new (read-only) JS Character Property .createdOn. For legacy player characters, the creation timestamp is set the first time UOX3 loads the characters after this update.
Fixed an issue on Linux where pressing the arrow keys in the console would cause UOX3 to shut down
Updated UOX3 documentation
12/01/2022 - Xuri (0.99.5)
Implemented Herding skill in JS (js/skill/herding.js) (Dragon Slayer)
Updated item stats like def, hp and value for all armors to match Pub15 era
Added item definitions for weapons added in AoS to ToL UO expansions, but with stats balanced against existing weapons from Pub15 era
Added armor definitions for armors added in AoS to ToL UO expansions, but with stats balanced against existing armors from Pub15 era
Added named "alias entries" for all existing item definitions of weapon, armor and clothes, which enables adding those via their names as an alternative to their IDs. Items added via the named aliases will randomize between variations (north/south vs east/west) of the items if there are any. Syntax:
'add item [nameOfItemWithoutSpaces] (example: 'add item vikingsword)
Removed redundant files dfndata/items/gear/weapons/aos_weapons.dfn, dfndata/items/gear/weapons/se_weapons.dfn and dfndata/npc/spawntags.dfn
Split out ranged weapon projectiles into a separate DFN (dfndata/items/gear/weapons/projectiles.dfn)
Modified tooltip for armors to describe the physical defensive value as Armor Rating instead of Physical Resist
Updated console key input handling with a more robust approach for Linux (punt)
Included new and revamped JS docs, and removed old, out-of-date legacy JS docs