polserver/docs/docs.polserver.com/pol100
Fernando Rozenblit 721e4fefe0
Refactor Item states to be explicit instead of implicit (#919)
* extend tests

* more tests for world save

* explicit handle the special layers in wornitem

* add Location variant and relocate() methods

* refactor GottenItem and ensure Chr, not wornitems, is saved

* deflake escript watch test

* dropitem and undo refactoring

* uomod changes

* add more item tests (buy, sell, hair...)

* use location for undoing trade container properly

* rewrite loaddata to use relocate, fixing startup crashes

* do remaining location changes

* fix CI tests

* remove container pointer from item and add wearer() reference

* remove layer writes and explicit intrinsic weapon handling

* add preparing state for fresh items without serial number

* move wornitems to detached state only when it has a serial number

* load corpse items into the correct layer

* do not set a layer on load before the item is equipped

* add more tests to equipped and intrinsic items

* remove layer and substitute with the location()

* add core-changes summary

* mark items as being worn on corpse if they only moved within the corpse

* block Preparing from being reached, just to be sure

* added integrity sweep check

* Reduce direect changes to item location

* Add Item::move_into() and rewrite calling sites

* Fix container slots

* get rid of the slot_index on the item, because Location() already has it

* fix race in test leading to macos issues

* fix dangling pointer

* remove corpse can_equip_list and rely on the GottenItem rules to dress the corpse again

* let item->destroy() detach the item

* make integrity checks fail the tests

* use place_at(item, newpos) for changing item position InWorld

* add boat test for item moved out of boat that should not be visible anymore

* use place_at() in more places

* ensure CreateItemAtLocation really does

* fix Claude instructions

* remove state we didn't need

* fine tuning

* reduce test flakiness
2026-08-10 18:17:53 +00:00
..
images Updating doc version to POL100 2018-02-11 00:01:46 +01:00
include Add https to docs links (#838) 2025-12-29 09:46:15 +01:00
.gitignore Updating doc version to POL100 2018-02-11 00:01:46 +01:00
attack.dtd Updating doc version to POL100 2018-02-11 00:01:46 +01:00
attack.php Updating doc version to POL100 2018-02-11 00:01:46 +01:00
attack.xml Attackable item (#884) 2026-07-30 20:27:36 +02:00
attack.xslt Updating doc version to POL100 2018-02-11 00:01:46 +01:00
attributesem.xml added docs for checkskill change 2020-08-01 10:00:08 +02:00
basicem.xml Add support for regular expressions (#818) 2025-11-17 18:02:45 +01:00
basicioem.xml extended print and syslog with color support (#544) 2023-10-18 15:18:06 +02:00
boatem.xml Add boat.set_alternate_multiid (#593) 2024-01-10 11:34:40 +01:00
buildoffline.php Updating doc version to POL100 2018-02-11 00:01:46 +01:00
builtintextcmds.dtd Updating doc version to POL100 2018-02-11 00:01:46 +01:00
builtintextcmds.php Updating doc version to POL100 2018-02-11 00:01:46 +01:00
builtintextcmds.xml Updating doc version to POL100 2018-02-11 00:01:46 +01:00
builtintextcmds.xslt Updating doc version to POL100 2018-02-11 00:01:46 +01:00
cfgfileem.xml Appendcfgelem error (#358) 2020-12-17 22:06:05 +01:00
clilocem.xml Updating doc version to POL100 2018-02-11 00:01:46 +01:00
configfiles.dtd Updating doc version to POL100 2018-02-11 00:01:46 +01:00
configfiles.php Updating doc version to POL100 2018-02-11 00:01:46 +01:00
configfiles.xml Attackable item (#884) 2026-07-30 20:27:36 +02:00
configfiles.xslt Updating doc version to POL100 2018-02-11 00:01:46 +01:00
corechanges.dtd Updating doc version to POL100 2018-02-11 00:01:46 +01:00
corechanges.php Updating doc version to POL100 2018-02-11 00:01:46 +01:00
corechanges.xml Refactor Item states to be explicit instead of implicit (#919) 2026-08-10 18:17:53 +00:00
corechanges.xslt Updating doc version to POL100 2018-02-11 00:01:46 +01:00
datafileem.xml Updating doc version to POL100 2018-02-11 00:01:46 +01:00
escript.dtd Updating doc version to POL100 2018-02-11 00:01:46 +01:00
escript.xslt Updating doc version to POL100 2018-02-11 00:01:46 +01:00
events.dtd Updating doc version to POL100 2018-02-11 00:01:46 +01:00
events.php Updating doc version to POL100 2018-02-11 00:01:46 +01:00
events.xml Non blocking gump cmd (#871) 2026-03-16 08:11:43 +01:00
events.xslt Updating doc version to POL100 2018-02-11 00:01:46 +01:00
fileem.xml added missing objreference documentation eg. complete xml objects. 2019-11-10 11:29:19 +01:00
front_em.xslt Updating doc version to POL100 2018-02-11 00:01:46 +01:00
fullfunc.php Updating doc version to POL100 2018-02-11 00:01:46 +01:00
guides.php Updating doc version to POL100 2018-02-11 00:01:46 +01:00
guildsem.xml Updating doc version to POL100 2018-02-11 00:01:46 +01:00
httpem.xml Add flag to os::HTTPRequest() for additional response data; Add http::WriteStatus() and http::WriteHeader() (#504) 2023-02-08 21:13:48 +01:00
index.php Add https to docs links (#838) 2025-12-29 09:46:15 +01:00
mathem.xml Updating doc version to POL100 2018-02-11 00:01:46 +01:00
modules.dtd Updating doc version to POL100 2018-02-11 00:01:46 +01:00
modules.xml Updating doc version to POL100 2018-02-11 00:01:46 +01:00
npcem.xml Add servspecopt NpcMinimumMovementDelay (#642) 2024-04-24 17:02:13 +02:00
objref.dot Add support for regular expressions (#818) 2025-11-17 18:02:45 +01:00
objref.dtd Fix bad docs (#682) 2024-08-03 12:27:36 +00:00
objref.php Updating doc version to POL100 2018-02-11 00:01:46 +01:00
objref.svg Add support for regular expressions (#818) 2025-11-17 18:02:45 +01:00
objref.xml Refactor Item states to be explicit instead of implicit (#919) 2026-08-10 18:17:53 +00:00
objref.xslt Add support for regular expressions (#818) 2025-11-17 18:02:45 +01:00
osem.xml Multiple network improvements (#894) 2026-07-13 06:47:24 +02:00
partyem.xml Add module function party::ListParties() (#886) 2026-05-23 08:27:16 +02:00
picture_gump_finish_1.jpg Updating doc version to POL100 2018-02-11 00:01:46 +01:00
polsysem.xml Refactor Item states to be explicit instead of implicit (#919) 2026-08-10 18:17:53 +00:00
privileges.dtd Updating doc version to POL100 2018-02-11 00:01:46 +01:00
privileges.php Updating doc version to POL100 2018-02-11 00:01:46 +01:00
privileges.xml Updating doc version to POL100 2018-02-11 00:01:46 +01:00
privileges.xslt Updating doc version to POL100 2018-02-11 00:01:46 +01:00
scripttypes.dtd Updating doc version to POL100 2018-02-11 00:01:46 +01:00
scripttypes.php Updating doc version to POL100 2018-02-11 00:01:46 +01:00
scripttypes.xml Pass OfflineCharacterRef for equip, unequip scripts character parameters (#827) 2025-11-19 14:22:39 +01:00
scripttypes.xslt Updating doc version to POL100 2018-02-11 00:01:46 +01:00
sqlem.xml SQL non default port, escape string (#629) 2024-03-10 14:31:30 +01:00
storageem.xml Fix storage area usage in module functions (#551) 2023-10-16 12:33:54 -04:00
style.css use xml text for description of methods/members (#678) 2024-08-01 22:49:37 +02:00
unicodeem.xml Update uo.em (#481) 2022-10-24 13:30:42 +02:00
uoem.xml Attackable item (#884) 2026-07-30 20:27:36 +02:00
utilem.xml Add module function util::RandomUUID() (#803) 2025-08-16 13:39:34 +02:00
vitalsem.xml Attackable item (#884) 2026-07-30 20:27:36 +02:00