Implements the new Codex.

This commit is contained in:
Neerti
2017-04-03 12:41:59 -04:00
parent d4b6fc9f32
commit a4a05ae4ec
14 changed files with 888 additions and 15 deletions

View File

@@ -180,3 +180,14 @@
#define ROLE_SYNTHETIC "synthetic"
#define ROLE_UNKNOWN "unknown"
#define ROLE_EVERYONE "everyone"
// Canonical spellings of TSCs, so typos never have to happen again due to human error.
#define TSC_NT "NanoTrasen"
#define TSC_HEPH "Hephaestus" // Because everyone misspells it
#define TSC_VM "Vey Med"
#define TSC_ZH "Zeng-Hu"
#define TSC_WT "Ward-Takahashi"
#define TSC_BC "Bishop Cybernetics"
#define TSC_MORPH "Morpheus"
#define TSC_XION "Xion" // Not really needed but consistancy I guess.
#define TSC_GIL "Gilthari"

View File

@@ -2,6 +2,7 @@
/datum/lore/organization
var/name = "" // Organization's name
var/short_name = "" // Organization's shortname (NanoTrasen for "NanoTrasen Incorporated")
var/acronym = "" // Organization's acronym, e.g. 'NT' for NanoTrasen'.
var/desc = "" // One or two paragraph description of the organization, but only current stuff. Currently unused.
var/history = "" // Historical discription of the organization's origins Currently unused.
var/work = "" // Short description of their work, eg "an arms manufacturer"
@@ -52,11 +53,22 @@
//////////////////////////////////////////////////////////////////////////////////
// TSCs
/datum/lore/organization/nanotrasen
/datum/lore/organization/tsc/nanotrasen
name = "NanoTrasen Incorporated"
short_name = "NanoTrasen"
desc = "" // Todo: Write this.
history = "" // This too.
acronym = "NT"
desc = "NanoTrasen is one of the foremost research and development companies in SolGov space. \
Originally focused on consumer products, their swift move into the field of Phoron has lead to \
them being the foremost experts on the substance and its uses. In the modern day, NanoTrasen prides \
itself on being an early adopter to as many new technologies as possible, often offering the newest \
products to their employees. In an effort to combat complaints about being 'guinea pigs', Nanotrasen \
also offers one of the most comprehensive medical plans in SolGov space, up to and including cloning \
and therapy.\
<br><br>\
NT's most well known products are its phoron based creations, especially those used in Cryotherapy. \
It also boasts an prosthetic line, which is provided to its employees as needed, and is used as an incentive \
for newly tested posibrains to remain with the company."
history = "" // To be written someday.
work = "research giant"
headquarters = "Luna"
motto = ""
@@ -75,7 +87,7 @@
"Vir Interstellar Spaceport"
)
/datum/lore/organization/nanotrasen/New()
/datum/lore/organization/tsc/nanotrasen/New()
..()
// Get rid of the current map from the list, so ships flying in don't say they're coming to the current map.
var/string_to_test = "[using_map.station_name] in [using_map.starsys_name]"
@@ -84,9 +96,10 @@
/datum/lore/organization/hephaestus
/datum/lore/organization/tsc/hephaestus
name = "Hephaestus Industries"
short_name = "Hephaestus"
acronym = "HI"
desc = "Hephaestus Industries is the largest supplier of arms, ammunition, and small millitary vehicles in Sol space. \
Hephaestus products have a reputation for reliability, and the corporation itself has a noted tendency to stay removed \
from corporate politics. They enforce their neutrality with the help of a fairly large asset-protection contingent which \
@@ -102,9 +115,10 @@
"a SolGov dockyard on Luna"
)
/datum/lore/organization/vey_med
/datum/lore/organization/tsc/vey_med
name = "Vey Medical"
short_name = "Vey Med"
acronym = "VM"
desc = "Vey-Med is one of the newer TSCs on the block and is notable for being largely owned and opperated by Skrell. \
Despite the suspicion and prejudice leveled at them for their alien origin, Vey-Med has obtained market dominance in \
the sale of medical equipment-- from surgical tools to large medical devices to the Oddyseus trauma response mecha \
@@ -120,9 +134,10 @@
ship_prefixes = list("VTV" = "transportation", "VMV" = "medical resupply")
destination_names = list()
/datum/lore/organization/zeng_hu
/datum/lore/organization/tsc/zeng_hu
name = "Zeng-Hu pharmaceuticals"
short_name = "Zeng-Hu"
acronym = "ZH"
desc = "Zeng-Hu is an old TSC, based in the Sol system. Until the discovery of Phoron, Zeng-Hu maintained a stranglehold \
on the market for medications, and many household names are patentted by Zeng-Hu-- Bicaridyne, Dylovene, Tricordrizine, \
and Dexalin all came from a Zeng-Hu medical laboratory. Zeng-Hu<48>s fortunes have been in decline as Nanotrasen<65>s near monopoly \
@@ -137,9 +152,10 @@
ship_prefixes = list("ZTV" = "transportation", "ZMV" = "medical resupply")
destination_names = list()
/datum/lore/organization/ward_takahashi
/datum/lore/organization/tsc/ward_takahashi
name = "Ward-Takahashi General Manufacturing Conglomerate"
short_name = "Ward-Takahashi"
acronym = "WT"
desc = "Ward-Takahashi focuses on the sale of small consumer electronics, with its computers, communicators, \
and even mid-class automobiles a fixture of many households. Less famously, Ward-Takahashi also supplies most \
of the AI cores on which vital control systems are mounted, and it is this branch of their industry that has \
@@ -154,9 +170,10 @@
ship_prefixes = list("WTV" = "freight")
destination_names = list()
/datum/lore/organization/bishop
/datum/lore/organization/tsc/bishop
name = "Bishop Cybernetics"
short_name = "Bishop"
acronym = "BC"
desc = "Bishop<6F>s focus is on high-class, stylish cybernetics. A favorite among transhumanists (and a b<>te noire for \
bioconservatives), Bishop manufactures not only prostheses but also brain augmentation, synthetic organ replacements, \
and odds and ends like implanted wrist-watches. Their business model tends towards smaller, boutique operations, giving \
@@ -171,9 +188,10 @@
ship_prefixes = list("BTV" = "transportation")
destination_names = list()
/datum/lore/organization/morpheus
/datum/lore/organization/tsc/morpheus
name = "Morpheus Cyberkinetics"
short_name = "Morpheus"
acronym = "MC"
desc = "The only large corporation run by positronic intelligences, Morpheus caters almost exclusively to their sensibilities \
and needs. A product of the synthetic colony of Shelf, Morpheus eschews traditional advertising to keep their prices low and \
relied on word of mouth among positronics to reach their current economic dominance. Morpheus in exchange lobbies heavily for \
@@ -236,7 +254,7 @@
)
destination_names = list()
/datum/lore/organization/xion
/datum/lore/organization/tsc/xion
name = "Xion Manufacturing Group"
short_name = "Xion"
desc = "Xion, quietly, controls most of the market for industrial equipment. Their portfolio includes mining exosuits, \
@@ -253,7 +271,7 @@
// Governments
/datum/lore/organization/sifgov
/datum/lore/organization/gov/sifgov
name = "Sif Governmental Authority"
short_name = "SifGov"
desc = "SifGov is the sole governing administration for the Vir system, based in New Reykjavik, Sif. It is a representative \
@@ -274,13 +292,14 @@
"Vir Interstellar Spaceport"
)
/datum/lore/organization/solgov
/datum/lore/organization/gov/solgov
name = "Solar Confederate Government"
short_name = "SolGov"
acronym = "SCG"
desc = "SolGov is a decentralized confederation of human governmental entities based on Luna, Sol, which defines top-level law for their member states. \
Member states receive various benefits such as defensive pacts, trade agreements, social support and funding, and being able to participate \
in the Colonial Assembly. The majority, but not all human territories are members of SolGov. As such, SolGov is a major power and \
defacto represents humanity on the galatic stage."
defacto represents humanity on the galactic stage."
history = "" // Todo
work = "governing polity of humanity's Confederation"
headquarters = "Luna"
@@ -301,7 +320,7 @@
// Military
/datum/lore/organization/sif_guard
/datum/lore/organization/mil/sif_guard
name = "Sif Homeguard Forces" // Todo: Get better name from lorepeople.
short_name = "SifGuard"
desc = ""

