Commit graph

71 commits

Author SHA1 Message Date
Dragon Slayer
142ce0567e refactor(magic): match reagents by section id 2026-07-24 15:27:40 -05:00
Dragon Slayer
34170ca116 docs(js): replace legacy spell reagent properties 2026-07-22 19:58:54 -05:00
Dragon Slayer
2df6c41673 docs(magic): document extensible spell effects
Document script-owned temporary effect callbacks and effect 44 parameters, add the new events to JavaScript definitions, and describe the REAGENT and SPELLBOOKDATA DFN syntax and compatibility behavior.
2026-07-22 17:22:54 -05:00
Dragon Slayer
8027f925ba
Merge branch 'develop' into Player-Vendor-Upgrade 2026-05-05 21:01:20 -05:00
Xoduz
9f768a467c Fixed issue with NPCs returning to bounding box, added new Character JS properties
- [ADD] The original spawn location is now stored for NPCs when they spawn
- [ADD] Added new character JS properties: .spawnX, .spawnY and .spawnZ. These are primarily used to store original spawn location of NPCs.
- [FIX] Fixed an issue where NPCs would fail in many cases to pathfind back to their bounding box after leaving it. They now pathfind back to original spawn location instead.
2026-04-27 04:12:54 +08:00
Dragon Slayer
53787b82bd Player Vendor AI 2026-03-12 11:01:58 -05:00
Dragon Slayer
41a13549c6 update docs 2026-03-12 10:08:34 -05:00
Dragon Slayer
4332c49b9c
Merge branch 'develop' into Pet-Bonding-Fixes 2026-03-08 22:05:58 -05:00
Dragon Slayer
ea214d8b55 Added new priv 2026-03-08 18:17:11 -05:00
Dragon Slayer
83d559d5b5 Updates/Changes
- [ADD] Added nonMouseClickEvent boolean parameter to onCharDoubleClick() so scripts can detect non-mouse/client-generated character double-click events.
- [ADD] Added new onPaperDoll() JavaScript event for handling paperdoll opening separately from onCharDoubleClick().
- [UPDATE] Updated dismountetherealmount.js, petbonding.js, cow_tipping.js, and mount_restrictions.js for the new onCharDoubleClick() event signature.
- [UPDATE] Updated scripting docs, definitions.d.ts, and event metadata for onCharDoubleClick() and onPaperDoll().
- [FIX] Fixed cases where onCharDoubleClick() scripts could unintentionally react to non-mouse/client-generated self double-click events.
2026-03-08 00:35:13 -06:00
Dragon Slayer
5da7266503 New Functions and Script Tag
[ADD] Added new DFN tag for spawn regions: ADDSCRIPT
Allows region-based scripts to be attached and executed on spawn events
[ADD] Added new script events:
onSpawn — triggered when an object or character is spawned via a spawn region script
onKill — triggered when a character kills another character
[UPD] Updated documentation to include the new script events and DFN tags
2026-02-18 12:56:17 -06:00
Xoduz
38557dc4bc Merge branch 'develop' into pr/511 2026-02-14 14:45:43 +08:00
Dragon Slayer
65917cc47a update typescript 2026-02-13 23:28:59 -06:00
Daniel Stratton
dc6d610ca6 Define UOX_DEBUG_MODE as a constant. Fix up script_id 2026-02-12 16:46:13 +10:00
Daniel Stratton
8d7e777997 Minor bug fixes. Add UOXCFile. Add script_id property 2026-02-12 16:46:04 +10:00
Daniel Stratton
ceb96daa39 Update decls 2026-02-12 16:45:41 +10:00
Xoduz
771a56881d PR iteration
- [UPD] Updated FindItem() and FindItemBySection() JS Functions to also find items that are within +/- 5 Z of target location; Z no longer acts as an absolute condition
Added back in the dictionary entries for Dawn's Music Box, which somehow got lost in the first submission
Moved several Event Manager object properties from script to DFN
Added in typedef comments for functions in event manager script
Added in missing code to properly trigger onScriptLoad after script reloads
2026-02-12 02:33:30 +08:00
Xoduz
2ae1b42c08 Event Manager, onScriptLoad, onStart, FindItemBySection
- [ADD] Added new JS Event that runs once for all scripts after shard has fully started up:
  - onScriptLoad()
- [ADD] Added new JS Event that runs for all instances of scripts attached to objects after shard has fully started up:
  - onStart( myObj ) // myObj can be a Character, Item or TownRegion
- [ADD] Added new JS Function to find nearest item with a specific section ID at a given location:
  - FindItemBySection( x, y, z, world, sectionId, [instanceId] )
- [ADD] Added new Event Manager system that initializes on shard startup, which listens to event registrations from other scripts and schedules these events to be run once, a number of times with an interval, or recurring on specific day(s)/time of the week. See UOX3 documentation for full details. System can be enabled or disabled via a new setting in uox.ini:
  - EVENTMANAGERSYSTEM=0/1 // Defaults to enabled
- [ADD] Added a global JS constant to detect in scripts whether UOX3 runs in debug mode:
  - UOX_DEBUG_MODE // Ex: if( UOX_DEBUG_MODE )
