Corrects a number of places where New() did not call ..(), and implements similar changes to attempt to ensure New()/initialize() complete running before qdel() runs.
Cuts down on the number of created items during server start.
- NTNet Quantum Relays now have simple UI that allows users to manually toggle them on/off.
- Implements simplified Denial of Service handling for relays. This will be used by next commit that will add antagonist software.
- Relays can buffer and dissipate certain amount of DoS traffic. If this traffic exceeds certain level (configurable via varedit) the relay crashes temporarily.
- Relays may be manually reset by using specific button in the UI
- Relays are now buildable. They are relatively cheap (circuit board and some cables), but the board requires Data Theory 4 research.
- Hardware pieces are now items, rather than datums.
- Adds deconstruction for computers. Empty tablet/laptop/console frames may be wrenched to break them back into metal sheets. You have to empty the frame first, by using screwdriver to take out components one by one.
- Components may be moved between devices. You can for example take your tablet, remove it's hard drive, and slot it into a console. It will have all the files it had on your tablet.
- Not all hardware can be fitted into all devices. Tablet can't hold 2K GQ cluster hard drive, for example.
- Hardware may be fabricated by research for relatively low costs, once you have relevant research levels. Obtaining computer this way is much cheaper than buying it at the vendor.
- Data crystals added (glorified USB flash sticks) that allow file transfer to different devices. File browser program updated accordingly to support importing/exporting of files to these crystals.
- Battery module added. These are wrappers for actual power cell object and act as limit for cell size, otherwise it would be possible to have 30k cells inside devices, which would allow them to run insanely long.
Adds the following:
Actor Guild for ghosts to spawn at.
Board for playing board games.
Two trading card games with booster packs.
Tarot cards.
Cargo can now supply lasertag equipment as well as decks/booster packs
Also: removes automatic shuttle calls when callers are destroyed;
Applies qdel;
Fixes teleporter control console design that probably didn't work
before.
Protolathe and CI build procs moved to them from RD console.
Protolathe and CI now have a build queue. Designs take varying time to
build.
P and CI material storage is now a list instead of a set of vars.
origin_tech is now a list.
All sheets now contain exactly 2000 units of matter.
In design datum, chemicals and materials are two separate lists.
Designs are now sorted. The method is kinda hacky but flexible. They
have a var, sort_string. Designs are sorted alphabetically using it.
Circuits how show whether they build a machine or a computer in CI menu.
Adds item construction, for now protolathe is used.
Makes syringe guns a type of launcher gun, and removes the hack
projectile.
Also moves syringe and dart gun source files into the modules/projectile
folder.
Everything in game/machinery/computers/ and modules/shuttles should now have properly (de)capitalized names. Computer, board and research names should now be coherent, too. Adds a research for employment records circuit board.
They now use a better system of assigning names and descriptions. Removes the need to copypaste most of the lines. For now only computer boards were changed. Also attempt to do proper capitalization.
Also moved RCON console board and SMES board where they belong. Formatted some board code and fixed some typos, too.
Cloning console renamed to Cloning Control Console.
The teleporter console is now called Teleporter Control Console.
The power monitor is now called Power Monitoring Console.
SMES board glass and acid construction price normalized (though other resources are still required; is that a good thing? It would be better to just introduce a new expensive part that is used to build it (if the coils aren't enough) rather than have a single board with atypical price.