The surgical kit can now contain the equipment it came with. It can also not contain more items of a given type than it was spawned with.
This means that even if the storage container otherwise has sufficient space it can, for example, still only ever contain 1 surgical saw.
Fixes#11298. Fixes#11297.
Datum pool no longer creates a new object just for the sake of it when initializing pool lists.
Also bandaids an issue where water could be qdeled while being sprayed and reagents nulled, because someone calls spawn() qdel in new.
Datum pool now also adds excess pool objects on the trash pile instead of calling del directly.
Can now see the current compilation date and revision:
* In the Dream Daemon log output.
* By using the "Show Server Revision" client verb which also links you to the commit in question.
Now instead calls the proper round-end proc when finishing the round, allowing admins to interrupt restart if desired.
None of the current end game variants currently use over/underlays, they are now content with coloring space.
On endgame start, the entire world is now updated in a spawn() instead, reducing crippling lag.
Adds support to designate APCs are critical, these are not drained during world end events.
Fixes a couple of potential runtime errors if no escape points have bee mapped in.
People in wheelchairs and mechas can now enter the world end rift.
Cult walls no longer cultify over and over, indefinitely.
Credits go to /TG/, I just figured I'd do what the other codebases do and take it over for us as well.
Changes:
Optimises uniquelist()
also renames it from uniquelist() to uniqueList()
Test 1:
1,000,000 random numbers between 1 and 7 in a list.
Clean out duplicates with current uniquelist(), once:
self: 0.362
Clean out duplicates with my new uniqueList(), once:
self: 0.184
Test 2:
3,000,000 random numbers between 1 and 7 in a list.
Clean out duplicates with current uniquelist(), once:
self: 1.069
Clean out duplicates with my new uniqueList(), once:
self: 0.496
Grilles no longer return more rods than they were created from when destroyed (by method other than wirecutters).
Rods are now acquired from and returned to a pool.
Also adds a pre-broken grille for mapping, avoids the case where one might be able to destroy the same grille twice.