mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-24 21:57:53 +01:00
Merge pull request #4797 from CHOMPStation2/upstream-merge-13598
[MIRROR] Adds megamoth wings, ability for wings to exist on different layer, ability for large wings to exist
This commit is contained in:
@@ -386,6 +386,6 @@ var/list/_simple_mob_default_emotes = list(
|
||||
|
||||
var/new_flapping = isnull(setting) ? !flapping : setting
|
||||
if(new_flapping != flapping)
|
||||
flapping = setting
|
||||
flapping = new_flapping
|
||||
update_wing_showing()
|
||||
return 1
|
||||
|
||||
@@ -67,37 +67,38 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
#define SURGERY_LAYER 5 //Overlays for open surgical sites
|
||||
#define UNDERWEAR_LAYER 6 //Underwear/bras/etc
|
||||
#define TAIL_LOWER_LAYER 7 //Tail as viewed from the south
|
||||
#define SHOES_LAYER_ALT 8 //Shoe-slot item (when set to be under uniform via verb)
|
||||
#define UNIFORM_LAYER 9 //Uniform-slot item
|
||||
#define ID_LAYER 10 //ID-slot item
|
||||
#define SHOES_LAYER 11 //Shoe-slot item
|
||||
#define GLOVES_LAYER 12 //Glove-slot item
|
||||
#define BELT_LAYER 13 //Belt-slot item
|
||||
#define SUIT_LAYER 14 //Suit-slot item
|
||||
#define TAIL_UPPER_LAYER 15 //Some species have tails to render (As viewed from the N, E, or W)
|
||||
#define GLASSES_LAYER 16 //Eye-slot item
|
||||
#define BELT_LAYER_ALT 17 //Belt-slot item (when set to be above suit via verb)
|
||||
#define SUIT_STORE_LAYER 18 //Suit storage-slot item
|
||||
#define BACK_LAYER 19 //Back-slot item
|
||||
#define HAIR_LAYER 20 //The human's hair
|
||||
#define HAIR_ACCESSORY_LAYER 21 //VOREStation edit. Simply move this up a number if things are added.
|
||||
#define EARS_LAYER 22 //Both ear-slot items (combined image)
|
||||
#define EYES_LAYER 23 //Mob's eyes (used for glowing eyes)
|
||||
#define FACEMASK_LAYER 24 //Mask-slot item
|
||||
#define HEAD_LAYER 25 //Head-slot item
|
||||
#define HANDCUFF_LAYER 26 //Handcuffs, if the human is handcuffed, in a secret inv slot
|
||||
#define LEGCUFF_LAYER 27 //Same as handcuffs, for legcuffs
|
||||
#define L_HAND_LAYER 28 //Left-hand item
|
||||
#define R_HAND_LAYER 29 //Right-hand item
|
||||
#define WING_LAYER 30 //Wings or protrusions over the suit.
|
||||
#define VORE_BELLY_LAYER 31 //CHOMPStation edit - Move this and everything after up if things are added.
|
||||
#define VORE_TAIL_LAYER 32 //CHOMPStation edit - Move this and everything after up if things are added.
|
||||
#define TAIL_UPPER_LAYER_ALT 33 //Modified tail-sprite layer. Tend to be larger.
|
||||
#define MODIFIER_EFFECTS_LAYER 34 //Effects drawn by modifiers
|
||||
#define FIRE_LAYER 35 //'Mob on fire' overlay layer
|
||||
#define MOB_WATER_LAYER 36 //'Mob submerged' overlay layer
|
||||
#define TARGETED_LAYER 37 //'Aimed at' overlay layer
|
||||
#define TOTAL_LAYERS 37 //CHOMPStation edit. <---- KEEP THIS UPDATED, should always equal the highest number here, used to initialize a list.
|
||||
#define WING_LOWER_LAYER 8 //Wings as viewed from the south
|
||||
#define SHOES_LAYER_ALT 9 //Shoe-slot item (when set to be under uniform via verb)
|
||||
#define UNIFORM_LAYER 10 //Uniform-slot item
|
||||
#define ID_LAYER 11 //ID-slot item
|
||||
#define SHOES_LAYER 12 //Shoe-slot item
|
||||
#define GLOVES_LAYER 13 //Glove-slot item
|
||||
#define BELT_LAYER 14 //Belt-slot item
|
||||
#define SUIT_LAYER 15 //Suit-slot item
|
||||
#define TAIL_UPPER_LAYER 16 //Some species have tails to render (As viewed from the N, E, or W)
|
||||
#define GLASSES_LAYER 17 //Eye-slot item
|
||||
#define BELT_LAYER_ALT 18 //Belt-slot item (when set to be above suit via verb)
|
||||
#define SUIT_STORE_LAYER 19 //Suit storage-slot item
|
||||
#define BACK_LAYER 20 //Back-slot item
|
||||
#define HAIR_LAYER 21 //The human's hair
|
||||
#define HAIR_ACCESSORY_LAYER 22 //VOREStation edit. Simply move this up a number if things are added.
|
||||
#define EARS_LAYER 23 //Both ear-slot items (combined image)
|
||||
#define EYES_LAYER 24 //Mob's eyes (used for glowing eyes)
|
||||
#define FACEMASK_LAYER 25 //Mask-slot item
|
||||
#define HEAD_LAYER 26 //Head-slot item
|
||||
#define HANDCUFF_LAYER 27 //Handcuffs, if the human is handcuffed, in a secret inv slot
|
||||
#define LEGCUFF_LAYER 28 //Same as handcuffs, for legcuffs
|
||||
#define L_HAND_LAYER 29 //Left-hand item
|
||||
#define R_HAND_LAYER 30 //Right-hand item
|
||||
#define WING_LAYER 31 //Wings or protrusions over the suit.
|
||||
#define VORE_BELLY_LAYER 32 //CHOMPStation edit - Move this and everything after up if things are added.
|
||||
#define VORE_TAIL_LAYER 33 //CHOMPStation edit - Move this and everything after up if things are added.
|
||||
#define TAIL_UPPER_LAYER_ALT 34 //Modified tail-sprite layer. Tend to be larger.
|
||||
#define MODIFIER_EFFECTS_LAYER 35 //Effects drawn by modifiers
|
||||
#define FIRE_LAYER 36 //'Mob on fire' overlay layer
|
||||
#define MOB_WATER_LAYER 37 //'Mob submerged' overlay layer
|
||||
#define TARGETED_LAYER 38 //'Aimed at' overlay layer
|
||||
#define TOTAL_LAYERS 38 //CHOMPStation edit. <---- KEEP THIS UPDATED, should always equal the highest number here, used to initialize a list.
|
||||
//////////////////////////////////
|
||||
|
||||
/mob/living/carbon/human
|
||||
@@ -1109,13 +1110,20 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
return
|
||||
|
||||
remove_layer(WING_LAYER)
|
||||
remove_layer(WING_LOWER_LAYER)
|
||||
|
||||
var/image/wing_image = get_wing_image()
|
||||
var/image/wing_image = get_wing_image(FALSE)
|
||||
if(wing_image)
|
||||
wing_image.layer = BODY_LAYER+WING_LAYER
|
||||
overlays_standing[WING_LAYER] = wing_image
|
||||
if(wing_style && wing_style.multi_dir)
|
||||
wing_image = get_wing_image(TRUE)
|
||||
if(wing_image)
|
||||
wing_image.layer = BODY_LAYER+WING_LOWER_LAYER
|
||||
overlays_standing[WING_LOWER_LAYER] = wing_image
|
||||
|
||||
apply_layer(WING_LAYER)
|
||||
apply_layer(WING_LOWER_LAYER)
|
||||
|
||||
/mob/living/carbon/human/update_modifier_visuals()
|
||||
if(QDESTROYING(src))
|
||||
@@ -1182,7 +1190,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
overlays_standing[SURGERY_LAYER] = total
|
||||
apply_layer(SURGERY_LAYER)
|
||||
|
||||
/mob/living/carbon/human/proc/get_wing_image()
|
||||
/mob/living/carbon/human/proc/get_wing_image(var/under_layer)
|
||||
if(QDESTROYING(src))
|
||||
return
|
||||
|
||||
@@ -1196,7 +1204,10 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
|
||||
//If you have custom wings selected
|
||||
if(wing_style && !(wear_suit && wear_suit.flags_inv & HIDETAIL) && !wings_hidden) //VOREStation Edit
|
||||
var/icon/wing_s = new/icon("icon" = wing_style.icon, "icon_state" = flapping && wing_style.ani_state ? wing_style.ani_state : wing_style.icon_state)
|
||||
var/wing_state = (flapping && wing_style.ani_state) ? wing_style.ani_state : wing_style.icon_state
|
||||
if(wing_style.multi_dir)
|
||||
wing_state += "_[under_layer ? "back" : "front"]"
|
||||
var/icon/wing_s = new/icon("icon" = wing_style.icon, "icon_state" = wing_state)
|
||||
if(wing_style.do_colouration)
|
||||
wing_s.Blend(rgb(src.r_wing, src.g_wing, src.b_wing), wing_style.color_blend_mode)
|
||||
if(wing_style.extra_overlay)
|
||||
@@ -1218,6 +1229,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
var/image/working = image(wing_s)
|
||||
if(wing_style.em_block)
|
||||
working.overlays += em_block_image_generic(working) // Leaving this as overlays +=
|
||||
working.pixel_x -= wing_style.wing_offset
|
||||
return working
|
||||
|
||||
/mob/living/carbon/human/proc/get_ears_overlay()
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
// beeg wing
|
||||
|
||||
|
||||
/datum/sprite_accessory/wing/large
|
||||
name = "You should not see this..."
|
||||
icon = 'icons/mob/vore/wings96_vr.dmi'
|
||||
wing_offset = 32
|
||||
|
||||
|
||||
/datum/sprite_accessory/wing/large/megamoth
|
||||
name = "megamoth wings"
|
||||
icon_state = "megamoth"
|
||||
ani_state = "megamoth_open"
|
||||
multi_dir = TRUE
|
||||
@@ -11,6 +11,8 @@
|
||||
do_colouration = 0 //Set to 1 to enable coloration using the tail color.
|
||||
species_allowed = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_FENNEC, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_XENOCHIMERA, SPECIES_XENOHYBRID, SPECIES_VASILISSAN, SPECIES_RAPALA, SPECIES_PROTEAN, SPECIES_ALRAUNE, SPECIES_WEREBEAST, SPECIES_SHADEKIN, SPECIES_SHADEKIN_CREW, SPECIES_ALTEVIAN) //This lets all races use
|
||||
color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1
|
||||
var/wing_offset = 0
|
||||
var/multi_dir = FALSE // Does it use different sprites at different layers? _front will be added for sprites on low layer, _back to high layer
|
||||
|
||||
/datum/sprite_accessory/wing/shock //Unable to split the tail from the wings in the sprite, so let's just classify it as wings.
|
||||
name = "pharoah hound tail (Shock Diamond)"
|
||||
|
||||
Reference in New Issue
Block a user