* Initial implementation, tests
* Enhance tests
* Add quiet to read_dbg_file
* Add pc to array format
* Add docs, core-changes
* fix bad PCs
* touchup on corechanges
* added multi prop/itemdesc items_decay
added region cfg entry NoDecay
misc cleanup eg chr->equip sets position instead of calling side
* docs
* added future pos refactoring comment
* changed region NoDecay to ItemsDecay so it matches the other props
* Initial commit of min and max range increase dynaprops.
* Fixed documentation and reported style issues.
* More style check fixes.
* Update missing uobject and script objects for new props.
* Rectify missing code from uoscrobj which prevented assignment on mobiles.
Changed range logic from weapons to include some sanity checks.
* Add a simple test
---------
Co-authored-by: Jonathan Morland-Barrett <jonathan@veridiandynamics.com.au>
Co-authored-by: Kevin Eady <8634912+KevinEady@users.noreply.github.com>
* added ssopt AllowVisualRangeModification which allows clients to modiy
their LOS via pkt 0xC8
* added ssopt MinimumVisualRange and MaximumVisualRange to limit the range
a client can define.
added r/w script member client.visual_range
if set via script the updaterange can no longer be modified by the
client
* fixed typo
* missing include
* if via script the visual_range is set to 0 use the client given range
remove/add objects when the visual range changes
added test
fixed testclient 0xbf sub clienttype packet
* extra logic to send/remove objects only if they are now/no longer
visible due to range change
script can by pass the VisualRange limit
added docs
* core changes
* Support default args in funcref calls
- Simplify BFunctionRef by using funcref index
- Emit default args when visiting function reference
* Move default args gen to second-pass visit
* Better error message on param count errors
* Check for constructor in MTH_NEW
* Address self-review comments
- Update code comments
* Introduce ResourceManager to pol testsuite
- Create a new class-based resource manager for deleting resources
(item NPCs, multis) after each test.
- Migrate house_set_multiid test to use new ResourceManager.
* Move resource cleanup
* Update grammar
* Implement selfIs in BObjectImp
* Add tests
* Update grammar
* Support obj.function as a MemberAccess [1/2]
- AST generation changes
* Support obj.function as a MemberAccess [2/2]
- add funcref index to eprog class table ctor entry
- allow check_mro on non-class inst (skip ctor calls)
* Move address of funcref into funcref table
* Add funcref.new()
- Add class index to funcref table entry
- Add MTH_NEW
* Fix formatting
* Address self-review comments
* Some more tests
* Address self-review comments
* Update grammar
* Remove ObjMember read_only, hidden
No need to special-handle MBR_FUNCTION
* Addres GitHub CI annotations
- '=': conversion from 'size_t' to 'unsigned int', possible loss of data
* POC of calling user functions from core
* rename to BContinuation
* fix annotation warnings
* fix annotation warnings 2
* some cleanup, comments
* add more params to filter
* add more tests
* fix stack issues, wip determine what to do with printStack helper testing function
* print stack only for debug; increase OTContinuation to 100
* docs
* remove debugging leftovers
* Implementation
* wip testing
* allow setting held weight mod to long value
* more tests
* address github actions warnings
- unary minus operator applied to unsigned type, result still unsigned
* Add docs, core-changes
* fix GetItemDescriptor() for HeldWeightMultiplierMod; update tests
* update docs a bit more
* Remove mod suffix
* Add item.weight_multiplier_mod
* Add test for item.weight_multiplier_mod
* add core-changes and docs
* Address review comments
- Use `Clib::clamp_convert`
- Remove new `weight_of` function
* Buffs: should be now possible to set for the first cliloc arguments,
added chr.buffs member to return the current buffs
* added test
* docs
* more docs
* Fix unhandled exception in UBoat::create_component
* Return 0 on unsuccessful boat move with MoveBoat and MoveBoatRelative
* Add boat.set_alternate_multiid
* skip base multiid in alternates boat struct
* Add test for boat.set_alternate_id
* docs, core-changes
* use array equals in test
* Initial work on boat piloting changes
- Changed: Boat script is now registered as the boat's control script
- Added: Boat piloting via mouse movement
- Added: boatRef.pilot member
- Added: boatRef.pilot([charRef]) method
* add first test
* Fix boat control script attach on scripted create
* move boat move packet warnings to suspicious acts
* set pilot now errors when mutli has no process
* Add test, testclient support for boat move packet
* Touchup pilot members and methods
- Change `pilot` method to `setpilot`. This standarizes it a bit with
the same naming convention of `npc.setmaster`.
- Fix return values in `pilot` member, returning `0` if no pilot.
* Refactor to put functionality inside UBoat
* Address Discord comments
- Remove SuspecisionActs for no boat process.
- Add `relative_direction` to boat move sysevent.
* destroy boatmount on chr death; more error checks
* Fix compilation after master merge
* Fix relative_direction calculation
* wip tests
* Fix boat tests
* Address review comments
- Initialize UBoat::mountpiece
* Add HSA check to boat.setpilot
* Reject movement if boat mountpiece equipped
* docs; test cleanup
* add test for blocked movement
* Address Discord review comments
- Add suspicious acts notice for client movement while piloting
- Return error on attempting to script move a char that is piloting a boat
* Fix compiler warning
* add item.character_owner
* Address review comments
- Cleanup chr_from_wornitems
- Return BError if no character owner
* Add Target option TGTOPT_ALLOW_NONLOCAL
* Address review comments
- Remove `Core::chr_from_wornitems`
* Add pol tests for snooping
* Add tests for TGTOPT_ALLOW_NONLOCAL
* target_nonlocal_checklos pol test debugging
* target_nonlocal_checklos pol test debugging
- Remove destroy of obstacle
- Add a CheckLosAt call to error return
* target_nonlocal_checklos pol test debugging
- Enable USAN build
* undo test debugging changes
* use mobile for los when targetting snoopable items
* Update core-changes
* Persist SnoopScript for items on save
* Add snoop_script_ to Item::estimatedSize
* document SnoopScript script type
* Initial work on adding SnoopScript
* use message "That doesn't belong to you..." if lifting a snoopable item
* fix configfile changes
* Update core-changes
* Fix SetString packet hook method writing UTF-8 instead of CP-1252. Add a new method, SetUtf8String, for writing UTF-8.
* Add functions that operate on whole strings.
* Fix a couple of bugs and add unit tests.
* Do not convert if the string doesn't contain any UTF-8
* Convert 0x80..0x9f control characters, which don't exist in cp1252, to question marks
* Fix SetUtf8String writing too few bytes if the string contained multi-byte UTF-8 characters
* Remove extraneous parameter from TextCommandScript documentation
* Update changes and docs