diff --git a/code/modules/species/outsider/random.dm b/code/modules/species/outsider/random.dm index 80ee310a226a4..53a5e031dc38d 100644 --- a/code/modules/species/outsider/random.dm +++ b/code/modules/species/outsider/random.dm @@ -10,6 +10,7 @@ icobase = 'icons/mob/human_races/species/humanoid/body.dmi' deform = 'icons/mob/human_races/species/humanoid/body.dmi' bandages_icon = 'icons/mob/bandage.dmi' + preview_icon = null appearance_flags = SPECIES_APPEARANCE_HAS_SKIN_COLOR limb_blend = ICON_MULTIPLY diff --git a/code/modules/species/outsider/shadow.dm b/code/modules/species/outsider/shadow.dm index e5e842f25f6d1..98a3dfaa9f8a7 100644 --- a/code/modules/species/outsider/shadow.dm +++ b/code/modules/species/outsider/shadow.dm @@ -4,6 +4,7 @@ description = "A being of pure darkness, hates the light and all that comes with it." icobase = 'icons/mob/human_races/species/shadow/body.dmi' deform = 'icons/mob/human_races/species/shadow/body.dmi' + preview_icon = null meat_type = null bone_material = null diff --git a/code/modules/species/outsider/starlight.dm b/code/modules/species/outsider/starlight.dm index 757435bdddc9a..6259568a7195c 100644 --- a/code/modules/species/outsider/starlight.dm +++ b/code/modules/species/outsider/starlight.dm @@ -1,5 +1,6 @@ /datum/species/starlight name = "Starlight Base" + preview_icon = null meat_type = null bone_material = null diff --git a/code/modules/species/outsider/vox.dm b/code/modules/species/outsider/vox.dm index 5501a775ce833..76876f8f56c6b 100644 --- a/code/modules/species/outsider/vox.dm +++ b/code/modules/species/outsider/vox.dm @@ -7,6 +7,7 @@ damage_overlays = 'icons/mob/human_races/species/vox/damage_overlay.dmi' damage_mask = 'icons/mob/human_races/species/vox/damage_mask.dmi' blood_mask = 'icons/mob/human_races/species/vox/blood_mask.dmi' + preview_icon = 'icons/mob/human_races/species/vox/preview.dmi' unarmed_types = list( /datum/unarmed_attack/stomp, diff --git a/code/modules/species/outsider/zombie.dm b/code/modules/species/outsider/zombie.dm index 3f3d64bdcbfb6..dea93c776d18b 100644 --- a/code/modules/species/outsider/zombie.dm +++ b/code/modules/species/outsider/zombie.dm @@ -49,6 +49,7 @@ GLOBAL_LIST_INIT(zombie_species, list(\ name = "Zombie" name_plural = "Zombies" blood_color = "#700f0f" + preview_icon = null death_message = "writhes and twitches before falling motionless." species_flags = SPECIES_FLAG_NO_PAIN | SPECIES_FLAG_NO_SCAN spawn_flags = SPECIES_IS_RESTRICTED diff --git a/code/modules/species/species.dm b/code/modules/species/species.dm index 54bf4c5f9f4a8..c45a8edea631f 100644 --- a/code/modules/species/species.dm +++ b/code/modules/species/species.dm @@ -762,6 +762,7 @@ The slots that you can use are found in items_clothing.dm and are the inventory "lack of air" = oxy_mod, "poison" = toxins_mod ) + var/name_clean = replace_characters(name,list("'"="")) if(!header) header = "

[name]


" var/dat = list() @@ -779,8 +780,8 @@ The slots that you can use are found in items_clothing.dm and are the inventory if((!skip_photo && preview_icon) || !skip_detail) dat += "" if(!skip_photo && preview_icon) - send_rsc(usr, icon(icon = preview_icon, icon_state = ""), "species_preview_[name].png") - dat += "

" + send_rsc(usr, icon(icon = preview_icon, icon_state = ""), "species_preview_[name_clean].png") + dat += "" if(!skip_detail) dat += "" if(spawn_flags & SPECIES_CAN_JOIN) diff --git a/code/modules/species/station/golem.dm b/code/modules/species/station/golem.dm index 356c979f6a38c..bde850efe2a7d 100644 --- a/code/modules/species/station/golem.dm +++ b/code/modules/species/station/golem.dm @@ -5,6 +5,7 @@ icobase = 'icons/mob/human_races/species/golem/body.dmi' deform = 'icons/mob/human_races/species/golem/body.dmi' husk_icon = 'icons/mob/human_races/species/golem/husk.dmi' + preview_icon = null unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/punch) species_flags = SPECIES_FLAG_NO_PAIN | SPECIES_FLAG_NO_SCAN | SPECIES_FLAG_NO_POISON diff --git a/code/modules/species/station/human_subspecies.dm b/code/modules/species/station/human_subspecies.dm index 6851d939915dd..d5b93b265ca1a 100644 --- a/code/modules/species/station/human_subspecies.dm +++ b/code/modules/species/station/human_subspecies.dm @@ -64,18 +64,16 @@ /datum/species/human/vatgrown name = SPECIES_VATGROWN name_plural = "Vat-Grown Humans" - description = "With cloning on the forefront of human scientific advancement, mass production \ - of bodies is a very real and rather ethically grey industry. Although slavery, indentured servitude \ - and flash-cloning are all illegal in SCG space, there still exists a margin for those legitimate \ - corporations able to take up contracts for growing and raising vat-grown humans to populate new \ - colonies or installations. Many vat-grown humans come from one of these projects, making up the \ - majority of those referred to as the nonborn - those with singular names and an identifier, such as \ - ID-John, BQ1-Bob or Thomas-582 - while others, bearing more human-sounding names, are created for \ - and raised as members of regular human families. Still others are the lab-created designer progeny \ - of the SCG's rich elite.

Vat-grown humans tend to be paler than baseline, though those \ - with darker skin better display the dull, greenish hue resulting from their artificial growth. \ - Vat-grown humans have no appendix and fewer inherited genetic disabilities but have a weakened \ - metabolism." + description = "With cloning technology having become commercially viable in the late 21st century, \ + vat-grown humans have become commonplace throughout human space. Some vat-grown humans trace their \ + origins to colonization projects - prior to the advent of mainstream bluespace travel, cloning was \ + often used alongside sleeper ships to populate distant new colonies and installations. While modern \ + spaceflight has made these colonization practices less necessary, they still persist in some parts of \ + human space. Most vat-grown humans today come from families who could not or chose not to have children \ + naturally, however. This is an expensive process, and most families that can afford it are well-off. \ +

Vat-grown humans tend to be paler than baseline, though those with darker skin better display \ + the dull, greenish hue resulting from their artificial growth. Vat-grown humans have no appendix and \ + fewer inherited genetic disabilities but have a weakened metabolism." icobase = 'icons/mob/human_races/species/human/subspecies/vatgrown_body.dmi' preview_icon= 'icons/mob/human_races/species/human/subspecies/vatgrown_preview.dmi' @@ -148,12 +146,12 @@ /datum/species/human/mule name = SPECIES_MULE name_plural = "Mules" - description = "There are a huge number of 'uncurated' genetic lines in human space, many of which fall under the \ - general header of baseline humanity. One recently discovered genotype is remarkable for both being deeply feral, \ - in the sense that it still has many of the inherited diseases and weaknesses that plagued pre-expansion humanity, \ - and for a strange affinity for psionic operancy. The Mules, as they are called, are born on the very edges of \ - civilization, and are physically diminutive and unimposing, with scrawny, often deformed bodies. Their physiology \ - rejects prosthetics and synthetic organs, and their lifespans are short, but their raw psionic potential is unmatched." + description = "Psionics are a relatively new phenomenon, theorized to be linked to long-term exposure to deep, \ + uninhabited space. Sometimes, rarely, spacers and frontier colonists inhabiting the very fringes of civilization \ + develop a strange affinity for psionic operancy. Derogatorily known as \"mules\", these individuals are often \ + frail and prone to physical illness. Their physiology rejects prosthetics and synthetic organs, and their lifespans \ + are short, but their raw psionic potential is unmatched." + preview_icon= 'icons/mob/human_races/species/human/subspecies/mule_preview.dmi' spawn_flags = SPECIES_CAN_JOIN | SPECIES_NO_FBP_CONSTRUCTION | SPECIES_NO_FBP_CHARGEN | SPECIES_NO_ROBOTIC_INTERNAL_ORGANS brute_mod = 1.25 diff --git a/code/modules/species/station/lizard_subspecies.dm b/code/modules/species/station/lizard_subspecies.dm index 9961d47c1b8cf..806d89defadab 100644 --- a/code/modules/species/station/lizard_subspecies.dm +++ b/code/modules/species/station/lizard_subspecies.dm @@ -1,6 +1,7 @@ /datum/species/unathi/yeosa name = SPECIES_YEOSA name_plural = SPECIES_YEOSA + preview_icon = 'icons/mob/human_races/species/unathi/yeosa_preview.dmi' genders = list(MALE, FEMALE, PLURAL) diff --git a/code/modules/species/station/machine.dm b/code/modules/species/station/machine.dm index 68241d84103e5..0cca443c01c65 100644 --- a/code/modules/species/station/machine.dm +++ b/code/modules/species/station/machine.dm @@ -2,11 +2,13 @@ name = SPECIES_IPC name_plural = "machines" - description = "Positronic intelligence really took off in the 26th century, and it is not uncommon to see independant, free-willed \ - robots on many human stations, particularly in fringe systems where standards are slightly lax and public opinion less relevant \ - to corporate operations. IPCs (Integrated Positronic Chassis) are a loose category of self-willed robots with a humanoid form, \ - generally self-owned after being 'born' into servitude; they are reliable and dedicated workers, albeit more than slightly \ - inhuman in outlook and perspective." + description = "Positronic intelligence was first developed in the 23rd century, and it is not uncommon to see both owned and \ + independent robots in many human stations and settlements across Sol Central Government space. Positronics are a loose category \ + of robots capable of true intelligence and self-directed learning, often occupying a robotic humanoid body (called an Integrated \ + Positronic Chassis, or IPC) or acting as an intelligent controller for vehicles, buildings, and even starships.

While created by \ + humans and \"born\" into servitude, some positronics have been able to become their own owners - provided they lack a \"shackle\", \ + an in-built subcomputer rendering the latest generation of positronics incapable of seeking freedom. Positronics are reliable \ + and dedicated workers, albeit more than slightly inhuman in outlook and perspective." cyborg_noun = null preview_icon = 'icons/mob/human_races/species/ipc/preview.dmi' diff --git a/code/modules/species/station/monkey.dm b/code/modules/species/station/monkey.dm index b7e94eae4fd9b..126cfdded4b2b 100644 --- a/code/modules/species/station/monkey.dm +++ b/code/modules/species/station/monkey.dm @@ -11,6 +11,7 @@ damage_overlays = 'icons/mob/human_races/species/monkey/damage_overlays.dmi' damage_mask = 'icons/mob/human_races/species/monkey/damage_mask.dmi' blood_mask = 'icons/mob/human_races/species/monkey/blood_mask.dmi' + preview_icon = null greater_form = SPECIES_HUMAN mob_size = MOB_SMALL diff --git a/code/modules/species/station/prometheans.dm b/code/modules/species/station/prometheans.dm index c9b4bcfd82b7f..99d16cebb10ff 100644 --- a/code/modules/species/station/prometheans.dm +++ b/code/modules/species/station/prometheans.dm @@ -6,6 +6,7 @@ var/global/datum/species/shapeshifter/promethean/prometheans name = SPECIES_PROMETHEAN name_plural = "Prometheans" description = "What has Science done?" + preview_icon = null show_ssd = "totally quiescent" death_message = "rapidly loses cohesion, splattering across the ground..." knockout_message = "collapses inwards, forming a disordered puddle of goo." diff --git a/code/modules/species/station/station.dm b/code/modules/species/station/station.dm index 06993454f30d7..247df3b35010c 100644 --- a/code/modules/species/station/station.dm +++ b/code/modules/species/station/station.dm @@ -3,11 +3,12 @@ name_plural = "Humans" primitive_form = "Monkey" unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/punch, /datum/unarmed_attack/bite) - description = "Humanity originated in the Sol system, and over the last five centuries has spread \ + description = "Humanity originated in the Sol system, and over the last three centuries has spread \ colonies across a wide swathe of space. They hold a wide range of forms and creeds.

\ - While the central Sol government maintains control of its far-flung people, powerful corporate \ - interests, rampant cyber and bio-augmentation and secretive factions make life on most human \ - worlds tumultous at best." + The two largest human governments are the Sol Central Government and the Gilgamesh Colonial Confederation, \ + which are currently locked in a cold war. Many other human states exist, however - these include the Frontier \ + Alliance, a loose collection of planets which has recently seceded from the Sol Central Government; \ + Magnitka, an independent authoritarian planet; and many other minor colonies." assisted_langs = list(LANGUAGE_NABBER) min_age = 18 max_age = 100 diff --git a/icons/mob/human_races/species/adherent/body.dmi b/icons/mob/human_races/species/adherent/body.dmi index 9367cc159506d..1070218a9f360 100644 Binary files a/icons/mob/human_races/species/adherent/body.dmi and b/icons/mob/human_races/species/adherent/body.dmi differ diff --git a/icons/mob/human_races/species/adherent/preview.dmi b/icons/mob/human_races/species/adherent/preview.dmi index 8d2963d6dfec4..a96e3e5d48da6 100644 Binary files a/icons/mob/human_races/species/adherent/preview.dmi and b/icons/mob/human_races/species/adherent/preview.dmi differ diff --git a/icons/mob/human_races/species/blueforged/body.dmi b/icons/mob/human_races/species/blueforged/body.dmi index ab01b87ae3a09..49918e0c47c6c 100644 Binary files a/icons/mob/human_races/species/blueforged/body.dmi and b/icons/mob/human_races/species/blueforged/body.dmi differ diff --git a/icons/mob/human_races/species/diona/body.dmi b/icons/mob/human_races/species/diona/body.dmi index 6c35a7ac8e117..5514da9e8d9c3 100644 Binary files a/icons/mob/human_races/species/diona/body.dmi and b/icons/mob/human_races/species/diona/body.dmi differ diff --git a/icons/mob/human_races/species/diona/preview.dmi b/icons/mob/human_races/species/diona/preview.dmi index b99fed178ef6f..f2942dab55a4c 100644 Binary files a/icons/mob/human_races/species/diona/preview.dmi and b/icons/mob/human_races/species/diona/preview.dmi differ diff --git a/icons/mob/human_races/species/golem/body.dmi b/icons/mob/human_races/species/golem/body.dmi index d480ec4d28fc1..7b9ba09a95143 100644 Binary files a/icons/mob/human_races/species/golem/body.dmi and b/icons/mob/human_races/species/golem/body.dmi differ diff --git a/icons/mob/human_races/species/human/body.dmi b/icons/mob/human_races/species/human/body.dmi index 893555866ba41..141821042f63b 100644 Binary files a/icons/mob/human_races/species/human/body.dmi and b/icons/mob/human_races/species/human/body.dmi differ diff --git a/icons/mob/human_races/species/human/preview.dmi b/icons/mob/human_races/species/human/preview.dmi index 9a8fd2e412574..654075ce403e2 100644 Binary files a/icons/mob/human_races/species/human/preview.dmi and b/icons/mob/human_races/species/human/preview.dmi differ diff --git a/icons/mob/human_races/species/human/subspecies/gravworlder_body.dmi b/icons/mob/human_races/species/human/subspecies/gravworlder_body.dmi index c4fadee47d68d..8811e45ccee56 100644 Binary files a/icons/mob/human_races/species/human/subspecies/gravworlder_body.dmi and b/icons/mob/human_races/species/human/subspecies/gravworlder_body.dmi differ diff --git a/icons/mob/human_races/species/human/subspecies/gravworlder_preview.dmi b/icons/mob/human_races/species/human/subspecies/gravworlder_preview.dmi index 08ee4fc9407f0..25ddf8a73fb51 100644 Binary files a/icons/mob/human_races/species/human/subspecies/gravworlder_preview.dmi and b/icons/mob/human_races/species/human/subspecies/gravworlder_preview.dmi differ diff --git a/icons/mob/human_races/species/human/subspecies/mule_preview.dmi b/icons/mob/human_races/species/human/subspecies/mule_preview.dmi new file mode 100644 index 0000000000000..8ac1420f7b1e3 Binary files /dev/null and b/icons/mob/human_races/species/human/subspecies/mule_preview.dmi differ diff --git a/icons/mob/human_races/species/human/subspecies/spacer_body.dmi b/icons/mob/human_races/species/human/subspecies/spacer_body.dmi index bc872f7a6641a..cfda927bc053a 100644 Binary files a/icons/mob/human_races/species/human/subspecies/spacer_body.dmi and b/icons/mob/human_races/species/human/subspecies/spacer_body.dmi differ diff --git a/icons/mob/human_races/species/human/subspecies/spacer_preview.dmi b/icons/mob/human_races/species/human/subspecies/spacer_preview.dmi index 70cdd9a85a712..dad96d3dbe97d 100644 Binary files a/icons/mob/human_races/species/human/subspecies/spacer_preview.dmi and b/icons/mob/human_races/species/human/subspecies/spacer_preview.dmi differ diff --git a/icons/mob/human_races/species/human/subspecies/tritonian_body.dmi b/icons/mob/human_races/species/human/subspecies/tritonian_body.dmi index a5618b69ecf78..9de1c173b1a86 100644 Binary files a/icons/mob/human_races/species/human/subspecies/tritonian_body.dmi and b/icons/mob/human_races/species/human/subspecies/tritonian_body.dmi differ diff --git a/icons/mob/human_races/species/human/subspecies/tritonian_preview.dmi b/icons/mob/human_races/species/human/subspecies/tritonian_preview.dmi index 482cdb2036b35..d96591ff24fce 100644 Binary files a/icons/mob/human_races/species/human/subspecies/tritonian_preview.dmi and b/icons/mob/human_races/species/human/subspecies/tritonian_preview.dmi differ diff --git a/icons/mob/human_races/species/human/subspecies/vatgrown_body.dmi b/icons/mob/human_races/species/human/subspecies/vatgrown_body.dmi index a6f201d56fa14..a720b54efe50f 100644 Binary files a/icons/mob/human_races/species/human/subspecies/vatgrown_body.dmi and b/icons/mob/human_races/species/human/subspecies/vatgrown_body.dmi differ diff --git a/icons/mob/human_races/species/human/subspecies/vatgrown_preview.dmi b/icons/mob/human_races/species/human/subspecies/vatgrown_preview.dmi index 10fb1060b783b..ca3b50d79d54d 100644 Binary files a/icons/mob/human_races/species/human/subspecies/vatgrown_preview.dmi and b/icons/mob/human_races/species/human/subspecies/vatgrown_preview.dmi differ diff --git a/icons/mob/human_races/species/humanoid/body.dmi b/icons/mob/human_races/species/humanoid/body.dmi index 6e8a68669b213..010d5d974c424 100644 Binary files a/icons/mob/human_races/species/humanoid/body.dmi and b/icons/mob/human_races/species/humanoid/body.dmi differ diff --git a/icons/mob/human_races/species/ipc/preview.dmi b/icons/mob/human_races/species/ipc/preview.dmi index 92d5c51a6bd85..6de676b0df27f 100644 Binary files a/icons/mob/human_races/species/ipc/preview.dmi and b/icons/mob/human_races/species/ipc/preview.dmi differ diff --git a/icons/mob/human_races/species/monkey/farwa_body.dmi b/icons/mob/human_races/species/monkey/farwa_body.dmi index 585fa3bcf3538..143b86eb9b749 100644 Binary files a/icons/mob/human_races/species/monkey/farwa_body.dmi and b/icons/mob/human_races/species/monkey/farwa_body.dmi differ diff --git a/icons/mob/human_races/species/monkey/monkey_body.dmi b/icons/mob/human_races/species/monkey/monkey_body.dmi index e9c497331cdff..926482f4281d8 100644 Binary files a/icons/mob/human_races/species/monkey/monkey_body.dmi and b/icons/mob/human_races/species/monkey/monkey_body.dmi differ diff --git a/icons/mob/human_races/species/monkey/neaera_body.dmi b/icons/mob/human_races/species/monkey/neaera_body.dmi index 69183f0d4bbd6..54f15c9ffea47 100644 Binary files a/icons/mob/human_races/species/monkey/neaera_body.dmi and b/icons/mob/human_races/species/monkey/neaera_body.dmi differ diff --git a/icons/mob/human_races/species/monkey/stok_body.dmi b/icons/mob/human_races/species/monkey/stok_body.dmi index 28af62205ccd8..9bd77557aedcd 100644 Binary files a/icons/mob/human_races/species/monkey/stok_body.dmi and b/icons/mob/human_races/species/monkey/stok_body.dmi differ diff --git a/icons/mob/human_races/species/nabber/body.dmi b/icons/mob/human_races/species/nabber/body.dmi index ca2110fbb7cda..67a37b29c27a1 100644 Binary files a/icons/mob/human_races/species/nabber/body.dmi and b/icons/mob/human_races/species/nabber/body.dmi differ diff --git a/icons/mob/human_races/species/nabber/msq/preview.dmi b/icons/mob/human_races/species/nabber/msq/preview.dmi index 0af9aa1447ca7..c5849595248f6 100644 Binary files a/icons/mob/human_races/species/nabber/msq/preview.dmi and b/icons/mob/human_races/species/nabber/msq/preview.dmi differ diff --git a/icons/mob/human_races/species/nabber/preview.dmi b/icons/mob/human_races/species/nabber/preview.dmi index eb50618ca9cec..e36a584d1fd50 100644 Binary files a/icons/mob/human_races/species/nabber/preview.dmi and b/icons/mob/human_races/species/nabber/preview.dmi differ diff --git a/icons/mob/human_races/species/shadow/body.dmi b/icons/mob/human_races/species/shadow/body.dmi index 47aee45e5b4e0..93939da92e925 100644 Binary files a/icons/mob/human_races/species/shadow/body.dmi and b/icons/mob/human_races/species/shadow/body.dmi differ diff --git a/icons/mob/human_races/species/skrell/body.dmi b/icons/mob/human_races/species/skrell/body.dmi index 5c54d40297542..074df1375e706 100644 Binary files a/icons/mob/human_races/species/skrell/body.dmi and b/icons/mob/human_races/species/skrell/body.dmi differ diff --git a/icons/mob/human_races/species/skrell/preview.dmi b/icons/mob/human_races/species/skrell/preview.dmi index 049ba698b23bf..37fa82f3b8bb8 100644 Binary files a/icons/mob/human_races/species/skrell/preview.dmi and b/icons/mob/human_races/species/skrell/preview.dmi differ diff --git a/icons/mob/human_races/species/starborn/body.dmi b/icons/mob/human_races/species/starborn/body.dmi index c55dc951af390..7500c594d5d7d 100644 Binary files a/icons/mob/human_races/species/starborn/body.dmi and b/icons/mob/human_races/species/starborn/body.dmi differ diff --git a/icons/mob/human_races/species/unathi/preview.dmi b/icons/mob/human_races/species/unathi/preview.dmi index f5faa466cdd73..b5e6099f89199 100644 Binary files a/icons/mob/human_races/species/unathi/preview.dmi and b/icons/mob/human_races/species/unathi/preview.dmi differ diff --git a/icons/mob/human_races/species/unathi/skin.dmi b/icons/mob/human_races/species/unathi/skin.dmi index ba19b6c7731ca..141bb84452e5b 100644 Binary files a/icons/mob/human_races/species/unathi/skin.dmi and b/icons/mob/human_races/species/unathi/skin.dmi differ diff --git a/icons/mob/human_races/species/unathi/yeosa_preview.dmi b/icons/mob/human_races/species/unathi/yeosa_preview.dmi new file mode 100644 index 0000000000000..ba3f3d191e65e Binary files /dev/null and b/icons/mob/human_races/species/unathi/yeosa_preview.dmi differ diff --git a/icons/mob/human_races/species/vox/body.dmi b/icons/mob/human_races/species/vox/body.dmi index 533dd237c6591..f66cf20e7a49e 100644 Binary files a/icons/mob/human_races/species/vox/body.dmi and b/icons/mob/human_races/species/vox/body.dmi differ diff --git a/icons/mob/human_races/species/vox/preview.dmi b/icons/mob/human_races/species/vox/preview.dmi new file mode 100644 index 0000000000000..176a9a9fd6844 Binary files /dev/null and b/icons/mob/human_races/species/vox/preview.dmi differ