- [FIX] Fixed an incorrectly named socket variable in js/item/potion.js
2026-02-07 19:11:59 +08:00
Xoduz
00b50a4123 Extended DoMovingEffect, Updated GetSpawnRegions, Added showspawnregions command
- [ADD] Added new GM command 'showspawnregions (js/commands/targeting/showspawnregions.js) which will visualize all spawn regions within range of targeted location for a short duration
- [ADD] Added new GM command 'spawnregionadmin (js/commands/spawnregionadmin.js) which shows a filterable list of all spawn regions in the game. Clicking the name of the spawn region in the menu will open up the tweak menu for said spawn region. Note that all changes done to spawn regions are temporary in nature, and only last until the next server restart (where it again reads from spawn region DFN files)
- [UPD] Updated 'tweak command to support modifying (temporary) of Spawn Regions. Can be accessed via spawnregionadmin command
- [UPD] Extended JS Function DoMovingEffect to support another optional parameter, a flag to specify if effect is stationary (true) at source location or not (false, default). Updated syntax:
  - DoMovingEffect( srcObject, trgObject, effect, speed, loop, explode, [hue], [renderMode], [stationaryFX] )
  - DoMovingEffect( srcObject, targX, targY, targZ, effect, speed, loop, explode, [hue], [renderMode], [stationaryFX] )
  - DoMovingEffect( srcX, srcY, srcZ, targX, targY, targZ, effect, speed, loop, explode, [hue], [renderMode], [stationaryFX] )
- [UPD] JS Function GetSpawnRegion has been split into two, one that accepts a singular spawn region ID param, and one that accepts coordinates for a location and returns all spawn regions found there:
  - GetSpawnRegion( spawnRegionID ) // Returns reference to specificed spawn region
  - GetSpawnRegions( x, y, worldnumber, instanceID ) // Returns list of references to all spawn regions at specified area
- [UPD] IterateOverSpawnRegions JS function now supports an optional socket parameter, which becomes available as a parameter in OnIterateSpawnRegion event if included
- [FIX] Fixed an issue with Spawn Region JS Objects where the .y1 property would return the same value as .x2
- [FIX] Fixed an issue with js/npc/pets/petbonding.js that prevented successful script compilation
2026-02-03 06:50:42 +08:00
Xoduz
8908f84530 Updated coreDefinitions
- [FIX] Updated AddXMFHTMLTok entyr in coreDefinitions .json to make clear that arguments 8 to 10 are optional
2026-02-01 04:42:37 +08:00
Xoduz
8688fef898 Updated typescript definitions with new additions
Updated typescript definitions with new additions
2025-12-14 12:43:36 +08:00
Daniel Stratton
8066f76fb4 Support event functions with multiple signatures - I'm looking at you onSpellCast 2025-11-12 18:02:15 +10:00
Dragon Slayer
55baba78c5 Update coreDefinitions.json 2025-11-11 00:03:21 -06:00
Dragon Slayer
b4ffe16c18 Update fixes 2025-11-10 21:31:23 -06:00
Daniel Stratton
41216827f3 Add onGumpPress event and update existing scripts 2025-11-10 07:42:57 +10:00
Xoduz
9359970ba0 Added server restart functionality
- [ADD] Added functionality to trigger a server restart from within UOX3, either via console ('R'), command ('restart) or JS Console Method (.BeginRestart()). This will first perform a world save, then do a clean shut down before restarting UOX3 in a new process
2025-10-24 16:13:17 +08:00
strattond
298ae2f553 Add onProfile* events. Update JS documentation 2025-08-21 20:47:00 +10:00
strattond
08e2a1a3cb Guild refreshed based on PR feedback 2025-08-21 07:41:16 +10:00
strattond
4a1760f8a3 TriggerEvent could return almost any type, as it invokes *other* events by name only 2025-08-13 15:13:44 +10:00
strattond
36d6c0745a Revert "Use BaseObject instead of Character | Item where appropriate"
This reverts commit 0c870a5c92.
2025-08-13 15:01:25 +10:00
strattond
0c870a5c92 Use BaseObject instead of Character | Item where appropriate 2025-08-13 14:58:43 +10:00
strattond
1a55b3796b Gump support 2025-08-13 14:43:10 +10:00
strattond
3831c7e4db Finish event fixups. Update scripts 2025-08-13 10:33:27 +10:00
strattond
5aecf0ba81 More event return validation 2025-08-12 16:45:07 +10:00
strattond
03c0199f28 More fixups for events 2025-08-12 12:43:20 +10:00
strattond
e916663aab Fixups to JSDoc 2025-08-12 12:21:49 +10:00
strattond
faf7b4672a Fix two events. Update JSDoc for the scripts 2025-08-12 11:31:41 +10:00
strattond
875bdf1fb4 Fix callback signature 2025-08-12 11:05:29 +10:00
strattond
702e764204 Finish out character methods 2025-08-11 18:32:56 +10:00
strattond
39261a3644 More character functions. Finish out some enum values 2025-08-11 17:45:13 +10:00
strattond
966263f026 Resolve item/char narrowing 2025-08-11 07:26:46 +10:00
strattond
5ce1c081c9 Item functions 2025-08-11 07:01:59 +10:00
strattond
7daa5b952d Common base object methods 2025-08-08 07:42:50 +10:00
strattond
57342b6baf Add Multi methods 2025-08-07 14:34:10 +10:00
strattond
0c0c77b6f2 onUseChecked JSDocs. Fix some enum values 2025-08-06 20:58:54 +10:00
strattond
6a53759445 Fix TriggerEvent definition. Add ts check to every script 2025-08-06 20:37:11 +10:00
strattond
57ed3b8884 Mining Data, Town Region props and methods 2025-08-06 17:48:58 +10:00
strattond
a9dfade94b Create entry related updates 2025-07-16 14:34:42 +10:00
strattond
1415950655 Add Race properties and methods. Add Guild methods. Add Skills properties 2025-07-07 18:59:24 +10:00
strattond
82fd8555eb Guilds, Parties and more Char props 2025-07-07 14:37:39 +10:00