Files
AlexisandGitHub e458eaee4a GAS: Giant Armored Serpentids (Snake Bugs) (#5139)
## About The Pull Request
**The majority of the work was done by Ozzo in #1471.**

GAS are snake bugs hailing from Baystation 12. 

- They hate the heat, but are durable against low-pressure environments
and the cold.
- They cannot wear suits and most clothes, but have built in armor (it's
in their name).
- It is harder to grab GAS.
- They are taller than the average spaceman.


https://github.com/user-attachments/assets/f9ac1078-0d41-4a26-850f-26a2cd7bbf01

They currently have no lore or species description, but plans are in the
works for both to be made.
## Why It's Good For The Game
It's a new species that was well-recieved when it was tested the first
time around, before being lost due to a lack of work on it. I am here to
continue work on it and add new features to it if they are requested by
the person that wanted them.
## Proof Of Testing
It compiled and ran, hence me being able to take the video. There were
no runtimes. I attached an image of a stylish GAS as further proof of
testing.
<details>
<summary>Screenshots/Videos</summary>
<img width="137" height="111" alt="image"
src="https://github.com/user-attachments/assets/4b2ddd78-9312-4f0e-bbac-37bd51290490"
/>
</details>

## Changelog
🆑
add: Added a new species: Giant Armored Serpentids (GAS)!
/🆑
2026-02-26 17:31:43 +01:00

172 lines
6.0 KiB
Plaintext

//We start from 30 to not interfere with TG species defines, should they add more
/// We're using all three mutcolor features for our skin coloration
#define MUTCOLOR_MATRIXED 30
#define MUTCOLORS2 31
#define MUTCOLORS3 32
// Defines for whether an accessory should have one or three colors to choose for
#define USE_ONE_COLOR 31
#define USE_MATRIXED_COLORS 32
//Defines for processing reagents, for synths, IPC's, Protean's and Vox
#define PROCESS_ORGANIC 1 //Only processes reagents with "ORGANIC" or "ORGANIC | SYNTHETIC" or "ORGANIC | PROTEAN" or "ORGANIC | SYNTHETIC | PROTEAN"
#define PROCESS_SYNTHETIC 2 //Only processes reagents with "SYNTHETIC" or "ORGANIC | SYNTHETIC" or "SYNTHETIC | PROTEAN" or "ORGANIC | SYNTHETIC | PROTEAN"
#define PROCESS_PROTEAN 4 //Only processes reagents with "PROTEAN" or "ORGANIC | PROTEAN" or "ORGANIC | SYNTHETIC | PROTEAN"
#define REAGENT_ORGANIC 1
#define REAGENT_SYNTHETIC 2
#define REAGENT_PROTEAN 4
//Some defines for sprite accessories
// Which color source we're using when the accessory is added
#define DEFAULT_PRIMARY 1
#define DEFAULT_SECONDARY 2
#define DEFAULT_TERTIARY 3
#define DEFAULT_MATRIXED 4 //uses all three colors for a matrix
#define DEFAULT_SKIN_OR_PRIMARY 5 //Uses skin tone color if the character uses one, otherwise primary
// Defines for extra bits of accessories
#define COLOR_SRC_PRIMARY 1
#define COLOR_SRC_SECONDARY 2
#define COLOR_SRC_TERTIARY 3
#define COLOR_SRC_MATRIXED 4
// Defines for mutant bodyparts indexes
#define MUTANT_INDEX_NAME "name"
#define MUTANT_INDEX_COLOR_LIST "color"
#define MUTANT_INDEX_EMISSIVE_LIST "emissive"
// Defines for default mutant bodyparts indexes
#define MUTANTPART_NAME 1
#define MUTANTPART_CAN_RANDOMIZE 2
// Defines for markings indexes
#define MARKING_INDEX_COLOR 1
#define MARKING_INDEX_EMISSIVE 2
//The color list that is passed to color matrixed things when a person is husked
#define HUSK_COLOR_LIST list(list(0.64, 0.64, 0.64, 0), list(0.64, 0.64, 0.64, 0), list(0.64, 0.64, 0.64, 0), list(0, 0, 0, 1))
/// Organ slot external
#define ORGAN_SLOT_EXTERNAL_CAP "cap"
#define ORGAN_SLOT_EXTERNAL_FLUFF "fluff"
#define ORGAN_SLOT_EXTERNAL_HEAD_ACCESSORY "head_accessory"
#define ORGAN_SLOT_EXTERNAL_MOTH_MARKINGS "moth_markings"
#define ORGAN_SLOT_EXTERNAL_NECK_ACCESSORY "neck_accessory"
#define ORGAN_SLOT_EXTERNAL_SKRELL_HAIR "skrell_hair"
#define ORGAN_SLOT_EXTERNAL_SYNTH_ANTENNA "synth_antenna"
#define ORGAN_SLOT_EXTERNAL_SYNTH_SCREEN "synth_screen"
#define ORGAN_SLOT_EXTERNAL_TAUR "taur"
#define ORGAN_SLOT_EXTERNAL_XENODORSAL "xenodorsal"
#define ORGAN_SLOT_EXTERNAL_XENOHEAD "xenohead"
#define ORGAN_SLOT_BORER "borer"
//Defines for an accessory to be randomed
#define ACC_RANDOM "random"
#define MAXIMUM_MARKINGS_PER_LIMB 3
#define BODY_SIZE_NORMAL 1.00
#define BODY_SIZE_MAX 1.5
#define BODY_SIZE_MIN 0.8
//In inches
#define PENIS_MIN_GIRTH PENIS_MIN_LENGTH
#define PENIS_MAX_GIRTH 40
#define PENIS_DEFAULT_GIRTH 5 // a lil big but not by much
#define PENIS_MIN_LENGTH 1
#define PENIS_MAX_LENGTH 72
#define PENIS_DEFAULT_LENGTH 6 //still a lil long but not insane
#define TESTICLES_MIN_SIZE 0
#define TESTICLES_MAX_SIZE 8
#define SHEATH_NONE "None"
#define SHEATH_NORMAL "Sheath"
#define SHEATH_SLIT "Slit"
#define SHEATH_MODES list(SHEATH_NONE, SHEATH_NORMAL, SHEATH_SLIT)
#define MANDATORY_FEATURE_LIST list(\
"mcolor" = "#FFFFBB",\
"mcolor2" = "#FFFFBB",\
"mcolor3" = "#FFFFBB",\
"ethcolor" = "#FFCCCC",\
"skin_color" = "#FFEEDD",\
"flavor_text" = "",\
"breasts_size" = 1,\
"breasts_lactation" = FALSE,\
"penis_size" = 13,\
"penis_girth" = 9,\
"penis_taur_mode" = TRUE,\
"penis_sheath" = SHEATH_NONE,\
"balls_size" = 1,\
"body_size" = BODY_SIZE_NORMAL,\
"custom_species" = "",\
"penis_uses_skintones" = TRUE,\
"penis_uses_skincolor" = TRUE,\
"testicles_uses_skintones" = TRUE,\
"testicles_uses_skincolor" = TRUE,\
"vagina_uses_skintones" = TRUE,\
"vagina_uses_skincolor" = TRUE,\
"breasts_uses_skintones" = TRUE,\
"breasts_uses_skincolor" = TRUE,\
)
#define AROUSAL_CANT 0
#define AROUSAL_NONE 1
#define AROUSAL_PARTIAL 2
#define AROUSAL_FULL 3
//Species IDs. If you wanna look at tg's species ID defines, go look in the *other* DNA.dm file
#define SPECIES_AKULA "akula"
#define SPECIES_AQUATIC "aquatic"
#define SPECIES_DWARF "dwarf"
#define SPECIES_HUMANOID "humanoid"
#define SPECIES_INSECT "insect"
#define SPECIES_MAMMAL "mammal"
#define SPECIES_PODPERSON_WEAK "podweak"
#define SPECIES_SYNTH "synth"
#define SPECIES_SLIMESTART "slimeperson" //There's already SPECIES_SLIMEPERSON in tg
#define SPECIES_SKRELL "skrell"
#define SPECIES_TAJARAN "tajaran"
#define SPECIES_UNATHI "unathi"
#define SPECIES_VOX "vox"
#define SPECIES_VOX_PRIMALIS "vox_primalis"
#define SPECIES_VULP "vulpkanin"
#define SPECIES_XENO "xeno"
#define SPECIES_GHOUL "ghoul"
#define SPECIES_TESHARI "teshari"
#define SPECIES_HEMOPHAGE "hemophage"
#define SPECIES_FELINE_PRIMITIVE "primitive_felinid"
#define SPECIES_PROTEAN "protean"
#define SPECIES_GAS "serpentid"
#define SPECIES_MUTANT "mutant"
#define SPECIES_MUTANT_INFECTIOUS "infectious_mutant"
#define SPECIES_MUTANT_SLOW "slow_mutant"
#define SPECIES_MUTANT_FAST "fast_mutant"
// Leaving this here because it's used for bodyparts, like SPECIES_X are, but since taurs aren't a species... Named it LIMBS instead.
#define LIMBS_TAUR "taur"
#define DNA_FEATURE_COLOR_BLOCKS_PER_FEATURE 3
#define DNA_FEATURE_BLOCKS_TOTAL_SIZE_PER_FEATURE (DNA_BLOCK_SIZE + DNA_BLOCK_SIZE_COLOR * DNA_FEATURE_COLOR_BLOCKS_PER_FEATURE)
#define FEATURE_MUTANT_COLOR_TWO "mcolor2"
#define FEATURE_MUTANT_COLOR_THREE "mcolor3"
#define FEATURE_SKIN_COLOR "skin_color"
#define FEATURE_TAIL_GENERIC "tail"
#define FEATURE_FLUFF "fluff"
#define FEATURE_PENIS "penis"
#define FEATURE_TESTICLES "testicles"
#define FEATURE_VAGINA "vagina"
#define FEATURE_WOMB "womb"
#define FEATURE_ANUS "anus"
#define FEATURE_BREASTS "breasts"
#define FEATURE_SKRELL_HAIR "skrell_hair"
#define FEATURE_XENODORSAL "xenodorsal"
#define FEATURE_XENOHEAD "xenohead"
#define FEATURE_TAUR "taur"
#define MUTATION_SOURCE_SPECIES "species"
#define MUTATION_SOURCE_QUIRK "quirk"