Skip to content

Commit

Permalink
Adds our traits define file to the linter steps (#25134)
Browse files Browse the repository at this point in the history
* Adds our traits define file to the linter steps

* Update check.py

* Adds our traits define file to the linter steps

* Update check.py

* Update ci_suite.yml

* Update declarations.dm

* Modular traits

* Update _traits.dm

* Update _traits.dm

* Oops

* Yes we do

* Update sources.dm

* Update other_reagents.dm

* oOPS

* Update for changeling sting pr

* Update for changeling sting pr

* Update declarations.dm

* Oopsies

* Add to admin tooling

* Update _traits.dm

* Apply suggestions from code review

Co-authored-by: GoldenAlpharex <[email protected]>

* Update code/__DEFINES/~skyrat_defines/traits/declarations.dm

---------

Co-authored-by: GoldenAlpharex <[email protected]>
  • Loading branch information
2 people authored and FFMirrorBot committed Nov 22, 2023
1 parent 7e810b8 commit da12a98
Show file tree
Hide file tree
Showing 37 changed files with 525 additions and 329 deletions.
4 changes: 4 additions & 0 deletions .github/workflows/ci_suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,12 @@ jobs:
- name: Check Define Sanity
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: tools/bootstrap/python -m define_sanity.check
- name: Check Trait Validity
if: steps.linter-setup.conclusion == 'success' && !cancelled()
run: tools/bootstrap/python -m trait_validity.check
- name: Run DreamChecker
if: steps.linter-setup.conclusion == 'success' && !cancelled()
shell: bash
run: ~/dreamchecker 2>&1 | bash tools/ci/annotate_dm.sh
- name: Run Map Checks
if: steps.linter-setup.conclusion == 'success' && !cancelled()
Expand Down
4 changes: 0 additions & 4 deletions code/__DEFINES/~skyrat_defines/DNA.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@
// 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 some extra inherent traits
#define TRAIT_REVIVES_BY_HEALING "trait_revives_by_healing"
#define TRAIT_ROBOTIC_DNA_ORGANS "trait_robotic_dna_organs"
//Also.. yes for some reason specie traits and accessory defines are together

//Defines for processing reagents, for synths, IPC's and Vox
#define PROCESS_ORGANIC 1 //Only processes reagents with "ORGANIC" or "ORGANIC | SYNTHETIC"
Expand Down
17 changes: 0 additions & 17 deletions code/__DEFINES/~skyrat_defines/lewd_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,6 @@
#define REQUIRE_GENITAL_UNEXPOSED 2
#define REQUIRE_GENITAL_ANY 3

#define TRAIT_MASOCHISM "masochism"
#define TRAIT_SADISM "sadism"
#define TRAIT_NEVERBONER "neverboner"
#define TRAIT_BIMBO "bimbo"
#define TRAIT_RIGGER "rigger"
#define TRAIT_ROPEBUNNY "rope bunny"
///traits gained by brain traumas, can be removed if the brain trauma is gone
#define APHRO_TRAIT "aphro"
///traits gained by quirks, cannot be removed unless the quirk itself is gone
#define LEWDQUIRK_TRAIT "lewdquirks"
///traits gained by chemicals, you get the idea
#define LEWDCHEM_TRAIT "lewdchem"

#define STRAPON_TRAIT "strapon"

#define CONDOM_BROKEN "broken"

#define BREAST_SIZE_FLATCHESTED "Flatchested"
#define BREAST_SIZE_A "A"
#define BREAST_SIZE_B "B"
Expand Down
14 changes: 0 additions & 14 deletions code/__DEFINES/~skyrat_defines/robot_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,6 @@

#define SKIN_FEATURES "skin_features" //for the new system of borg making

//Defines for model features, set in the model_features list of a robot model datum. Are they a dogborg? Is the model small? etc.
/// Cyborgs with unique sprites for when they get totally broken down.
#define R_TRAIT_UNIQUEWRECK "unique_wreck"
/// Or when tipped over.
#define R_TRAIT_UNIQUETIP "unique_tip"
/// 64x32 skins
#define R_TRAIT_WIDE "wide_borg"
/// 32x64 skins
#define R_TRAIT_TALL "tall_borg"
/// Any model small enough to reject the shrinker upgrade.
#define R_TRAIT_SMALL "small_chassis"
/// Any model that has a custom front panel
#define R_TRAIT_UNIQUEPANEL "unique_openpanel"

// Icon file locations for modular borg icons
#define CYBORG_ICON_STANDARD 'modular_skyrat/modules/borgs/icons/robots.dmi'

Expand Down
96 changes: 0 additions & 96 deletions code/__DEFINES/~skyrat_defines/traits.dm
Original file line number Diff line number Diff line change
@@ -1,101 +1,5 @@
// Defines for some extra traits
#define TRAIT_NO_HUSK "no_husk"
#define TRAIT_NORUNNING "norunning" // You walk!
#define TRAIT_EXCITABLE "wagwag" //Will wag when patted!
#define TRAIT_OXYIMMUNE "oxyimmune" // Immune to oxygen damage, ideally give this to all non-breathing species or bad stuff will happen
#define TRAIT_PERSONALSPACE "personalspace" // Block/counter-attack ass-slaps
#define TRAIT_MOOD_NOEXAMINE "mood_noexamine" // Can't assess your own mood
#define TRAIT_DNR "do_not_revive" // Can't be revived without supernatural means or admin intervention
#define TRAIT_HARD_SOLES "hard_soles" // No step on glass
#define TRAIT_SENSITIVESNOUT "sensitive_snout" // Snout hurts when booped
#define TRAIT_DETECTIVE "detective_ability" //Given to the detective, if they have this, they can see syndicate special descriptions.
#define TRAIT_FREE_GHOST "free_ghost" // Can ghost and return freely with this trait
#define GLOVES_TRAIT "gloves_trait" //Traits associated with wearing gloves
#define QUIRK_LINGUIST "Linguist" // Extra language point.
#define GLUED_ITEM_TRAIT "glued-item" // This is for glued items, undroppable. Syndie glue applies this.
#define TRAIT_STICKY_FINGERS "sticky_fingers" //This is so a mob can strip items faster and picks them up after
/// This makes trait makes it so that the person cannot be infected by the zombie virus.
#define TRAIT_MUTANT_IMMUNE "mutant_immune"

/// adds -6 quirk to negative quirks for free points.
#define TRAIT_GIFTED "gifted"

//AdditionalEmotes *turf traits
#define TRAIT_WATER_ASPECT "water_aspect"
#define TRAIT_WEBBING_ASPECT "webbing_aspect"
#define TRAIT_FLORAL_ASPECT "floral_aspect"
#define TRAIT_ASH_ASPECT "ash_aspect"
#define TRAIT_SPARKLE_ASPECT "sparkle_aspect"

/// Allows the user to instantly reload.
#define TRAIT_INSTANT_RELOAD "instant_reload"

// Trait sources
#define GHOSTROLE_TRAIT "ghostrole" // SKYRAT EDIT ADDITION -- Ghost Cafe Traits

/// One can breath under water, you get me?
#define TRAIT_WATER_BREATHING "water_breathing"

/// The trait which Akulas inherit, for their species mechanic revolving around wet_stacks
#define TRAIT_SLICK_SKIN "slick_skin"
/// The trait which is applied when a `slick skin` trait haver actually gets wet_stacks
#define TRAIT_SLIPPERY "slippery"
/// The minimum amount of tiles a TRAIT_SLIPPERY haver will slide on slip
#define SLIPPERY_MIN 5
/// The maximum amount of tiles a TRAIT_SLIPPERY haver will slide on slip
#define SLIPPERY_MAX 9

/// Under the effect of a numbling agent, such as morphine, for surgery.
#define TRAIT_NUMBED "numbed"

// felinid traits
#define TRAIT_FELINE "feline_aspect"

// canine traits
#define TRAIT_CANINE "canine_aspect"

// avian traits
#define TRAIT_AVIAN "avian_aspect"

// chameleon mutation
#define TRAIT_CHAMELEON_SKIN "chameleon_skin"

//Makes sure that people cant be cult sacrificed twice.
#define TRAIT_SACRIFICED "sacrificed"

/// The trait that determines if someone has the oversized quirk.
#define TRAIT_OVERSIZED "trait_oversized"

/// Cargo Loader trait
#define TRAIT_TRASHMAN "trait_trashman"

/// Trait source for xeno innate abilities
#define TRAIT_XENO_INNATE "xeno_innate"
/// Trait source for something added BY a xeno ability
#define TRAIT_XENO_ABILITY_GIVEN "xeno_ability_given"
/// Determines if something can receive healing from a xeno
#define TRAIT_XENO_HEAL_AURA "trait_xeno_heal_aura"

/// Trait that was granted by a reagent.
#define REAGENT_TRAIT "reagent"

/// trait that lets you do flips with a style meter
#define TRAIT_STYLISH "stylish"

/// trait that lets you do xenoarch magnification
#define TRAIT_XENOARCH_QUALIFIED "trait_xenoarch_qualified"

/// Traits granted by glassblowing
#define GLASSBLOWING_TRAIT "glassblowing"

/// Trait that is applied whenever someone or something is glassblowing
#define TRAIT_CURRENTLY_GLASSBLOWING "currently_glassblowing"

/// Trait that was granted by a NIFSoft
#define NIFSOFT_TRAIT "nifsoft"

/// Trait given to a piece of eyewear that allows the user to use NIFSoft HUDs
#define TRAIT_NIFSOFT_HUD_GRANTER "nifsoft_hud_granter"

/// Trait given to a brain that is able to accept souls from a RSD
#define TRAIT_RSD_COMPATIBLE "rsd_compatible"
147 changes: 147 additions & 0 deletions code/__DEFINES/~skyrat_defines/traits/declarations.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
// This file contains all of the "static" define strings that tie to a trait.
// WARNING: The sections here actually matter in this file as it's tested by CI. Please do not toy with the sections."

// BEGIN TRAIT DEFINES

/*
Remember to update _globalvars/traits.dm if you're adding/removing/renaming traits.
*/

//mob traits

// Defines for some extra traits
#define TRAIT_NO_HUSK "no_husk"
#define TRAIT_NORUNNING "norunning" // You walk!
#define TRAIT_EXCITABLE "wagwag" //Will wag when patted!
#define TRAIT_OXYIMMUNE "oxyimmune" // Immune to oxygen damage, ideally give this to all non-breathing species or bad stuff will happen
#define TRAIT_PERSONALSPACE "personalspace" // Block/counter-attack ass-slaps
#define TRAIT_MOOD_NOEXAMINE "mood_noexamine" // Can't assess your own mood
#define TRAIT_DNR "do_not_revive" // Can't be revived without supernatural means or admin intervention
#define TRAIT_HARD_SOLES "hard_soles" // No step on glass
#define TRAIT_SENSITIVESNOUT "sensitive_snout" // Snout hurts when booped
#define TRAIT_DETECTIVE "detective_ability" //Given to the detective, if they have this, they can see syndicate special descriptions.
#define TRAIT_FREE_GHOST "free_ghost" // Can ghost and return freely with this trait
#define TRAIT_GLOVES "gloves_trait" //Traits associated with wearing gloves
#define TRAIT_LINGUIST "Linguist" // Extra language point.
#define TRAIT_GLUED_ITEM "glued-item" // This is for glued items, undroppable. Syndie glue applies this.
#define TRAIT_STICKY_FINGERS "sticky_fingers" //This is so a mob can strip items faster and picks them up after
/// This makes trait makes it so that the person cannot be infected by the zombie virus.
#define TRAIT_MUTANT_IMMUNE "mutant_immune"
#define TRAIT_HYDRA_HEADS "hydrahead"

/// adds -6 quirk to negative quirks for free points.
#define TRAIT_GIFTED "gifted"

//AdditionalEmotes *turf traits
#define TRAIT_WATER_ASPECT "water_aspect"
#define TRAIT_WEBBING_ASPECT "webbing_aspect"
#define TRAIT_FLORAL_ASPECT "floral_aspect"
#define TRAIT_ASH_ASPECT "ash_aspect"
#define TRAIT_SPARKLE_ASPECT "sparkle_aspect"

/// Allows the user to instantly reload.
#define TRAIT_INSTANT_RELOAD "instant_reload"

// Trait sources
#define TRAIT_GHOSTROLE "ghostrole" // SKYRAT EDIT ADDITION -- Ghost Cafe Traits

/// One can breath under water, you get me?
#define TRAIT_WATER_BREATHING "water_breathing"

/// The trait which Akulas inherit, for their species mechanic revolving around wet_stacks
#define TRAIT_SLICK_SKIN "slick_skin"
/// The trait which is applied when a `slick skin` trait haver actually gets wet_stacks
#define TRAIT_SLIPPERY "slippery"

/// Under the effect of a numbling agent, such as morphine, for surgery.
#define TRAIT_NUMBED "numbed"

// felinid traits
#define TRAIT_FELINE "feline_aspect"

// canine traits
#define TRAIT_CANINE "canine_aspect"

// avian traits
#define TRAIT_AVIAN "avian_aspect"

// chameleon mutation
#define TRAIT_CHAMELEON_SKIN "chameleon_skin"

//Makes sure that people cant be cult sacrificed twice.
#define TRAIT_SACRIFICED "sacrificed"

/// The trait that determines if someone has the oversized quirk.
#define TRAIT_OVERSIZED "trait_oversized"

/// Cargo Loader trait
#define TRAIT_TRASHMAN "trait_trashman"

/// Trait source for xeno innate abilities
#define TRAIT_XENO_INNATE "xeno_innate"
/// Trait source for something added BY a xeno ability
#define TRAIT_XENO_ABILITY_GIVEN "xeno_ability_given"
/// Determines if something can receive healing from a xeno
#define TRAIT_XENO_HEAL_AURA "trait_xeno_heal_aura"

/// Trait that was granted by a reagent.
#define TRAIT_REAGENT "reagent"

/// trait that lets you do flips with a style meter
#define TRAIT_STYLISH "stylish"

/// trait that lets you do xenoarch magnification
#define TRAIT_XENOARCH_QUALIFIED "trait_xenoarch_qualified"

/// Traits granted by glassblowing
#define TRAIT_GLASSBLOWING "glassblowing"

/// Trait that is applied whenever someone or something is glassblowing
#define TRAIT_CURRENTLY_GLASSBLOWING "currently_glassblowing"

/// Trait that was granted by a NIFSoft
#define TRAIT_NIFSOFT "nifsoft"

/// Trait given to a piece of eyewear that allows the user to use NIFSoft HUDs
#define TRAIT_NIFSOFT_HUD_GRANTER "nifsoft_hud_granter"

/// Trait given to a brain that is able to accept souls from a RSD
#define TRAIT_RSD_COMPATIBLE "rsd_compatible"

// Defines for some extra inherent traits
#define TRAIT_REVIVES_BY_HEALING "trait_revives_by_healing"
#define TRAIT_ROBOTIC_DNA_ORGANS "trait_robotic_dna_organs"

//Defines for model features, set in the model_features list of a robot model datum. Are they a dogborg? Is the model small? etc.
/// Cyborgs with unique sprites for when they get totally broken down.
#define TRAIT_R_UNIQUEWRECK "unique_wreck"
/// Or when tipped over.
#define TRAIT_R_UNIQUETIP "unique_tip"
/// 64x32 skins
#define TRAIT_R_WIDE "wide_borg"
/// 32x64 skins
#define TRAIT_R_TALL "tall_borg"
/// Any model small enough to reject the shrinker upgrade.
#define TRAIT_R_SMALL "small_chassis"
/// Any model that has a custom front panel
#define TRAIT_R_UNIQUEPANEL "unique_openpanel"

// Lewd traits
#define TRAIT_MASOCHISM "masochism"
#define TRAIT_SADISM "sadism"
#define TRAIT_NEVERBONER "neverboner"
#define TRAIT_BIMBO "bimbo"
#define TRAIT_RIGGER "rigger"
#define TRAIT_ROPEBUNNY "rope bunny"
///traits gained by brain traumas, can be removed if the brain trauma is gone
#define TRAIT_APHRO "aphro"
///traits gained by quirks, cannot be removed unless the quirk itself is gone
#define TRAIT_LEWDQUIRK "lewdquirks"
///traits gained by chemicals, you get the idea
#define TRAIT_LEWDCHEM "lewdchem"

#define TRAIT_STRAPON "strapon"

#define TRAIT_CONDOM_BROKEN "broken"

// END TRAIT DEFINES
Loading

0 comments on commit da12a98

Please sign in to comment.