This commit is contained in:
Zandario
2020-09-29 15:14:27 -05:00
parent 1729c39af3
commit 515c842976
30 changed files with 354 additions and 254 deletions
+49 -3
View File
@@ -49,8 +49,13 @@
//Basically syntax is species_restricted = list("Species Name","Species Name")
//Add a "exclude" string to do the opposite, making it only only species listed that can't wear it.
//You append this to clothing objects
/*
Sprites used when the clothing item is refit. This is done by setting icon_override.
For best results, if this is set then sprite_sheets should be null and vice versa, but that is by no means necessary.
Ideally, sprite_sheets_refit should be used for "hard" clothing items that can't change shape very well to fit the wearer (e.g. helmets, hardsuits),
while sprite_sheets should be used for "flexible" clothing items that do not need to be refitted (e.g. aliens wearing jumpsuits).
*/
var/list/sprite_sheets_refit = null
// How much clothing damage has been dealt to each of the limbs of the clothing, assuming it covers more than one limb
var/list/damage_by_parts
@@ -477,10 +482,51 @@ BLIND // can't see anything
return TRUE
/// If we're a clothing with at least 1 shredded/disabled zone, give the wearer a periodic heads up letting them know their clothes are damaged
/obj/item/clothing/proc/bristle(mob/living/L)
if(!istype(L))
return
if(prob(0.2))
to_chat(L, "<span class='warning'>The damaged threads on your [src.name] chafe!</span>")
/obj/item/clothing/proc/refit_for_species(var/target_species)
if(!species_restricted)
return // This item doesn't use the species_restricted system
// Set species_restricted list
switch(target_species)
if(SPECIES_HUMAN, SPECIES_SKRELL) // Humanoid bodytypes
species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_PROMETHEAN) // humans and most species can wear each other's suits
else
species_restricted = list(target_species)
// Set icon
if (sprite_sheets_refit && (target_species in sprite_sheets_refit))
sprite_sheets[target_species] = sprite_sheets_refit[target_species]
if (sprite_sheets_obj && (target_species in sprite_sheets_obj))
icon = sprite_sheets_obj[target_species]
else
icon = initial(icon)
/obj/item/clothing/head/helmet/refit_for_species(var/target_species)
if(!species_restricted)
return // This item doesn't use the species_restricted system
// Set species_restricted list
switch(target_species)
if(SPECIES_SKRELL)
species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_PROMETHEAN) //skrell helmets fit humans too
else
species_restricted = list(target_species)
// Set icon
if (sprite_sheets_refit && (target_species in sprite_sheets_refit))
sprite_sheets[target_species] = sprite_sheets_refit[target_species]
if (sprite_sheets_obj && (target_species in sprite_sheets_obj))
icon = sprite_sheets_obj[target_species]
else
icon = initial(icon)
@@ -1,5 +1,5 @@
/datum/species/abductor
name = "Abductor"
name = SPECIES_ABDUCTORS
id = "abductor"
say_mod = "gibbers"
sexes = FALSE
@@ -1,5 +1,5 @@
/datum/species/android
name = "Android"
name = SPECIES_ANDROID
id = "android"
say_mod = "states"
species_traits = list(NOBLOOD,NOGENITALS,NOAROUSAL)
@@ -1,5 +1,5 @@
/datum/species/angel
name = "Angel"
name = SPECIES_ANGEL
id = "angel"
default_color = "FFFFFF"
species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,HAS_FLESH,HAS_BONE)
@@ -141,4 +141,4 @@
H.setMovetype(H.movement_type & ~FLYING)
override_float = FALSE
H.pass_flags &= ~PASSTABLE
H.CloseWings()
H.CloseWings()
@@ -1,5 +1,5 @@
/datum/species/mammal
name = "Anthromorph"
name = SPECIES_ANTHROMORPH
id = "mammal"
default_color = "4B4B4B"
species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAIR,HORNCOLOR,WINGCOLOR,HAS_FLESH,HAS_BONE)
@@ -17,4 +17,4 @@
wagging_type = "mam_waggingtail"
species_type = "furry"
allowed_limb_ids = list("mammal","aquatic","avian")
allowed_limb_ids = list("mammal","aquatic","avian")
@@ -1,5 +1,5 @@
/datum/species/insect
name = "Anthromorphic Insect"
name = SPECIES_BUGMAN
id = "insect"
say_mod = "chitters"
default_color = "00FF00"
@@ -18,4 +18,4 @@
inherent_traits = list(TRAIT_RADIMMUNE,TRAIT_VIRUSIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOLIMBDISABLE,TRAIT_NOHUNGER)
sexes = 0
gib_types = /obj/effect/gibspawner/robot
species_type = "robotic"
species_type = "robotic"
@@ -1,5 +1,5 @@
/datum/species/dullahan
name = "Dullahan"
name = SPECIES_DULLAHAN
id = "dullahan"
default_color = "FFFFFF"
species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,HAS_FLESH,HAS_BONE)
@@ -3,7 +3,7 @@ GLOBAL_LIST_INIT(dwarf_first, world.file2list("strings/names/dwarf_first.txt"))
GLOBAL_LIST_INIT(dwarf_last, world.file2list("strings/names/dwarf_last.txt")) //textfiles with last
/datum/species/dwarf //not to be confused with the genetic manlets
name = "Dwarf"
name = SPECIES_DWARF
id = "dwarf" //Also called Homo sapiens pumilionis
default_color = "FFFFFF"
species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,HAS_FLESH,HAS_BONE)
@@ -1,7 +1,7 @@
#define ETHEREAL_COLORS list("#00ffff", "#ffc0cb", "#9400D3", "#4B0082", "#0000FF", "#00FF00", "#FFFF00", "#FF7F00", "#FF0000")
/datum/species/ethereal
name = "Ethereal"
name = SPECIES_ETHEREAL
id = "ethereal"
attack_verb = "burn"
attack_sound = 'sound/weapons/etherealhit.ogg'
@@ -1,6 +1,6 @@
//Subtype of human
/datum/species/human/felinid
name = "Felinid"
name = SPECIES_FELINID
id = "felinid"
limbs_id = "human"
@@ -1,5 +1,5 @@
/datum/species/fly
name = "Anthromorphic Fly"
name = SPECIES_FLYPEOPLE
id = "fly"
say_mod = "buzzes"
species_traits = list(NOEYES,HAS_FLESH,HAS_BONE)
@@ -1,6 +1,6 @@
/datum/species/golem
// Animated beings of stone. They have increased defenses, and do not need to breathe. They're also slow as fuuuck.
name = "Golem"
name = SPECIES_GOLEM
id = "iron golem"
species_traits = list(NOBLOOD,MUTCOLORS,NO_UNDERWEAR,NOGENITALS,NOAROUSAL)
inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOFIRE,TRAIT_CHUNKYFINGERS,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER)
@@ -1,5 +1,5 @@
/datum/species/human
name = "Human"
name = SPECIES_HUMAN
id = "human"
default_color = "FFFFFF"
@@ -1,5 +1,5 @@
/datum/species/ipc
name = "I.P.C."
name = SPECIES_IPC
id = "ipc"
say_mod = "beeps"
default_color = "00FF00"
@@ -421,7 +421,7 @@
////////////////////////////////////////////////////////Round Start Slimes///////////////////////////////////////////////////////////////////
/datum/species/jelly/roundstartslime
name = "Xenobiological Slime Hybrid"
name = SPECIES_JELLYHYBRID
id = "slimeperson"
limbs_id = "slime"
default_color = "00FFFF"
@@ -1,6 +1,6 @@
/datum/species/lizard
// Reptilian humanoids with scaled skin and tails.
name = "Anthromorphic Lizard"
name = SPECIES_LIZARD
id = "lizard"
say_mod = "hisses"
default_color = "00FF00"
@@ -1,5 +1,5 @@
/datum/species/mush //mush mush codecuck
name = "Anthromorphic Mushroom"
name = SPECIES_ANTHRO_MUSH
id = "mush"
mutant_bodyparts = list("caps" = "Round")
@@ -1,5 +1,5 @@
/datum/species/plasmaman
name = "Plasmaman"
name = SPECIES_PLASMAMAN
id = "plasmaman"
say_mod = "rattles"
sexes = 0
@@ -1,6 +1,6 @@
/datum/species/pod
// A mutation caused by a human being ressurected in a revival pod. These regain health in light, and begin to wither in darkness.
name = "Anthromorphic Plant"
name = SPECIES_POD
id = "pod"
default_color = "59CE00"
species_traits = list(MUTCOLORS,EYECOLOR,CAN_SCAR,HAS_FLESH,HAS_BONE)
@@ -1,5 +1,5 @@
/datum/species/skeleton
name = "Skeleton"
name = SPECIES_SKELETON
id = "skeleton"
say_mod = "rattles"
blacklisted = 0
@@ -1,5 +1,5 @@
/datum/species/synthliz
name = "Synthetic Lizardperson"
name = SPECIES_SYNTH_LIZARD
id = "synthliz"
say_mod = "beeps"
default_color = "00FF00"
@@ -1,5 +1,5 @@
/datum/species/synth
name = "Synthetic" //inherited from the real species, for health scanners and things
name = SPECIES_SYNTH //inherited from the real species, for health scanners and things
id = "synth"
say_mod = "beep boops" //inherited from a user's real species
sexes = 0
@@ -1,5 +1,5 @@
/datum/species/vampire
name = "Vampire"
name = SPECIES_VAMPIRE
id = "vampire"
default_color = "FFFFFF"
species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,DRINKSBLOOD,HAS_FLESH,HAS_BONE)
@@ -1,6 +1,6 @@
/datum/species/xeno
// A cloning mistake, crossing human and xenomorph DNA
name = "Xenomorph Hybrid"
name = SPECIES_XENOHYBRID
id = "xeno"
say_mod = "hisses"
default_color = "00FF00"
@@ -98,7 +98,7 @@
// Your skin falls off
/datum/species/krokodil_addict
name = "Human"
name = SPECIES_HUMAN
id = "goofzombies"
limbs_id = "zombie" //They look like zombies
sexes = 0