mirror of
https://github.com/UOX3DevTeam/UOX3
synced 2026-08-13 12:27:04 -04:00
Fixed an issue that prevented onBuyFromVendor() and onBoughtFromVendor() JS Events from triggering when attached to NPC shopkeepers
Fixed an issue with help gump that prevented password management section from working as intended (js/server/misc/helpgump.js)
Fixed an issue where UOX3 would fail to load pre-HS multi.mul files
Added chess board to Misc->Games add menu (dfndata/items/ItemMenu.bulk.dfn)
Fixed an issue with 'move (alias for 'telestuff) command that referenced the wrong variable name (js/commands/targeting/tele.js)
When a player is teleported via the GM 'wholist menu, any pets within range are now also brought along for the ride
Consolidated error-reporting for JS Functions, Object Methods and Object Properties to provide more context (scriptID, filename, line number) when something goes wrong
Added some missing shield IDs (0xA649, 0xA64A, 0xA831, 0xA832) to IsShieldType() function
MAXRANGE item property previously only worked for ranged weapons; now it works for melee weapons too, and potentially allows melee weapons with combat range longer than 1 tile
MAXRANGE item property can now be used to define max combat range for melee weapons
Fixed an issue (non-critical) with .PlaceInPack() JS Method that would cause UOX3 to try adding items marked for deletion to refreshQueue and spam console with errors
Added missing AI scripts to summoned Blade Spirits and Energy Vortexes (dfndata/npc/magicsummon.dfn)
Fixed an issue with weight calculation for hireling backpacks (js/npc/ai/hireling.js)
Fixed an issue with the 'fix command, which would in most cases set character's Z to -1 regardless of location, but now adheres to map elevation instead
Fixed an issue with Pack AI (js/npc/ai/pack_ai.js) that prevented pack members from attacking target correctly (thanks Dragon Slayer)
Fixed an issue with DoesMapBlock JS Function that incorrectly checked for 6 function arguments, when it actually requires 8
Fixed an issue with DoesDynamicBlock JS Function that incorrectly checked for 8 function arguments, when it actually requires 9
Fixed an issue with runebook script (js/item/runebook.js) that prevented players from being able to use recall charges without having spellbook with spell in inventory
Fixed issues with placement of tall items on ground/floor, and with stacking of items in houses
Fixed incorrect alias for woodland armor (dfndata/items/gear/armor/other/armor/wood.dfn - thanks Dragon Slayer)
Fixed a critical issue with script context sometimes changing while executing a script, because of events in other scripts being triggered. Affected scripts can be safeguarded against this by the addition of a dummy callback function anywhere in the script: function _restorecontext_() {}
Fixed an issue with non-animal pets not gaining loyalty when being fed (thanks Dragon Slayer)
Added new JS Object Methods for Chars/Items/Multis to fetch list of custom tags associated with object:
.GetTagMap() // Gets list of persistent custom tags associated with object
.GetTempTagMap() // Gets list of temporary custom tags associated with object
Added new JS commands ('GETTAGMAP and 'GETTEMPTAGMAP) that spits out details of custom tags associated with targeted object (js/commands/custom/misc-cmd.js)
Added new JS command ('USEITEM) that acts as a short-cut for double-clicking on targeted item (js/commands/custom/misc-cmd.js)
Updated 'ADD # and 'ADD ITEM # JS commands to support targeting a container directly and adding the new item inside (js/commands/targeting/add.js)
Updated axe script to only perform lumberjacking skill-check when there's still wood available in a given area, and to play appropriate animations for Gargoyle players (js/item/axe.js)
Updated script for gameboards to make generated pieces newbiefied so they won't appear on ground if board decays (js/item/gameboards.js)
Updated script for stablemasters to avoid relying on global variables (js/npc/ai/stablemaster.js)
Updated names of items crafted with runic hammers to include the material name of the hammers used to craft them (js/skill/craft/crafting_complete.js)
Fixed a small issue with Detect Hidden skill that would return the wrong message if players found anyone hiding nearby (js/skill/detecthidden.js)
Fixed an issue that prevented tile overrides in dfndata/maps/tiles.dfn from loading properly
Added entries for a couple of walls with missing no-shoot flags to tile overrides in dfndata/maps/tiles.dfn
Updated JS Method .SoundEffect() to support optional third argument (creatureSoundNum) to play creature-defined sounds from dfndata/creatures/creatures.dfn. New syntax:
.SoundEffect( soundID, allHear[, creatureSoundNum] ) // 0=SOUND_STARTATTACK, 1=SOUND_IDLE, 2=SOUND_ATTACK, 3=SOUND_DEFEND, 4=SOUND_DIE
Added new Character JS Methods:
.SetRandomName( nameListID ) // apply a random name from specified namelist to character
.FindItemSection( sectionID ) // find item in player's backpack with specified sectionID
Added new Socket JS Method:
.OpenContainer() // Opens specified container for socket
78 lines
2.7 KiB
C
78 lines
2.7 KiB
C
//o------------------------------------------------------------------------------------------------o
|
|
//| File - UOXJSPropertyFuncts.cpp
|
|
//| Date - 12/14/2001
|
|
//o------------------------------------------------------------------------------------------------o
|
|
//| Purpose - 1.0 14th December, 2001 Initial implementation
|
|
//| Includes property getters for CItem and CChar, and property
|
|
//| setters for CChar
|
|
//o------------------------------------------------------------------------------------------------o
|
|
#ifndef __UOXJSPropertyFuncs__
|
|
#define __UOXJSPropertyFuncs__
|
|
|
|
typedef JSBool ( JSPropertyFunc )( JSContext *cx, JSObject *obj, jsval id, jsval *vp );
|
|
|
|
JSPropertyFunc CSpellsProps_getProperty;
|
|
JSPropertyFunc CSpellProps_getProperty;
|
|
JSPropertyFunc CSpellProps_setProperty;
|
|
|
|
JSPropertyFunc CGlobalSkillsProps_getProperty;
|
|
JSPropertyFunc CGlobalSkillProps_getProperty;
|
|
JSPropertyFunc CGlobalSkillProps_setProperty;
|
|
|
|
JSPropertyFunc CCreateEntriesProps_getProperty;
|
|
JSPropertyFunc CCreateEntryProps_getProperty;
|
|
JSPropertyFunc CCreateEntryProps_setProperty;
|
|
|
|
JSPropertyFunc CTimerProps_getProperty;
|
|
|
|
JSPropertyFunc CItemProps_getProperty;
|
|
JSPropertyFunc CItemProps_setProperty;
|
|
JSPropertyFunc CCharacterProps_getProperty;
|
|
JSPropertyFunc CCharacterProps_setProperty;
|
|
JSBool CBaseObject_equality( JSContext *cx, JSObject *obj, jsval v, JSBool *bp );
|
|
|
|
JSPropertyFunc CRegionProps_getProperty;
|
|
JSPropertyFunc CRegionProps_setProperty;
|
|
|
|
JSPropertyFunc CSpawnRegionProps_getProperty;
|
|
JSPropertyFunc CSpawnRegionProps_setProperty;
|
|
|
|
JSPropertyFunc CGuildProps_getProperty;
|
|
JSPropertyFunc CGuildProps_setProperty;
|
|
JSPropertyFunc CGuildsProps_getProperty;
|
|
JSPropertyFunc CGuildsProps_setProperty;
|
|
|
|
JSPropertyFunc CRaceProps_getProperty;
|
|
JSPropertyFunc CRaceProps_setProperty;
|
|
|
|
JSPropertyFunc CSocketProps_getProperty;
|
|
JSPropertyFunc CSocketProps_setProperty;
|
|
JSBool CSocket_equality( JSContext *cx, JSObject *obj, jsval v, JSBool *bp );
|
|
|
|
JSPropertyFunc CSkillsProps_getProperty;
|
|
JSPropertyFunc CSkillsProps_setProperty;
|
|
|
|
JSPropertyFunc CGumpDataProps_getProperty;
|
|
|
|
JSPropertyFunc CFileProps_getProperty;
|
|
JSPropertyFunc CFileProps_setProperty;
|
|
|
|
JSPropertyFunc CAccountProps_getProperty;
|
|
JSPropertyFunc CAccountProps_setProperty;
|
|
|
|
JSPropertyFunc CConsoleProps_getProperty;
|
|
JSPropertyFunc CConsoleProps_setProperty;
|
|
|
|
JSPropertyFunc CScriptSectionProps_getProperty;
|
|
JSPropertyFunc CScriptSectionProps_setProperty;
|
|
|
|
JSPropertyFunc CScriptProps_getProperty;
|
|
|
|
JSPropertyFunc CResourceProps_getProperty;
|
|
JSPropertyFunc CResourceProps_setProperty;
|
|
|
|
JSPropertyFunc CPartyProps_getProperty;
|
|
JSPropertyFunc CPartyProps_setProperty;
|
|
JSBool CParty_equality( JSContext *cx, JSObject *obj, jsval v, JSBool *bp );
|
|
|
|
#endif
|