Skip to content

Commit

Permalink
Merge branch 'Bubberstation:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
MosleyTheMalO authored Jul 1, 2024
2 parents 62e5f64 + 64c8d3b commit fc0de9c
Show file tree
Hide file tree
Showing 18 changed files with 235 additions and 19 deletions.
2 changes: 2 additions & 0 deletions code/__DEFINES/inventory.dm
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,8 @@
#define HIDESPINE (1<<16)
/// Does this sprite hide devious devices?
#define HIDESEXTOY (1<<17)
/// If this has our taur variant, do we hide our taur part?
#define HIDETAUR (1<<18)
//SKYRAT EDIT ADDITION END

//bitflags for clothing coverage - also used for limbs
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/~skyrat_defines/limbs.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/// This is a limb to be used on taurs.
#define BODYTYPE_TAUR (1<<10) // high, to avoid flag conflict with tg
2 changes: 1 addition & 1 deletion code/modules/clothing/spacesuits/_spacesuits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
)
slowdown = 1
armor_type = /datum/armor/suit_space
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDESEXTOY|HIDETAIL //SKYRAT EDIT CHANGE - ADDED HIDETAIL. ADDED HIDESEXTOY TO PREVENT VISUAL BUGS.
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDESEXTOY|HIDETAIL|HIDETAUR //SKYRAT EDIT CHANGE - ADDED HIDETAIL, HIDETAUR. ADDED HIDESEXTOY TO PREVENT VISUAL BUGS.
cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS
min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT_OFF
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
Expand Down
6 changes: 3 additions & 3 deletions code/modules/clothing/suits/utility.dm
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
)
slowdown = 1
armor_type = /datum/armor/utility_fire
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL // SKYRAT EDIT ADDITION - HIDETAIL
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL|HIDETAUR // SKYRAT EDIT ADDITION - HIDETAIL, HIDETAUR
clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
Expand Down Expand Up @@ -77,7 +77,7 @@
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS
cold_protection = CHEST|GROIN|LEGS|FEET|ARMS
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS
flags_inv = HIDESHOES|HIDEJUMPSUIT
flags_inv = HIDESHOES|HIDEJUMPSUIT|HIDETAUR|HIDETAIL // NOVA EDIT ADDITION - HIDETAUR, HIDETAIL

