# Catalogue System
## Premise
- System for cataloguing items for data and techpoints
- Likely to be unused on Main for a while - built for unified backend on both servers as RP will use this a ton at first.
## Catalogue Data
- /datum/catalogue_data
- Lazygenerated by path, or pregenerated for complex items
- name
- desc
- category
- scan difficulty
- partial scan data (name, desc, etc)
- points
- science data
- returned by a proc: things like someone's species can have catalogue data on it.
- each atom in the world can hold either one typepath to this data, or a /datum/catalogue_group of all the data it has
- comsigs are fired on scan: can modify this.
- comsigs and data can return information on failed/partial scan as hints
## Scanners
- handheld scanners
- machinery that scans anything under it
- deconstructor analyzer
- usually not preferred, bad idea to use this unless required as it destroys the object
- dedicated coolant-required scanner pads for high difficulty objects
- each one has a scan power that corrosponds to scan difficulty
## Catalogue Points
- Arbitrary mining-point redemption like system
- Configured via server config to store into research network, globals, or onto the individual scanner (which is then extracted by ID cards), or even disabled
- On RP this would be ship-networked, on main this would be individual or disabled
- If shared, vendors would directly access the network, or a network junction would be in the room with a vendor. If individual, you'd insert your ID. Points work either way, the config just determines default.
## Catalogue Data
- Stored into a linked research network
- Stores both the datum itself, and optionally, points of associated data types.
- Obviously you can't scan the same thing multiple times for more data.
## Items
- Scan data can be on any /atom
- Handheld scanners can highlight any /atom around them that can be scanned.
### Discovery
- Some things aren't obvious and require a manual scan. Especially if you have, say, an archeology component on something and it returns custom data
### Artifacts, Seeding
- Some things aren't fully scannable until you manage to make them work; see: artifacts.
- Optimally scannable items would be seeded deterministically from world seed, or at the very least be in ruins for ones taht are not.
- The station will have no scannable things spawn on it, ever.