mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-22 12:47:16 +01:00
Improved Trait Exclusion Logic
This commit is contained in:
@@ -2,6 +2,9 @@
|
||||
#define NEUTRAL_MODE 2
|
||||
#define NEGATIVE_MODE 3
|
||||
|
||||
#define ORGANICS 1
|
||||
#define SYNTHETICS 2
|
||||
|
||||
/datum/preferences
|
||||
var/custom_species // Custom species name, can't be changed due to it having been used in savefiles already.
|
||||
var/custom_base // What to base the custom species on
|
||||
@@ -15,6 +18,7 @@
|
||||
var/starting_trait_points = STARTING_SPECIES_POINTS
|
||||
var/max_traits = MAX_SPECIES_TRAITS
|
||||
var/dirty_synth = 0 //Are you a synth
|
||||
var/gross_meatbag = 0 //Where'd I leave my Voight-Kampff test kit?
|
||||
|
||||
// Definition of the stuff for Ears
|
||||
/datum/category_item/player_setup_item/vore/traits
|
||||
@@ -85,8 +89,16 @@
|
||||
|
||||
if(character.isSynthetic()) //Checking if we have a synth on our hands, boys.
|
||||
pref.dirty_synth = 1
|
||||
<<<<<<< HEAD
|
||||
else //CHOMPEdit
|
||||
pref.dirty_synth = 0 //CHOMPEdit
|
||||
||||||| parent of 8b0c23c122... Merge pull request #9659 from KillianKirilenko/kk-misc4
|
||||
=======
|
||||
pref.gross_meatbag = 0
|
||||
else
|
||||
pref.gross_meatbag = 1
|
||||
pref.dirty_synth = 0
|
||||
>>>>>>> 8b0c23c122... Merge pull request #9659 from KillianKirilenko/kk-misc4
|
||||
|
||||
var/datum/species/S = character.species
|
||||
var/SB
|
||||
@@ -276,11 +288,28 @@
|
||||
|
||||
var/conflict = FALSE
|
||||
|
||||
<<<<<<< HEAD
|
||||
user.isSynthetic() //Recheck just to be sure
|
||||
if(pref.dirty_synth && instance.not_for_synths)//if you are a synth you can't take this trait.
|
||||
alert("You cannot take this trait as a SYNTH.\
|
||||
Please remove that trait, or pick another trait to add.","Error")
|
||||
//pref.dirty_synth = 0 //Just to be sure // Commented out because it allow for someone to take a synth-blacklisted trait CHOMP Edit
|
||||
||||||| parent of 8b0c23c122... Merge pull request #9659 from KillianKirilenko/kk-misc4
|
||||
user.isSynthetic() //Recheck just to be sure
|
||||
if(pref.dirty_synth && instance.not_for_synths)//if you are a synth you can't take this trait.
|
||||
alert("You cannot take this trait as a SYNTH.\
|
||||
Please remove that trait, or pick another trait to add.","Error")
|
||||
pref.dirty_synth = 0 //Just to be sure
|
||||
=======
|
||||
if(pref.dirty_synth && !(instance.can_take & SYNTHETICS))
|
||||
alert("The trait you've selected can only be taken by organic characters!","Error")
|
||||
pref.dirty_synth = 0 //Just to be sure
|
||||
>>>>>>> 8b0c23c122... Merge pull request #9659 from KillianKirilenko/kk-misc4
|
||||
return TOPIC_REFRESH
|
||||
|
||||
if(pref.gross_meatbag && !(instance.can_take & ORGANICS))
|
||||
alert("The trait you've selected can only be taken by synthetic characters!","Error")
|
||||
pref.gross_meatbag = 0 //Just to be sure
|
||||
return TOPIC_REFRESH
|
||||
|
||||
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#define ORGANICS 1
|
||||
#define SYNTHETICS 2
|
||||
|
||||
/datum/trait/speed_slow
|
||||
name = "Slowdown"
|
||||
desc = "Allows you to move slower on average than baseline."
|
||||
@@ -142,10 +145,10 @@
|
||||
*/
|
||||
/datum/trait/haemophilia
|
||||
name = "Haemophilia - Organics only"
|
||||
desc = "When you bleed, you bleed a LOT. This trait is only for organics, buggy with synths!"
|
||||
desc = "When you bleed, you bleed a LOT."
|
||||
cost = -2
|
||||
var_changes = list("bloodloss_rate" = 2)
|
||||
not_for_synths = 1
|
||||
can_take = ORGANICS
|
||||
|
||||
/datum/trait/hollow
|
||||
name = "Hollow Bones/Aluminum Alloy"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#define ORGANICS 1
|
||||
#define SYNTHETICS 2
|
||||
|
||||
/datum/trait/metabolism_up
|
||||
name = "Fast Metabolism"
|
||||
desc = "You process ingested and injected reagents faster, but get hungry faster (Teshari speed)."
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#define ORGANICS 1
|
||||
#define SYNTHETICS 2
|
||||
|
||||
/datum/trait/speed_fast
|
||||
name = "Haste"
|
||||
desc = "Allows you to move faster on average than baseline."
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#define ORGANICS 1
|
||||
#define SYNTHETICS 2
|
||||
|
||||
/datum/trait
|
||||
var/name
|
||||
var/desc = "Contact a developer if you see this trait."
|
||||
@@ -5,7 +8,7 @@
|
||||
var/cost = 0 // 0 is neutral, negative cost means negative, positive cost means positive.
|
||||
var/list/var_changes // A list to apply to the custom species vars.
|
||||
var/list/excludes // Store a list of paths of traits to exclude, but done automatically if they change the same vars.
|
||||
var/not_for_synths = FALSE // Can freaking synths use those.
|
||||
var/can_take = ORGANICS|SYNTHETICS // Can freaking synths use those.
|
||||
var/custom_only = TRUE // Trait only available for custom species
|
||||
|
||||
//Proc can be overridden lower to include special changes, make sure to call up though for the vars changes
|
||||
|
||||
Reference in New Issue
Block a user