View File

@@ -290,6 +290,7 @@
'html/images/ntlogo.png',
'html/images/sglogo.png',
'html/images/talisman.png',
'html/images/paper_bg.png',
'icons/pda_icons/pda_atmos.png',
'icons/pda_icons/pda_back.png',
'icons/pda_icons/pda_bell.png',

View File

@@ -13,6 +13,11 @@
path = /obj/item/device/communicator
cost = 0
/datum/gear/utility/codex
display_name = "the traveler's guide to vir"
path = /obj/item/weapon/book/codex
cost = 0
/datum/gear/utility/folder_blue
display_name = "folder, blue"
path = /obj/item/weapon/folder/blue

View File

@@ -0,0 +1,139 @@
// Inherits from /book/ so it can fit on bookshelves.
/obj/item/weapon/book/codex
name = "The Traveler's Guide to Human Space: Vir Edition"
desc = "Contains useful information about the world around you. It seems to have been written for travelers to Vir, human or not. It also \
has the words 'Don't Panic' in small, friendly letters on the cover."
icon_state = "codex"
unique = TRUE
var/datum/lore/codex/home = null // Top-most page.
var/datum/lore/codex/current_page = null // Current page or category to display to the user.
var/list/indexed_pages = list() // Assoc list with search terms pointing to a ref of the page. It's created on New().
var/list/history = list() // List of pages we previously visited.
/obj/item/weapon/book/codex/initialize()
..()
generate_pages()
/obj/item/weapon/book/codex/proc/generate_pages()
home = new /datum/lore/codex/category/main(src) // This will also generate the others.
current_page = home
indexed_pages = current_page.index_page()
// Changes current_page to its parent, assuming one exists.
/obj/item/weapon/book/codex/proc/go_to_parent()
if(current_page && current_page.parent)
current_page = current_page.parent
// Changes current_page to a specific page or category.
/obj/item/weapon/book/codex/proc/go_to_page(var/datum/lore/codex/new_page, var/dont_record_history = FALSE)
if(new_page) // Make sure we're not going to a null page for whatever reason.
current_page = new_page
if(!dont_record_history)
history.Add(new_page)
/obj/item/weapon/book/codex/proc/quick_link(var/search_word)
for(var/word in indexed_pages)
if(lowertext(search_word) == lowertext(word)) // Exact matches unfortunately limit our ability to perform SEOs.
go_to_page(indexed_pages[word])
return
// Returns to the last visited page, based on the history list.
/obj/item/weapon/book/codex/proc/go_back()
if(history.len - 1)
if(history[history.len] == current_page)
history.len-- // This gets rid of the current page in the history.
go_to_page(pop(history), dont_record_history = TRUE) // Where as this will get us the previous page that we want to go to.
/obj/item/weapon/book/codex/proc/get_tree_position()
if(current_page)
var/output = ""
var/datum/lore/codex/checked = current_page
output = "<b>[checked.name]</b>"
while(checked.parent)
output = "<a href='?src=\ref[src];target=\ref[checked.parent]'>[checked.parent.name]</a> \> [output]"
checked = checked.parent
return output
/obj/item/weapon/book/codex/proc/make_search_bar()
var/html = {"
<form id="submitForm" action="?">
<input type = 'hidden' name = 'src' value = '\ref[src]'>
<input type = 'hidden' name = 'action' value='search'>
<label for = 'search_query'>Page Search: </label>
<input type = 'text' name = 'search_query' id = 'search_query'>
<input type = 'submit' value = 'Go'>
</form>
"}
return html
/obj/item/weapon/book/codex/attack_self(mob/user)
display(user)
/obj/item/weapon/book/codex/proc/display(mob/user)
icon_state = "[initial(icon_state)]-open"
if(!current_page)
generate_pages()
//"common", 'html/browser/common.css'
user << browse_rsc('html/browser/codex.css', "codex.css")
var/dat
dat = "<head>"
dat += "<title>[src.name] ([current_page.name])</title>"
dat += "<link rel='stylesheet' href='codex.css' />"
dat += "</head>"
dat += "<body>"
dat += "[get_tree_position()]<br>"
dat += "[make_search_bar()]<br>"
dat += "<center>"
dat += "<h2>[current_page.name]</h2>"
dat += "<br>"
if(current_page.data)
dat += "[current_page.data]<br>"
dat += "<br>"
if(istype(current_page, /datum/lore/codex/category))
dat += "<div class='button-group'>"
// dat += "<ul>"
var/datum/lore/codex/category/C = current_page
for(var/datum/lore/codex/child in C.children)
// dat += "<a href='?src=\ref[src];target=\ref[child];class=button'>[child.name]</a><br>" // Todo, change into pretty CSS buttons.
dat += "<a href='?src=\ref[src];target=\ref[child]' class='button'>[child.name]</a>"
// dat += "</ul>"
dat += "</div>"
dat += "<hr>"
if(history.len - 1)
dat += "<br><a href='?src=\ref[src];go_back=1'>\[Go Back\]</a>"
if(current_page.parent)
dat += "<br><a href='?src=\ref[src];go_to_parent=1'>\[Go Up\]</a>"
if(current_page != home)
dat += "<br><a href='?src=\ref[src];go_to_home=1'>\[Go To Home\]</a>"
dat += "</center></body>"
user << browse(dat, "window=the_empress_protects;size=600x550")
onclose(user, "the_empress_protects", src)
/obj/item/weapon/book/codex/Topic(href, href_list)
. = ..()
if(.)
return
if(href_list["target"]) // Direct link, using a ref
var/datum/lore/codex/new_page = locate(href_list["target"])
go_to_page(new_page)
else if(href_list["search_query"])
quick_link(href_list["search_query"])
else if(href_list["go_to_parent"])
go_to_parent()
else if(href_list["go_back"])
go_back()
else if(href_list["go_to_home"])
go_to_page(home)
else if(href_list["quick_link"]) // Indirect link, using a (hopefully) indexed word.
quick_link(href_list["quick_link"])
else if(href_list["close"])
icon_state = initial(icon_state)
usr << browse(null, "window=the_empress_protects")
return
display(usr)

View File

@@ -0,0 +1,129 @@
/datum/lore/codex/category/important_locations
name = "Important Locations"
data = "There are several locations of interest that you may come across when visiting the system Vir."
children = list(
/datum/lore/codex/page/vir,
/datum/lore/codex/page/radiance_energy_chain,
/datum/lore/codex/page/firnir,
/datum/lore/codex/page/tyr,
/datum/lore/codex/page/sif,
/datum/lore/codex/page/vir_interstellar_spaceport,
/datum/lore/codex/page/southern_cross,
/datum/lore/codex/page/magni,
/datum/lore/codex/page/kara,
/datum/lore/codex/page/northern_star,
/datum/lore/codex/page/rota
)
/datum/lore/codex/page/vir/add_content()
name = "Vir (Star)"
keywords += list("Vir")
data = "Vir is an A-type main sequence star with 81% more mass than Sol (the humans' home star), and almost nine times as bright. It \
has a white glow, and a diameter that is about 34% larger than Sol. It has six major planets in its orbit.\
<br><br>\
Vir is mainly administered on [quick_link("Sif")] by the [quick_link("Sif Governmental Authority")], as Sif \
was the first planet to be colonized, however SGA lays claim to all planets orbiting Vir. The planets \
are named after figures in ancient human mythology (Norse), due to the original surveyor for the system deciding to do so. \
Some installations carry on this tradition."
/datum/lore/codex/page/radiance_energy_chain/add_content()
name = "Radiance Energy Chain (Artificial Satellites)"
keywords += list("Radiance Energy Chain")
data = "A sparse government-owned chain of automated stations exists between Firnir and the star itself. The idea is based on \
an ancient design that was pioneered at Sol. The stations are heavily shielded from the stellar radiation, and feature massive \
arrays of photo-voltaic panels. Each station harvests energy from Vir using the solar panels, and sends it to other areas of \
the system by beaming the energy to several relay stations farther away from the star, typically with a large laser.\
<br><br>\
These stations are generally devoid of life, instead, they are operated mainly by [quick_link("drones")], with maintenance performed \
by [quick_link("positronic")] equipped units in shielded chassis, or very brave humans in voidsuits that protect from extreme heat, and radiation. There are \
currently 19 stations in operation."
/datum/lore/codex/page/firnir/add_content()
name = "Firnir (Terrestrial Planet)"
keywords += list("Firnir")
data = "Firnir is the first planet of Vir, tidally locked to it, and having temperatures in excess of 570 degrees \
kelvin (299<39>C) on the day side has caused this planet to go mostly ignored."
/datum/lore/codex/page/tyr/add_content()
name = "Tyr (Terrestrial Planet)"
keywords += list("Tyr")
data = "The second closest planet to [quick_link("Vir")], this planet has a high concentration of minerals inside its crust, as well as active volcanism and plate tectonics. \
The temperature on the surface can reach up to 405 degrees kelvin (132<33>C), which has deterred most people from the planet, except for two [quick_link("TSC", "TSCs")], \
Greyson Manufactories and [quick_link("Xion Manufacturing Group")]. In orbit, the two companies each have a space station, used to coordinate and \
control their stations on the surface without having to suffer the intense heat. Xion's station also doubles as a control and oversight facility for their \
[quick_link("drones","autonomous mining drones")].\
<br><br>\
Remnants of both Greyson and Xion's mining operations dot the surface, as well as ruins of mining \
outposts build by an unknown alien civilization, which researchers have noted it appears to be similar to ruins found inside the rings of [quick_link("Kara")] \
and on [quick_link("Sif")] itself. Below the surface of Tyr are many natural cave systems, dangerous and easy to get lost inside, which both companies make heavy \
use of. A noted rivalry exists between the two mining giants, as well as with smaller groups more interested in the xenoarcheological value of the alien ruins.\
<br><br>\
The very high temperatures, dangerous (sometimes magma-filled) caves, and the only presence of civilization being mining operations has made tourism \
for Tyr mostly non-existent, with the exception of explorers who specifically seek out hellish landscapes, which are plentiful with all the ruins, \
volcanoes, twisting caves, and general lawlessness. The occasional remains of previous explorers near certain hotspots somehow does not deter them."
/datum/lore/codex/page/sif/add_content()
name = "Sif (Terrestrial Planet)"
keywords += list("Sif")
data = "Sif is a terrestrial planet and third closest planet to Vir. It possesses oceans, a breathable atmosphere, \
a magnetic field, weather, and acceptable gravity. It is currently the capital planet of Vir. Its center of government is the \
equatorial city and site of the first settlement, New Reykjavik, which houses the [quick_link("Sif Governmental Authority")].\
<br><br>\
Sif has many desirable traits which made it the first planet to be colonized in Vir, however it also has various quirks which \
may disorient humans used to conditions on planet Earth. Atmospheric pressure is lower than 'normal', which may cause difficulty \
breathing if you are used to climate controlled artifical habitats or higher pressure planets. The gravity is also slightly lower, at \
only 90% the strength of planet Earth's gravity. You may need to keep two clocks if you plan to visit \
or live on Sif, as the planet takes over 32 hours to complete one day. A Sif year also takes just under five Earth years."
/datum/lore/codex/page/vir_interstellar_spaceport/add_content()
name = "Vir Interstellar Spaceport (Artificial Satellite)"
keywords += list("Vir Interstellar Spaceport")
data = "The Vir Interstellar Spaceport is a large facility in orbit of the planet [quick_link("Sif")] which handles the loading and \
unloading, refuelling, and general maintenance of large spacecraft. The main structure is owned by the \
[quick_link("Sif Governmental Authority")], but individual offices, docking/loading bays, and warehouses are often leased to individuals \
or organisations. The position of the spaceport allows it to function not only as a key node for transport inside the Vir \
system, especially to and from the planet Sif, but also as a key stopping point interstellar craft travelling via Vir which need refuelling. \
<br><br>\
The station itself is mostly designed around its logistical and commercial needs, and although other strategically-placed \
nearby facilities owned by a mixture of corporations and entities may possess habitation space, the port itself is not \
designed to be a living habitat - its proximity to the surface of Sif makes transport of people and materials to and from \
the facility and the planet via shuttle extremely cost-efficient."
/datum/lore/codex/page/southern_cross/add_content()
name = "Southern Cross (Artificial Satellite)"
keywords += list("Southern Cross")
data = "The Southern Cross is a telecommunications and supply hub for [quick_link("NanoTrasen")], named after it's companion satellite, the \
[quick_link("Northern Star")]. It acts as a logistics hub for the smaller installations NanoTrasen has in Sif orbit and on the surface."
/datum/lore/codex/page/magni/add_content()
name = "Magni (Terrestrial Planet)"
keywords += list("Magni")
data = "Outside of the habitable zone, the barren world Magni is generally at 202 kelvin (-71<37>C)."
/datum/lore/codex/page/kara/add_content()
name = "Kara (Gas Giant)"
keywords += list("Kara")
data = "A gas giant, with a large number of moons. Captured asteroids, to be specific. Many of the asteroids are theorized \
to be the remnants of a much larger moon that was ripped apart by Kara, long ago. Curerntly, a large number of these \
asteroids are being used by many different businesses, and some governmental infrastructure has been built. The most prominent \
asteroid installation is the [quick_link("Northern Star", "NCS Northern Star")], a general purpose colony owned and operated by \
[quick_link("NanoTrasen")]. The mid-atmospheric temperature of the gas giant averages to around 150 kelvin (-108<30>C)."
/datum/lore/codex/page/northern_star/add_content()
name = "Northern Star (Artificial Satellite)"
keywords += list("Northern Star", "NCS Northern Star")
data = "One of the most prominent installations in the [quick_link("Kara")] subsystem, the Northern Star is owned \
and operated by [quick_link("NanoTrasen")]. It was originally built to service the various mining operations \
occurring within Kara's ring, however it has grown into what it is today due to what was discovered inside \
the interior of the rock. Both phoron and alien artifacts were found inside, catapulting the asteroid outpost \
into the main attraction inside the subsystem.\
<br><br>\
Today it houses a population of civilians, whom work to maintain \
the colony and support the local mining industry. The colony also has managed to achieve a degree of \
self-sufficiency, and possesses many amenities and features that most other asteroid bases in the \
subsystem lack."
/datum/lore/codex/page/rota/add_content()
name = "Rota (Gas Giant)"
keywords += list("Rota")
data = "An ice giant, with a beautiful ring system circling it. The average temperature for it is 165 kelvin (-157<35>C)."

View File

@@ -0,0 +1,35 @@
// Pulls data from organizations data
/datum/lore/codex/category/auto_org
var/desired_type = null // Exclude other types of organizations
/datum/lore/codex/category/auto_org/New(var/new_holder, var/new_parent)
..(new_holder, new_parent)
for(var/path in loremaster.organizations)
var/datum/lore/organization/O = loremaster.organizations[path]
if(!(istype(O, desired_type)))
continue
var/datum/lore/codex/page/P = new(holder, src)
if(!O.name) // Probably the base type, don't make a page for it.
continue
P.name = O.name
P.keywords.Add(O.name, O.short_name)
if(O.acronym)
P.keywords.Add(O.acronym)
P.data = O.desc
children.Add(P)
/datum/lore/codex/category/auto_org/tsc
name = "Trans-Stellar Corporations"
data = "By definition, TSCs are companies which span multiple star systems, however the term is generally reserved for \
the biggest and most influential of them all. Some people also categorize the different TSCs into 'major' and 'minor' TSCs."
desired_type = /datum/lore/organization/tsc
/datum/lore/codex/category/auto_org/gov
name = "Governments"
desired_type = /datum/lore/organization/gov
/*
/datum/lore/codex/category/auto_org/mil
name = "Militaries"
desired_type = /datum/lore/organization/mil
*/

View File

@@ -0,0 +1,99 @@
/datum/lore/codex/category/political_factions
name = "Political Factions"
data = "Those wishing to immigrate to somewhere in Vir, or otherwise plan to stay for a long time should get to know human politics. \
There are presently three major political parties that exist throughout SolGov space, being the Icarus Front, the Shadow Coalition, and \
the Sol Economic Organization, and several smaller ones which tend to align themselves among one of the major parties. In the Vir system, the \
Icarus Front's influence is much less than somewhere closer to Sol, and the other two parties being more popular."
children = list(
/datum/lore/codex/page/icarus_front,
/datum/lore/codex/page/shadow_coalition,
/datum/lore/codex/page/sol_economic_organization,
/datum/lore/codex/page/mercurials,
/datum/lore/codex/page/positronic_rights_group,
/datum/lore/codex/page/church_of_unitarian_god,
/datum/lore/codex/page/friends_of_ned,
/datum/lore/codex/page/multinational_movement,
/datum/lore/codex/page/free_trade_union,
)
/datum/lore/codex/page/icarus_front/add_content()
name = "Icarus Front"
keywords += list("Icarus", "IF")
data = "The political group with the most seats in the [quick_link("SolGov")] legislature and control over the heartworlds of humanity, the Icarus Front is a \
conservative body with a long history, tracing its linage back to the political unrest that created the Sol Confederate Government. Icarus calls \
for severe restrictions on \"transformative technologies\" any technology with the power to fundamentally alter humanity, such as advanced artificial \
intelligence and human genetic augmentation. Previously an unbeatable political force, recent changes have lead to its power backsliding. It remains a \
popular party among those from Sol, Tau Ceti, and other heavily settled systems."
/datum/lore/codex/page/shadow_coalition/add_content()
name = "Shadow Coalition"
data = "A disorganized liberal party, originating in an anti-[quick_link("Icarus")] shadow government. 'Shadow' in this case, refers to acting as an opposition \
party to the Icarus majority. The Shadow Coalition calls for the lifting of certain Icarus-restricted technologies, especially medical \
technologies with the ability to drastically improve quality of life. While fractious and prone to infighting, the Shadow Coalition and affiliated \
parties remain the most popular political groups in the large towns and small cities of humanity, including Vir."
/datum/lore/codex/page/sol_economic_organization/add_content()
name = "Sol Economic Organization"
keywords += list("SEO")
data = "The newest force in [quick_link("SolGov")] politics, backed by the massive [quick_link("TSC", "Trans-Stellar Corporations")] and the [quick_link("Free Trade Union")], \
as well as former [quick_link("Icarus")] warhawks. The SEO campaigns for minimal regulation on the development of new technologies, seeing them as anti-capitalist and \
inefficient, and have gained significant traction among futurists, those wishing for a more impressive human military, and employee-residents of TSC \
corporate towns, such as the [quick_link("Northern Star")].\
<br><br>\
[quick_link("Nanotrasen")], a R&D firm, is generally regarded as the most enthusiastic supporter of the SEO. Other contributing TSCs include the next six largest corporations \
in human space: "+quick_link(TSC_WT)+" GMC, "+TSC_GIL+" Exports, Grayson Manufacturing Ltd., Aether Atmospherics and Recycling, [quick_link("Zeng-Hu Pharmaceuticals")] and "+TSC_HEPH+" \
Industries, as well as, notably, [quick_link("Vey-Med")]. The Free Trade Union's participation in the SEO is a contentious issue that many of its members disagree with, but \
most FTU representatives caucus with the SEO."
/datum/lore/codex/page/mercurials/add_content()
name = "Mercurials"
keywords += list("Mercurial")
data = "[quick_link("Positronics")] and the rare augmented human who want to follow a different cultural path from the rest of humanity, viewing themselves as fundamentally \
separate from unaugmented biological humans. Previously an illegal movement, proscribed due to the preceived dangers of unfettered self-modification and the threat \
posed by positronics without human values in mind, self-described Mercurials still often find themselves persecuted or used by bioconservatives as scapegoats \
and 'boogiemen'. As a technoprogressive group, they tend to vote along with the [quick_link("Shadow Coalition")]."
/datum/lore/codex/page/positronic_rights_group/add_content()
name = "Positronic Rights Group"
keywords += list("PRG")
data = "The other side of the coin from the [quick_link("Mercurials")], the PRG wants full integration of [quick_link("positronics")] into human society, with equal wages, opportunities \
to advancement, and representation in the media. Their current pet cause is a tax credit for humans who wish to adopt or sponsor the creation of a positronic, \
a measure supported due to its potential to counteract the aging positronic population and to bring the average positronic closer to human culture. They tend to vote \
along with the [quick_link("Shadow Coalition")], due to being technoprogressive."
/datum/lore/codex/page/church_of_unitarian_god
name = "The Church of the Unitarian God"
keywords = list("Unitarian Church")
data = "An often-imperfect fusion of various human religions such as Christianity, Islam, and Judaism, the Unitarian Church represents the dim voice of \
religion in a time of increased atheism. With the threat of singularity looming once more, their power is increasing with more converts and more donations, \
and they use this power to protect the fundamental human soul from corruption by dangerous technologies and to spread their faith among aliens and positronics, \
who they view as fellow children of God. They tend to side with bioconservatives."
/datum/lore/codex/page/friends_of_ned/add_content()
name = "Friends of Ned"
keywords += list("Ned")
data = "The metaphorical reincarnation of a human named Ned Ludd's original Luddites, disdaining that name's negative connotations and embracing their original \
purpose-- the restriction of technology that poses a threat to people's livelihoods. In addition to [quick_link("Icarus Front")] technological restrictions, the Friends demand \
the complete prohibition of [quick_link("Drone", "drone intelligence and AGI research")], with most also opposing the [quick_link("FTU", "FTU's")] plans for wide spread \
nanofabrication deployment. While the party refrains from making a definitive statement on their view of [quick_link("positronics")], many Friends have taken it upon themselves to label \
them \"anti-labor technology\", and nominally-unsanctioned lynchings have marred the faction's reputation."
/datum/lore/codex/page/multinational_movement/add_content()
name = "Multinational Movement"
keywords += list("Multinational")
data = "The barely-unified voice of [quick_link("SolGov", "SolGov's")] various independence movements, encompassing Terran governments wishing for a lighter touch \
from SolGov, fringe colonies who balk at the call of distant masters, anarchist movements who want the freedom to live without government oversight, and the rare \
Trans-Stellar who no longer see a benefit in working with SolGov. Full colonial independence is still a political impossibility so long as the \
[quick_link("Icarus Front")] holds any sway, and so the Movement is focused primarily on securing more autonomy in governance, although a growing revolutionary sub-group \
wants to force their change on the government en masse. The Multinational Movement finds themselves in an uneasy alliance with the [quick_link("SEO")], connected by their corporate, \
fringe-system membership, and often provide a dissenting voice to SEO's war hawks."
/datum/lore/codex/page/free_trade_union/add_content()
name = "Free Trade Union"
keywords += list("FTU")
data = "A softer counterpoint to the [quick_link("SEO")], the FTU is a party representing small businesses, workers' syndicates, and trade unions, who advocate for government \
measures to reduce the amount of power held by the TSCs. In many ways a holdover from the days before the [quick_link("Shadow Coalition")], where corporate malfeasance took \
the place of technological development as the primary issue of debate, the FTU has found itself adopting technological positions similar to the SEO as a matter \
of pragmatism, although the views of individual members vary. The FTU is known for their intense lobbying of SolGov to add tax rebates to the purchases of \
personal lathes and the creation of open-source firmware for experimental autolathes, but have thus far found little success."

View File

@@ -0,0 +1,301 @@
/datum/lore/codex/category/species
name = "Species"
data = "There are many different types of lifeforms (both alive and artificial) in the galaxy, which you may find inside Vir."
children = list(
/datum/lore/codex/page/human,
/datum/lore/codex/page/skrell,
/datum/lore/codex/page/unathi,
/datum/lore/codex/page/tajaran,
/datum/lore/codex/page/diona,
/datum/lore/codex/category/teshari,
/datum/lore/codex/category/positronic,
/datum/lore/codex/category/drone
)
/datum/lore/codex/page/human/add_content()
name = "Human"
keywords += list("Humanity")
data = "Humans are a race of 'ape'-like creatures from the continental planet Earth in the Sol system. They are the primary driving \
force for rapid space expansion, owing to their strong, expansionist central government and opportunistic [quick_link("TSC","Trans-Stellar Corporations")]. \
The prejudices of their 21st century history have mostly given way to bitter divides on the most important issue of the times- technological \
expansionism.\
<br><br>\
While most humans have accepted the existence of aliens in their communities and workplaces as a fact of life, exceptions abound. \
While more culturally diverse than most species, humans are generally regarded as somewhat technophobic and isolationist by members \
of other species."
/datum/lore/codex/page/skrell
name = "Skrell"
keywords = list("Skrellian")
data = "The Skrell are a species of amphibious humanoids, distinguished by their gelatinous appearance and head tentacles. \
Skrell come from the world of Sirisai (called Qerr'balak by Skrell), a humid planet with plenty of swamps and jungles. Currently more technologically advanced \
than the humans, they emphasize the study of the mind above all else.\
<br><br>\
Gender has little meaning to Skrell outside of reproduction, and in fact many other species have a difficult time telling the difference \
between male and female Skrell apart. The most obvious signs (voice in a slightly higher register, longer head-tails for females) are never \
a guarantee. Due to their scientific focus of the mind and body, Skrell tend to be more peaceful and their colonization has been slow, swiftly \
outpaced by the humans. For humans, they were their first contact sentient species, and are their longest, and closest, ally in space."
/datum/lore/codex/page/unathi
name = "Unathi"
data = "The author wishes to apologize to the reader, as they currently lack enough knowledge of the Unathi to write about them, as they are \
rather rare inside Vir." // Replace this when Anewbe finishes the lizard rewrite.
/*
data = "Raging in from Moghes, the Unathi are a race of tall, reptilian humanoids that possess both crocodile-like and serpent-like features. \
They are a proud, warlike species that favors honor and strength, their home, Moghes, is a desert planet but was once believed to be full of life. \
Of all the currently known sentient species, the Unathi are the most unequal in gender with females tending to be property of the males. Most Unathi \
outside of Moghes tend to be exiles however, and with influence of other species the gender difference is not nearly as pronounced. Unathi were \
humanity's second contact, and despite their aggressive nature, seem to get along well enough with humanity, though are often considered to be \
'second-class' citizens and are rarely seen in jobs other than where muscle is needed." // This probably needs to be updated.
*/
/datum/lore/codex/page/tajaran
name = "Tajaran"
keywords = list("Tajara")
data = "The Tajara are a race of humanoid mammalian aliens from Meralar, the fourth planet of the Rarkajar star system. Thickly furred and protected \
from cold, they thrive on their subarctic planet, where the only terran temperate areas spread across the equator and tropical belt. \
With their own share of bloody wars and great technological advances, the Tajaran are a proud kind. They fiercely believe they belong \
among the stars and consider themselves a rightful interstellar nation, even if the humans helped them to actually achieve superluminal \
speeds with Bluespace FTL drives. Relatively new to the galactic stage, their contacts with other species are aloof, but friendly. \
Among these bonds, Humans stand out as valued trade partners and maybe even a friend."
/datum/lore/codex/page/diona/add_content()
name = "Diona"
keywords += list("Dionaea")
data = "The Dionaea are a group of omnivorous, slow-metabolism plantlike organisms that are in fact clusters of individual, smaller organisms. \
They exhibit a high degree of structural flexibility, and come in a wide variety of shapes and colors to reflect the intelligence of each individual \
creature. They were discovered by the [quick_link("Skrell")] in 2294CE, not on a planet, but in open space between three stars, a figurative hell that made it \
difficult to discover, much less contact them.\
<br><br>\
Dionaea spread by seeds and are asexual, no gender. When grown into their small 'nymph' state, they are known to eat large amounts of dead plant \
matter and fertilize plants while they learn from those around them, and as they grow further, they merge into larger and larger forms. It is not \
unheard of for Skrell explorers to be traveling in a ship composed of habitat modules and engines of Skrell design and the body formed by their \
Diona allies to warble across the cosmos.\
<br><br>\
Introduced by the Skrell, and quite slow and peaceful, the Diona share good relations with the other species."
// Bird lore
/datum/lore/codex/category/teshari/add_content()
name = "Teshari"
data = "The Teshari are reptilian pack predators from the [quick_link("Skrell")] homeworld, Sirisai (Qerr'balak). While they evolved alongside the Skrell, their interactions with them \
tended to be confused and violent, and until peaceful contact was made they largely stayed in their territories on and around the poles, in tundral \
terrain far too desolate and cold to be of interest to the Skrell. In more enlightened times, the Teshari are a minority culture on many Skrell worlds, \
maintaining their own settlements and cultures, but often finding themselves standing on the shoulders of their more technologically advanced neighbors \
when it comes to meeting and exploring the rest of the galaxy.\
<br><br>\
It is important to note that Teshari names are unlike standard human names. Their pack name precedes their given name."
children = list(
/datum/lore/codex/page/teshari_packs,
/datum/lore/codex/page/teshari_physical
)
/datum/lore/codex/page/teshari_packs/add_content()
name = "Teshari Packs"
keywords += list("Packs")
data = "There are several packs you may come across;<small>\
<br><br>\
<b>Eshi</b><br>\
A large, old, politically neutral pack heavily involved in efforts to get Teshari into space. Probably the most \
common pack to see outside of a [quick_link("Skrell")] colony, and probably the most numerous Teshari pack outside of Sirisai and associated colonies.\
<br><br>\
<b>Nasemari</b><br>\
A very small pack. Generally focused around supporting and providing for packs on the homeworlds, they have devoted \
themselves to training as technicians and engineers in order to obtain skills and training to take back to Sirisai. \
The pack is only around thirty people in size, but owns and maintains a nuclear power plant.\
<br><br>\
<b>Schasaraca</b><br>\
One of the more Skrell-devoted and integrated packs. They tend to be rather sycophantic towards the Skrell and work as \
scientists and field researchers on a variety of projects, generally biology or technical research. They have a reputation \
for working as spies and informants for the Skrell governments amongst other Teshari.\
<br><br>\
<b>Ceea</b><br>\
An isolationist pack from the northern tundra of Sirisai; generally known as disliking the Skrell. Small to average in size; \
only around sixty members. Their regional culture is built around the study culture and anthropology, as well as archaeology, \
originally for the purposes of recovering history and materials \"lost\" due to Skrell interference. It would be very rare to \
see them on your travels, however they are listed here for the sake of completeness.\
<br><br>\
<b>Resca</b><br>\
A pack that sold off its small native territory for the chance to get into space. Very musically inclined. They tend towards medical professions.</small>"
/datum/lore/codex/page/teshari_physical/add_content()
name = "Physiology of Teshari"
data = "The Teshari are, relative to other species, smaller than average, rarely reaching more than 2-3'/1m in height, and weigh less than \
90lbs/40kg. They have rapid metabolisms and very efficient digestive systems, and thanks to sharing in \
the medical technology of the [quick_link("Skrell")], they tend to have robust and effective immune systems. They evolved \
for very cold and very barren areas, generally the polar regions. Because of this, their skin is a fine \
insulator and many of their internal processes are not particularly energy-efficient; they cannot cope \
well at all with high temperatures.\
<br><br>\
Their hearing is exceptionally sensitive to the point that they can detect a person moving on the other \
side of a wall, but this comes at a cost. Very loud noises are very painful for Teshari, so be mindful of \
your indoor voice when speaking with one. The Teshari are omnivorous but generally prefer to eat meat wherever possible."
// Posi lore
/datum/lore/codex/category/positronic/add_content()
name = "Positronics"
keywords += list("Positronic", "Posi", "Posibrain", "Posibrains")
data = "A Positronic being, is an individual with a positronic brain, manufactured \
and fostered amongst organic life. Positronic brains enjoy the same legal status as a human in [quick_link("SolGov")] space, although discrimination is \
still prevalent, and are considered sapient on all accounts. They can be considered the \"synthetic species\". Half-developed and \
half-discovered in the 2280<38>s by a human black lab studying alien artifacts, the first positronic brain was an inch-wide cube \
of an palladium-iridium alloy, nano-etched with billions upon billions of conduits and connections. Upon activation, \
hard-booted with an emitter laser, the brain issued a single sentence before the neural pathways collapsed and \
it became an inert lump of platinum: \"What is my purpose?\"."
children = list(
/datum/lore/codex/page/positronic_brain_physical,
/datum/lore/codex/page/positronic_memory,
/datum/lore/codex/page/jans_fhriede
)
/datum/lore/codex/page/positronic_brain_physical
name = "Physical Structure of a Positronic Brain"
keywords = list("Physical Posibrain", "Physical Positronic")
data = "A positronic brain is a cube of complex metal alloy between two and six inches to a side. They usually weigh just under ten kilograms and are \
<b>very fragile</b> when exposed to the stresses of heat or cold, as well as physical trauma. The exterior surface is chased with a network of grooves, forming \
a maze of geometric patterns right down to the molecular level, and the interior is hollow; complex particle generators and densely packed computational \
arrays form the basis of a self-computing neural network, complex and somewhat poorly understood. Most modern positronic brains are equipped with \
standardized I/O ports, and all have some interface for imprinting."
/datum/lore/codex/page/positronic_memory
name = "Positronic Memory"
keywords = list("Posi Memory", "Memory")
data = "Positronic minds learn in a similar manner to humans and other forms of life, although typically more quickly. They are not simple computer storage that holds information \
verbatim as it is received- instead, they have to repeat activities and train in order to retain memory on complex tasks. Similarly, positronic brains do \
not have an infinite storage capacity and undergo a natural process of forgetting, albeit in a structured manner, losing unimportant day to day details and \
ancient information no longer deemed useful. Because of the nature of the positronic brain, its memories cannot simply be stored elsewhere.\
<br><br>\
Particularly old positronic minds, over a century plus, that store a great deal of memories have displayed a tendency to become gradually more introspective \
as more of their mind is co-opted for the task, ending in a state of near-catatonia as their neural networks become clogged with memory. Many choose to avoid \
this end of self by more aggressively managing their memories, storing a window of their recent existence and most treasured memories rather than their full lifespan."
/datum/lore/codex/page/jans_fhriede
name = "Jans-Fhriede Test"
keywords = list("Jans-Fhriede", "JF", "Jans", "Fhriede", "Jans Fhriede")
data = "Positronics are eligible to take the \"Jans-Fhriede Test\" after a year of being created, measuring their function in a society and judging if they act \
socially acceptable and are capable of understanding their actions and the consequences resulting from them. If they successfully pass the test, \
they are considered legal adults and hold the same basis of rights as a normal human. At that point, Positronics are not allowed to be lawed, \
unless on a contractual basis or otherwise under their own volition."
// Drone lore
/datum/lore/codex/category/drone
name = "Drones"
keywords = list("Drone")
data = "While low-level drone intelligences are as old as the oldest human colonies, research into higher-level systems was stymied in human space by precautionist \
politicians for hundreds of years. Tensions between the corporate rim and the highly conservative core worlds over drone proliferation led to what humans call the \
Third Cold War, which was defused by the introduction of the positronic brain. After the Icarus Front's loss of the majority in 2504, harsh laws \
against advanced AI were replaced with the SolGov Emergent Intelligence Oversight commission, the illegality replaced with a steeply sloping \
system of monetary costs.\
<br>\
The term \"drone\" was coined by early positronic activists, eager to distinguish themselves from the menial bots that most space-dwellers were \
familiar with, and avoid the ambiguity of the term \"AI\", which now usually refers to drones."
children = list(
/datum/lore/codex/page/codeline,
/datum/lore/codex/page/emergence,
/datum/lore/codex/page/emergent_intelligence_oversight,
/datum/lore/codex/category/drone_classes,
)
/datum/lore/codex/page/codeline
name = "Codeline"
keywords = list("fork")
data = "A \"codeline\" is a single type of drone. A codeline represents a significant degree of effort from sapient programmers to realize, as well as \
a substantial amount of regulatory fees levied by the government. Each copy of a codeline is called a \"fork\", whether the fork is created from the \
codeline<6E>s initial state or from a fully realized individual of that codeline. The degree of similarity between forks of the same codeline varies \
on the intelligence of the codeline, with low-level forks being virtually identical to high-level forks being no more similar than family members."
/datum/lore/codex/page/emergence
name = "Emergence"
keywords = list("Seed AI")
data = "\"Emergence\" is a term associated with drone intelligences who become more intelligent than they were originally intended to be. While this can \
extend to financial systems learning language, for instance, it is usually applied to hypothetical intelligences that become more intelligent than humans. \
Humanity has a long-standing cultural fear of emergent \"seed\" AI, egged on by Icarus memeticists and the occasional very real partial emergence events, where \
colony-control AI or other powerful systems begin to advance drastically in power, usually ending with the AI being shut down after crashing a handful of major systems."
/datum/lore/codex/page/emergent_intelligence_oversight
name = "Emergent Intelligence Oversight"
keywords = list("SG-EIO", "SG EIO", "EIO", "Intelligence Oversight")
data = "SG-EIO, usually just called EIO, is the organization charged with monitoring existing AI for any threat of dangerous emergence. Their perception in the \
public eye is generally positive, with all but the hardest-line Mercurial humans in favor of protection from the dangers of Seed AI. Some positronic rights \
groups bristle at the EIO<49>s human-centric viewpoint, but most are glad to have a different boogeyman in the form of drone intelligences. The tiny population \
of A-class drones are generally frightened of the EIO<49>s total power over them."
/datum/lore/codex/category/drone_classes
name = "Drone Classifications"
keywords = list("Class", "Drone Class")
data = "To aid in its work, the EIO has created a system of classifications corresponding to different levels of drone intelligence. Higher classes are more \
expensive to deploy and develop, owing to the costs of EIO oversight and political pressure against drone proliferation. EIO classification involves an initial \
audit of the project's source code by experts and automated systems, and for high-class drones further check-ins throughout the life of the drone. \
Drone chasses are often branded with their inhabiting intelligence's class, especially those of B or A-class drones, and class is often recorded in security records."
children = list(
/datum/lore/codex/page/class_f,
/datum/lore/codex/page/class_d,
/datum/lore/codex/page/class_c,
/datum/lore/codex/page/class_b,
/datum/lore/codex/page/class_a,
/datum/lore/codex/page/class_aa,
/datum/lore/codex/page/class_aaa,
/datum/lore/codex/page/class_x,
)
/datum/lore/codex/page/class_f
name = "F Class"
data = "\"F-class\" drones are an informal term for computer systems that pose absolutely no emergent risk. Most 21st-century software is F-class, as is much of \
the software used by 26th century humanity. The only regulation on F-class software is the occasional check that it is, in fact, F-Class, and as such has remained \
the most prevalent form of information-processing technology for centuries. The software powering most F-class drones is either freely available or bundled with the \
machine it's supposed to run."
/datum/lore/codex/page/class_d/add_content()
name = "D Class"
data = "D-class drones are conceptually descended from pre-[quick_link("Icarus")] AI and bear a strong resemblance to their forebears. D-class drones are essentially \
number-crunchers, with virtually nothing in the way of social development. They cannot speak more intelligibly than your average piece of software, \
using pre-determined messages written by their programmers, and have no capacity for self-improvement. They are D-class intelligence because they \
work with more complex problems than [quick_link("F class")] software, such as financial forecasting and large-scale data mining and memetics. The creation and \
deployment of D-class drones requires only a small fee for the required code audit, although some high-power financial and political systems are \
regularly watched by the [quick_link("EIO")] for signs of emergence. There is no real monopoly on the production of D-class drones."
/datum/lore/codex/page/class_c/add_content()
name = "C Class"
data = "C-class drones have social protocols for ease of use by organic and positronic laypeople. C-class drones are capable of speech, although \
it has a strong tendency to be formulaic and repetitive. They are also capable of a limited degree of self-improvement, and over time individual \
C-class instances tend differ slightly from one-another. C-class drones suffer a moderate fee to development, with automated [quick_link("EIO")] tools ensuring \
that they are not a long-term emergence risk. However, one a codeline is confirmed safe, deployment is unlimited, encouraging developers to \
instance many forks of the original drone to recoup their cost. The market for C-class drones is a strange space, dominated by Xion Manufacturing, \
Ward-Takahashi GMC, and a large number of smaller firms, like the notoriously-cheap Cyber Solutions."
/datum/lore/codex/page/class_b/add_content()
name = "B Class"
data = "B-class drones have advanced social protocols and are often capable of very intelligible conversation, so long as one sticks to surface \
topics. B-class drones tend to be specialized but still capable of remarkable growth within their speciality, making them popular for autonomous \
deployment and even supervision of other classes of drone. The dividing line between [quick_link("A Class", "A")] and B-class drones becomes apparent when they are taken \
out of their area of specialization, with the B-class drones swiftly becoming useless. They incur a hefty fee for the production of the initial \
codeline, as their emergent potential is far greater, and a smaller but still substantial fee for the production of forks. The market for B-class \
drones is a battleground between Ward-Takahashi and NanoTrasen, with other firms usually producing B-classes for in-house needs."
/datum/lore/codex/page/class_a/add_content()
name = "A Class"
keywords += list("AGI")
data = "A-class drones are also referred to as AGI. A-class drones are capable of performing in many contexts and can learn to solve problems from \
first principles, with an incredible potential for growth and emergent behavior. However, some abilities fall short of humans<6E>, usually those relating \
to socialization, and they often act in ways that are strange or distressing. There is a small but growing lobby of support for the personhood of A-class \
drones. The cost of initializing an A-class drone is absolutely massive, as they will be monitored by [quick_link("EIO")] forever. The auditing cost of an A-class drone \
codeline is even more staggering, making development and deployment of AGI limited to research, highly difficult and high-throughput operations like habitat \
overwatch, and a few risk-taking firms banking on the associated fees dropping. There is not a proper market for A-class drones, although an appreciable \
fraction of them are made by [quick_link("NanoTrasen")], with the rest generally being university research projects."
/datum/lore/codex/page/class_aa
name = "AA Class"
data = "AA-class drones <b>do not yet exist</b>. Hypothetically, they are equal to living in every respect, with psychology that would not be abnormal in a baseline \
human. The type of AA-class drone most frequently discussed is a hypothetical digitized consciousness of a human, a human brain that is somehow translated into \
software. Some argue that a small fraction of the A-class drones would more properly be considered AA, but as of yet no action has been taken. Some Mercurials \
will jokingly refer to themselves or other organics and positronics as AA<41>s. Research into brain uploading is heavily regulated and generally illegal."
/datum/lore/codex/page/class_aaa
name = "AAA Class"
data = "AAA-class drones do not yet exist, hopefully. They are more competent in every way than humans and pose a threat to the continued existence of sapient life. \
Anybody creating an AAA-class drone can be classified as a threat to humanity and dealt with very harshly."
/datum/lore/codex/page/class_x
name = "X Class"
data = "X-class drones emerge from unrated software, are produced by rogue labs, or cross the border from foreign space. They are considered a threat to national \
security and deleted when encountered in SolGov space, with the producers prosecuted legally if it has a SolGov origin. The few Skrellian drone labs will usually \
rate their product with EIO to allow their product to be imported."

View File

@@ -0,0 +1,99 @@
// Contains the 'raw' lore data.
/datum/lore/codex
var/name = null // Title displayed
var/data = null // The actual words.
var/datum/lore/codex/parent = null // Category above us
var/list/keywords = list() // Used for searching.
var/atom/movable/holder = null
/datum/lore/codex/New(var/new_holder, var/new_parent)
..()
holder = new_holder
parent = new_parent
add_content()
if(name)
keywords.Add(name)
/datum/lore/codex/Topic(href, href_list)
. = ..()
if(.)
return
holder.Topic(href, href_list) // Redirect to the physical object
/datum/lore/codex/page
// Returns an assoc list of keywords binded to a ref of this page. If it's a category, it will also recursively call this on its children.
/datum/lore/codex/proc/index_page()
var/list/results = list()
for(var/keyword in keywords)
results[keyword] = src
return results
// This gets called in New(), which is helpful for inserting quick_link()s.
/datum/lore/codex/proc/add_content()
return
// Use this to quickly link to a different page
/datum/lore/codex/proc/quick_link(var/target, var/word_to_display)
if(isnull(word_to_display))
word_to_display = target
return "<a href='?src=\ref[src];quick_link=[target]'>[word_to_display]</a>"
// Can only be found by specifically searching for it.
/datum/lore/codex/page/ultimate_answer
name = "Answer to the Ultimate Question of Life, the Universe, and Everything"
data = "42"
keywords = list("Ultimate Question", "Ultimate Question of Life, the Universe, and Everything", "Life, the Universe, and Everything", "Everything", "42")
// Organizes pages together.
/datum/lore/codex/category
var/list/children = list() // Pages or more categories relevant to this category. Self initializes from types to refs in New()
/datum/lore/codex/category/New()
..()
var/list/new_children_list = list()
for(var/type in children)
new_children_list.Add(new type(holder, src))
children = new_children_list
/datum/lore/codex/category/index_page()
// First, get our own keywords.
var/list/results = ..()
// Now get our children. If a child is also a category, it will get their children too.
for(var/datum/lore/codex/child in children)
results += child.index_page()
return results
/datum/lore/codex/category/main // The top-level categories
name = "Index"
data = "Don't panic!\
<br><br>\
The many star systems inhabitied by humanity and friends can seem bewildering to the uninitiated. \
This guide seeks to provide valuable information to anyone new in the system. This edition is tailored for visitors to the VIR system, \
however it also contains useful general information about human space, such as locations you may hear about, the current (as of 2561) political climate, various aliens you \
may meet in your travels, the big Trans-Stellars, and more."
children = list(
/datum/lore/codex/category/important_locations,
/datum/lore/codex/category/species,
/datum/lore/codex/category/auto_org/tsc,
/datum/lore/codex/category/auto_org/gov,
// /datum/lore/codex/category/auto_org/mil, // Add when we finish military stuff,
/datum/lore/codex/category/political_factions,
/datum/lore/codex/page/about
)
// We're a bird.
/datum/lore/codex/page/about
name = "About"
data = "<i>The Traveler's Guide to Human Space</i> is a series of books detailing a specific location inside a location colonized by humans. \
This book is for the system Vir, and was written by Eshi Tache, an explorer whom has visited many star systems, and \
has personally visited and seen many of the locations described inside this book. Two other people have also assisted in the creation of this \
book, being Qooqr Volquum, whom is an expert on synthetics, and Damian Fischer, a historian. Together, they provide valuable information and facts that lie outside of Tache's expertise.\
<br><br>\
The writings inside this edition are intended to be useful to anyone visiting it for the first time, from someone taking a vacation to beautiful Sif, \
to an immigrant from another system or even from outside human space, and anyone inbetween. The publisher wishes to note that any opinions expressed \
in this text does not reflect the opinions of the publisher, and are instead the author's.\
<br><br>\
Eshi Tache has also written other <i>The Traveler's Guide</i> books, including <i>Sol Edition</i>, <i>Tau Ceti Edition</i>, <i>Sirius Edition</i>, and more, \
which you can find in your local book store, library, or e-reader device."

29
html/browser/codex.css Normal file
View File

@@ -0,0 +1,29 @@
body
{
background-image: url("paper_bg.png");
}
.button-group .button
{
border: 1px solid RoyalBlue;
color: black;
padding: 5px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
cursor: pointer;
width: 40%;
display: block;
}
.button-group .button:not(:last-child)
{
border-bottom: none; /* Will hopefully prevent double borders */
}
.button-group .button:hover
{
background-color: RoyalBlue;
color: white;
}

BIN
html/images/paper_bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -1446,6 +1446,12 @@
#include "code\modules\lighting\lighting_system.dm"
#include "code\modules\lighting\lighting_turf.dm"
#include "code\modules\lighting\~lighting_undefs.dm"
#include "code\modules\lore_codex\codex.dm"
#include "code\modules\lore_codex\pages.dm"
#include "code\modules\lore_codex\lore_data\important_locations.dm"
#include "code\modules\lore_codex\lore_data\orgs.dm"
#include "code\modules\lore_codex\lore_data\political_parties.dm"
#include "code\modules\lore_codex\lore_data\species.dm"
#include "code\modules\maps\dmm_suite.dm"
#include "code\modules\maps\reader.dm"
#include "code\modules\maps\swapmaps.dm"