mirror of
https://github.com/polserver/polserver
synced 2026-08-13 08:23:08 -04:00
* 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
17 lines
627 B
Text
17 lines
627 B
Text
use os;
|
|
program start()
|
|
print( "POL initialization complete." );
|
|
// ctest sets POLCORE_TEST_RUN: 1 and 2 are the two test passes, 3 is the world-save
|
|
// round-trip pass; without it the shard stays up for manual testing
|
|
var testrun := CInt( GetEnvironmentVariable( "POLCORE_TEST_RUN" ) );
|
|
if ( testrun == 3 )
|
|
// no busyloop: the shard must stay idle until it has re-saved the world
|
|
start_script( "roundtrip" );
|
|
return;
|
|
elseif ( testrun )
|
|
start_script( "tests" );
|
|
else
|
|
print( "POLCORE_TEST_RUN not set - skipping testscripts, shard stays up." );
|
|
endif
|
|
start_script( "busyloop" );
|
|
endprogram
|