* 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
* rewrite of saving, replaced operator way with a generic add method, thus
not everywhere the formating of the savefiles is hardcoded.
since its the last spot which uses the old formating lib, remobed the
lib
* removed cmake of old format lib
* testscripts for load/save of UObject,Item,Armor,Weapon
* fixed: member faster_cast_recovery and faster_cast_recovery_mod getter returned
a wrong value
* wrong/missing docs
* test containers, lockable, map, spellbooks
fixed save bug in map and spellbook
removed ancient savestrategy experiments
* added corpse test
splitted testfiles
* fixed loading (ancient bug) and saving (PR bug) of Reportables
added tests for houses, boats, accounts and chars
* fixed include
* fix shutdown leak
* added npc tests
upload complete coretest folder also on failure
* do not write and load RegisteredHouse for NPCs two times
readded extra newline between accounts
* tests for guild, party, realm
added resource cfgs, but a test is not really possible since nothing of
interest is stored
* added datafile, storage test
* activated resource loading, 25year old bug, but since the stored values
are senseless it makes no real difference.
added a few wtf comments
catch all exceptions during formatting of log lines
* replaced .write with explixit .begin, .end and .comment.
for leftovers.txt the StreamSaver was also used, since the format is
different use directly ofstream
* added corechanges
* POLLOG* macros use the new formatting
removed all old logging functions
* removed old fmt lib from everything except StreamWriter
removed unneeded functions
* fixed review comments
* reworked get_item and its undo behaviour.
old position gets stored and in case of failures restored
* removed ancient container content defines
* Fix some packet oddities
- dropitem: Success sent after rejections
- getitem: Double Delete Item packet due to item->extricate
* Store container serial when creating GottenInfo
* Add tests
* add socket mutex to disconnect checks
* Use mutable socket mutex
* add core changes
---------
Co-authored-by: turleypol <turley@polserver.com>
* replaced baseclass x,y,z,realm members with Pos4d.
Adapted the code, no changes except making the compiler happy
* review changes
* Fixed gotten_item
* fixed copy&waste
* added escriptgrammar as external lib where it belongs. Silenced warnings.
* bscript compiler warning fixes
* special include file to get rid of gcc warnings about antlr4
* misc windows warnings
* time specifc warnings
* buildfix + apple warnings
* never trust apple
* windows debug build warnings
* some windows clang warnings
* last warning fix
* tests for several descriptor loading related problems
* fixed copy of cprops from descriptor to intrinsic items
fixed container test
* added shield npcdesc entry
* fixed nodrop/exception loading from itemdesc
* fixed compilation error
* attackdelay should later also trigger creation of npc weapon, added test for it
* intrinsic weapon gets created when AttackSpeed or AttackDelay is set.
* added docs
* changed doc entry
* fixed typo
Removed references to non-inuse items.
Updated documentation.
Included new Racalac Guide documentation supplied by Yukiko.
Clangified my changes.
Updated change log.
new container/npc member no_drop_exception if set target is valid even
if no_drop is set
poltool can now unpack and print compressed gump pkts from a pol/razor
pkt log
Authors are not forced to use the clang-format setting, but should
atleast be inspired by the style.
The only thing which is now not allowed are tabs for ident/alignment!
changed client class from ref_counted to also hold like the uoexecutor a weakptr, use it in the ClientObjImp.
Renamed NPCRef to NpcRef like its been told since years in a TODO comment
fixed some warnings from VS2015
Currently plib/systemstate, pol/uvars, pol/ucfg, pol/multi/multidef
Next step should be to split them based on usage, since its currently a bit of include hell...
When an item was destroyed, the list of equipped items on the corpse was
not updated and there was a dangling pointer left there.
Changed UContainer::remove() to virtual and made an override for it in
UCorpse. This should fix it.
There are three functions to remove an item from a container, but only
one of them was resetting the item's slot. Moving to the one which is
called by the other two.
Coverity complained about not checking when calling slot_index(0). To
make it clear that it can't fail, I've added a reset_slot() and changed
where needed.
Improved the generation of corpse cloth packets by just checking the
equipped items. (Should speed up crowded areas with many corpses which
have items inside)
The corpse clothing will be sent again to nearby chars if items are
added.
Ensured that the equipped layer is reloaded if the shard restarts.
Buffer overrun was occurring when an item had a tile_layer larger than
25. This is the likely reason behind some crashes.
Moved valid_equip_layer() from Character to the namespace Items.
There were calls to PutItemOnLayer() which didn't check if the item had
a proper layer, so I've added asserts to make sure this won't happen
again.