/*
* Bomb protection
Expand Down Expand Up @@ -123,7 +123,7 @@
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
slowdown = 2
armor_type = /datum/armor/utility_bomb_suit
flags_inv = HIDEJUMPSUIT|HIDETAIL // SKYRAT EDIT ADDITION - HIDETAIL
flags_inv = HIDEJUMPSUIT|HIDETAIL|HIDETAUR // SKYRAT EDIT ADDITION - HIDETAIL, HIDETAUR
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT
cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
Expand Down
23 changes: 20 additions & 3 deletions code/modules/mob/living/carbon/human/human_update_icons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -870,6 +870,20 @@ mutant_styles: The mutant style - taur bodytype, STYLE_TESHARI, etc. // SKYRAT E
mutant_styles = NONE, // SKYRAT EDIT ADD - Further outfit modification for outfits (added `mutant_styles` argument)
)

// SKYRAT EDIT ADDITION START - Taur-friendly uniforms and suits
var/using_taur_variant = FALSE
if (isnull(override_file))
if (mutant_styles & STYLE_TAUR_ALL)
if ((mutant_styles & STYLE_TAUR_SNAKE) && worn_icon_taur_snake)
override_file = worn_icon_taur_snake
using_taur_variant = TRUE
else if ((mutant_styles & STYLE_TAUR_PAW) && worn_icon_taur_paw)
override_file = worn_icon_taur_paw
using_taur_variant = TRUE
else if ((mutant_styles & STYLE_TAUR_HOOF) && worn_icon_taur_hoof)
override_file = worn_icon_taur_hoof
using_taur_variant = TRUE
// SKYRAT EDIT END
//Find a valid icon_state from variables+arguments
var/t_state = override_state || (isinhands ? inhand_icon_state : worn_icon_state) || icon_state
//Find a valid icon file from variables+arguments
Expand All @@ -883,9 +897,12 @@ mutant_styles: The mutant style - taur bodytype, STYLE_TESHARI, etc. // SKYRAT E
if(!standing)
standing = mutable_appearance(file2use, t_state, -layer2use)
// SKYRAT EDIT ADDITION START - Taur-friendly uniforms and suits
if(mutant_styles & STYLE_TAUR_ALL)
standing = wear_taur_version(standing.icon_state, standing.icon, layer2use, female_uniform, greyscale_colors)
// SKYRAT EDIT END
if (mutant_styles & STYLE_TAUR_ALL)
if (!using_taur_variant)
standing = wear_taur_version(standing.icon_state, standing.icon, layer2use, female_uniform, greyscale_colors)
else
standing.pixel_x -= 16 // it doesnt look right otherwise
// SKYRAT EDIT ADDITION END

//Get the overlays for this item when it's being worn
//eg: ammo counters, primed grenade flashes, etc.
Expand Down
2 changes: 1 addition & 1 deletion code/modules/surgery/bodyparts/_bodyparts.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1105,7 +1105,7 @@
if(is_husked)
override_color = "#888888"
// We need to check that the owner exists(could be a placed bodypart) and that it's not a chainsawhand and that they're a human with usable DNA.
if(!(bodypart_flags & BODYPART_PSEUDOPART))
if(!(bodypart_flags & BODYPART_PSEUDOPART) && (!(bodyshape & BODYSHAPE_TAUR))) // taur legs never ever render
for(var/key in markings) // Cycle through all of our currently selected markings.
var/datum/body_marking/body_marking = GLOB.body_markings[key]
if (!body_marking) // Edge case prevention.
Expand Down
4 changes: 4 additions & 0 deletions html/changelogs/AutoChangeLog-pr-28255.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
author: "Erol509"
delete-after: True
changes:
- rscadd: "Added synth version of Big Legs taur sprite."
9 changes: 9 additions & 0 deletions html/changelogs/AutoChangeLog-pr-28444.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
author: "nikothedude"
delete-after: True
changes:
- rscadd: "Taurs now have custom leg names"
- bugfix: "Synth taur legs now have all attributes of a organic taur leg except the fact theyre robotic"
- bugfix: "Markings no longer render on taur legs"
- bugfix: "Clothing with taur-specific clothing sprites now render those sprites properly"
- code_imp: "Various improvements to taur leg code"
- code_imp: "Taur bodies are properly subtyped"
4 changes: 4 additions & 0 deletions html/changelogs/AutoChangeLog-pr-28491.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
author: "nikothedude"
delete-after: True
changes:
- rscadd: "Reimplemented taur sprites for a bunch of clothing items"
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
/obj/item/clothing/suit/space/eva
worn_icon_taur_snake = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_snake.dmi'
worn_icon_taur_paw = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_paw.dmi'

/obj/item/clothing/suit/space/eva/plasmaman
worn_icon_taur_snake = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_snake.dmi'
worn_icon_taur_paw = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_paw.dmi'

/obj/item/clothing/suit/space/syndicate/contract
worn_icon_taur_snake = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_snake.dmi'
worn_icon_taur_paw = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_paw.dmi'

/obj/item/clothing/suit/clockwork
worn_icon_taur_snake = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_snake.dmi'
flags_inv = HIDETAUR

/obj/item/clothing/suit/chaplainsuit/armor/clock
worn_icon_taur_snake = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_snake.dmi'
flags_inv = HIDETAUR

/obj/item/clothing/suit/clockwork/speed
worn_icon_taur_snake = null

/obj/item/clothing/suit/clockwork/cloak
worn_icon_taur_snake = null

/obj/item/clothing/suit/hooded/explorer
worn_icon_taur_snake = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_snake.dmi'
worn_icon_taur_paw = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_paw.dmi' // very good sprite, but slightly outdated
flags_inv = HIDETAUR

/obj/item/clothing/suit/hooded/explorer/syndicate
worn_icon_taur_snake = null
worn_icon_taur_paw = null

/obj/item/clothing/suit/hooded/berserker
worn_icon_taur_snake = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_snake.dmi'
worn_icon_taur_paw = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_paw.dmi'
flags_inv = HIDETAUR

/obj/item/clothing/suit/utility/bomb_suit // strangely, this isnt based off the carbon sprite, but is way better
worn_icon_taur_snake = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_snake.dmi'
worn_icon_taur_paw = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_paw.dmi'
worn_icon_taur_hoof = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_hoof.dmi'

/obj/item/clothing/suit/utility/bomb_suit/white
worn_icon_taur_hoof = null

/obj/item/clothing/suit/utility/bomb_suit/security
worn_icon_taur_hoof = null

/obj/item/clothing/suit/utility/fire/firefighter // outdated but similar sprites, still pretty good
worn_icon_taur_snake = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_snake.dmi'
worn_icon_taur_paw = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_paw.dmi'

/obj/item/clothing/suit/utility/fire/atmos
worn_icon_taur_snake = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_snake.dmi'
worn_icon_taur_paw = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_paw.dmi'

/obj/item/clothing/suit/apron
worn_icon_taur_paw = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_paw.dmi'
worn_icon_taur_hoof = 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_hoof.dmi'

/obj/item/clothing/suit/apron/surgical
worn_icon_taur_paw = null

/obj/item/clothing/suit/apron/chef
worn_icon_taur_paw = null

/obj/item/clothing/suit/apron/overalls
worn_icon_taur_paw = null
worn_icon_taur_hoof = null

/obj/item/clothing/suit/apron/waders
worn_icon_taur_paw = null
worn_icon_taur_hoof = null
Binary file modified modular_skyrat/master_files/icons/mob/clothing/suit_taur_hoof.dmi
Binary file not shown.
Binary file modified modular_skyrat/master_files/icons/mob/clothing/suit_taur_paw.dmi
Binary file not shown.
21 changes: 18 additions & 3 deletions modular_skyrat/modules/bodyparts/code/taur_bodyparts.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,45 @@
can_be_surgically_removed = FALSE
bodyshape = parent_type::bodyshape | BODYSHAPE_TAUR


/obj/item/bodypart/leg/right/taur/generate_icon_key()
RETURN_TYPE(/list)
// We don't want more than one icon for all of the taur legs, because they're going to be invisible.
return list("taur")


/obj/item/bodypart/leg/left/taur
icon_greyscale = BODYPART_ICON_TAUR
limb_id = LIMBS_TAUR
bodypart_flags = BODYPART_UNREMOVABLE
can_be_surgically_removed = FALSE
bodyshape = parent_type::bodyshape | BODYSHAPE_TAUR


/obj/item/bodypart/leg/left/taur/generate_icon_key()
RETURN_TYPE(/list)
// We don't want more than one icon for all of the taur legs, because they're going to be invisible.
return list("taur")

/obj/item/bodypart/leg/right/robot/synth/taur
icon_greyscale = BODYPART_ICON_TAUR
limb_id = LIMBS_TAUR
bodypart_flags = parent_type::bodypart_flags | BODYPART_UNREMOVABLE
can_be_surgically_removed = FALSE
bodyshape = parent_type::bodyshape | BODYSHAPE_TAUR
damage_examines = list(BRUTE = ROBOTIC_BRUTE_EXAMINE_TEXT, BURN = ROBOTIC_BURN_EXAMINE_TEXT)

/obj/item/bodypart/leg/right/robot/synth/taur/generate_icon_key()
RETURN_TYPE(/list)
// We don't want more than one icon for all of the taur legs, because they're going to be invisible.
return list("taur")

/obj/item/bodypart/leg/left/robot/synth/taur
icon_greyscale = BODYPART_ICON_TAUR
limb_id = LIMBS_TAUR
bodypart_flags = parent_type::bodypart_flags | BODYPART_UNREMOVABLE
can_be_surgically_removed = FALSE
bodyshape = parent_type::bodyshape | BODYSHAPE_TAUR
damage_examines = list(BRUTE = ROBOTIC_BRUTE_EXAMINE_TEXT, BURN = ROBOTIC_BURN_EXAMINE_TEXT)

/obj/item/bodypart/leg/left/robot/synth/taur/generate_icon_key()
RETURN_TYPE(/list)
// We don't want more than one icon for all of the taur legs, because they're going to be invisible.
return list("taur")
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@
taur_mode = STYLE_TAUR_PAW
recommended_species = list()
genetic = FALSE
organ_type = /obj/item/organ/external/taur_body/synth
organ_type = /obj/item/organ/external/taur_body/horselike/synth

/datum/sprite_accessory/taur/synthliz/inv
name = "Cybernetic Lizard (Inverted)"
Expand Down Expand Up @@ -182,3 +182,22 @@
name = "Cybernetic Naga"
icon_state = "synthnaga"
taur_mode = STYLE_TAUR_SNAKE
organ_type = /obj/item/organ/external/taur_body/serpentine/synth

/datum/sprite_accessory/taur/synthliz/biglegs
name = "Synthetic Big Legs"
icon_state = "biglegs"
taur_mode = STYLE_TAUR_PAW
organ_type = /obj/item/organ/external/taur_body/anthro/synth

/datum/sprite_accessory/taur/synthliz/biglegs/stanced
name = "Synthetic Big Legs, Stanced"
icon_state = "biglegs_stanced"

/datum/sprite_accessory/taur/synthliz/biglegs/bird
name = "Synthetic Big Legs, Bird"
icon_state = "biglegs_bird"

/datum/sprite_accessory/taur/synthliz/biglegs/stanced/bird
name = "Synthetic Big Legs, Stanced Bird"
icon_state = "biglegs_bird_stanced"
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
center = TRUE
relevent_layers = list(BODY_FRONT_LAYER, BODY_ADJ_LAYER, BODY_FRONT_UNDER_CLOTHES, ABOVE_BODY_FRONT_HEAD_LAYER)
genetic = TRUE
organ_type = /obj/item/organ/external/taur_body
organ_type = /obj/item/organ/external/taur_body/horselike // horselike by default, dont forget to override if you make another bodytype
flags_for_organ = SPRITE_ACCESSORY_HIDE_SHOES
/// Must be a single specific tauric suit variation bitflag. Don't do FLAG_1|FLAG_2
var/taur_mode = NONE
Expand All @@ -33,14 +33,28 @@

/datum/sprite_accessory/taur/is_hidden(mob/living/carbon/human/target)
var/obj/item/clothing/suit/worn_suit = target.wear_suit
if(istype(worn_suit) && (worn_suit.flags_inv & HIDETAIL) && !worn_suit.gets_cropped_on_taurs)
return TRUE
if (istype(worn_suit))
if((worn_suit.flags_inv & HIDETAIL) && !worn_suit.gets_cropped_on_taurs)
return TRUE

if (worn_suit.flags_inv & HIDETAUR)
switch (taur_mode)
if (STYLE_TAUR_SNAKE)
if (worn_suit.worn_icon_taur_snake)
return TRUE
if (STYLE_TAUR_PAW)
if (worn_suit.worn_icon_taur_paw)
return TRUE
if (STYLE_TAUR_HOOF)
if (worn_suit.worn_icon_taur_hoof)
return TRUE

if(target.owned_turf)
var/list/used_in_turf = list("tail")
if(target.owned_turf.name in used_in_turf)
return TRUE
return FALSE

return FALSE

/datum/sprite_accessory/taur/none
name = "None"
Expand Down Expand Up @@ -80,10 +94,12 @@
/datum/sprite_accessory/taur/tarantula
name = "Tarantula"
icon_state = "tarantula"
organ_type = /obj/item/organ/external/taur_body/spider

/datum/sprite_accessory/taur/drider
name = "Drider"
icon_state = "drider"
organ_type = /obj/item/organ/external/taur_body/spider

/datum/sprite_accessory/taur/eevee
name = "Eevee"
Expand All @@ -100,6 +116,7 @@
name = "Naga"
icon_state = "naga"
taur_mode = STYLE_TAUR_SNAKE
organ_type = /obj/item/organ/external/taur_body/serpentine

/datum/sprite_accessory/taur/naga/striped
name = "Naga, Striped"
Expand All @@ -126,6 +143,7 @@
icon_state = "tentacle"
taur_mode = STYLE_TAUR_SNAKE
color_src = USE_ONE_COLOR
organ_type = /obj/item/organ/external/taur_body/tentacle

/datum/sprite_accessory/taur/tentacle/alt
name = "Tentacle, Alt"
Expand All @@ -148,17 +166,20 @@
icon_state = "goop"
taur_mode = STYLE_TAUR_SNAKE
color_src = USE_ONE_COLOR
organ_type = /obj/item/organ/external/taur_body/blob

/datum/sprite_accessory/taur/slime
name = "Slime"
icon_state = "slime"
taur_mode = STYLE_TAUR_SNAKE
color_src = USE_ONE_COLOR
organ_type = /obj/item/organ/external/taur_body/blob

/datum/sprite_accessory/taur/biglegs
name = "Big Legs"
icon_state = "biglegs"
taur_mode = STYLE_TAUR_PAW
organ_type = /obj/item/organ/external/taur_body/anthro

/datum/sprite_accessory/taur/biglegs/stanced
name = "Big Legs, Stanced"
Expand Down
Loading

0 comments on commit fc0de9c

Please sign in to comment.