coldblooded blacklist & blood types

standartizes blood types of ipc, synths and synth mammals (which used organic blood??) to S type blood, plis implements coldblooded blacklist (with trait point balancing after.
This commit is contained in:
DeltaFire
2022-01-01 18:52:02 +01:00
parent 0faac6dce6
commit c7667a2f50
5 changed files with 20 additions and 8 deletions
+1 -1
View File
@@ -79,7 +79,7 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list(
#define isangel(A) (is_species(A, /datum/species/angel))
#define ismush(A) (is_species(A, /datum/species/mush))
#define isshadow(A) (is_species(A, /datum/species/shadow))
#define isrobotic(A) (is_species(A, /datum/species/ipc) || is_species(A, /datum/species/synthliz))
#define isrobotic(A) (is_species(A, /datum/species/ipc) || is_species(A, /datum/species/synthliz) || is_species(A, /datum/species/mammal/synthetic))
#define isdwarf(A) (is_species(A, /datum/species/dwarf))
// Citadel specific species
@@ -147,6 +147,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
var/list/blacklisted_quirks = list() // Quirks that will be removed upon gaining this species, to be defined by species
var/list/removed_quirks = list() // Quirks that got removed due to being blacklisted, and will be restored when on_species_loss() is called
var/balance_point_values = FALSE //If true, will balance point values on species gain after removing blacklisted quirks. Use this for roundstart species with blacklisted quirks that people may attempt to use to powergame trait points.
///Punch-specific attack verb.
var/attack_verb = "punch"
@@ -575,11 +576,14 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
/datum/species/proc/remove_blacklisted_quirks(mob/living/carbon/C)
var/mob/living/L = C.mind?.current
if(istype(L))
for(var/q in L.roundstart_quirks)
var/datum/quirk/Q = q
if(Q.type in blacklisted_quirks)
qdel(Q)
removed_quirks += Q.type
if(!balance_point_values)
for(var/q in L.roundstart_quirks)
var/datum/quirk/Q = q
if(Q.type in blacklisted_quirks)
qdel(Q)
removed_quirks += Q.type
else
removed_quirks += SSquirks.filter_quirks(L.roundstart_quirks, blacklisted_quirks)
// restore any quirks that we removed
/datum/species/proc/restore_quirks(mob/living/carbon/C)
@@ -32,6 +32,8 @@
coldmod = 0.5
heatmod = 1.2
blacklisted_quirks = list(/datum/quirk/coldblooded)
balance_point_values = TRUE
//Just robo looking parts.
mutant_heart = /obj/item/organ/heart/ipc
@@ -51,5 +53,7 @@
attack_sound = 'sound/weapons/slash.ogg'
miss_sound = 'sound/weapons/slashmiss.ogg'
exotic_bloodtype = "S"
exotic_blood_color = BLOOD_COLOR_OIL
allowed_limb_ids = list("mammal","aquatic","avian", "human")
species_category = "robot"
species_category = SPECIES_CATEGORY_ROBOT
@@ -15,6 +15,8 @@
coldmod = 0.5
heatmod = 1.2
blacklisted_quirks = list(/datum/quirk/coldblooded)
balance_point_values = TRUE
//Just robo looking parts.
mutant_heart = /obj/item/organ/heart/ipc
@@ -29,7 +31,7 @@
//special cybernetic organ for getting power from apcs
mutant_organs = list(/obj/item/organ/cyberimp/arm/power_cord)
exotic_bloodtype = "HF"
exotic_bloodtype = "S"
exotic_blood_color = BLOOD_COLOR_OIL
species_category = SPECIES_CATEGORY_ROBOT
@@ -12,6 +12,8 @@
coldmod = 0.5
heatmod = 1.2
blacklisted_quirks = list(/datum/quirk/coldblooded)
balance_point_values = TRUE
//Just robo looking parts.
mutant_heart = /obj/item/organ/heart/ipc