Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Year tundra moths #13639

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 13 additions & 11 deletions code/__DEFINES/human_layers.dm
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
//Human Overlays Indexes/////////
#define TOTAL_LAYERS 29
#define FIRE_LOWER_LAYER 29
#define BODY_LAYER 28
#define EXTERNAL_APPEARANCE 27
#define MUTATIONS_LAYER 26
#define DAMAGE_LAYER 25
#define SURGERY_LAYER 24 //bs12 specific.
#define BANDAGE_LAYER 23
#define UNIFORM_LAYER 22
#define ID_LAYER 21
#define SHOES_LAYER 20
#define TOTAL_LAYERS 31
#define WING_UNDERLIMBS_LAYER 31
#define FIRE_LOWER_LAYER 30
#define BODY_LAYER 29
#define EXTERNAL_APPEARANCE 28
#define MUTATIONS_LAYER 27
#define DAMAGE_LAYER 26
#define SURGERY_LAYER 25 //bs12 specific.
#define BANDAGE_LAYER 24
#define UNIFORM_LAYER 23
#define ID_LAYER 22
#define SHOES_LAYER 21
#define WING_LAYER 20
#define TAIL_LAYER 19 //bs12 specific. this hack is probably gonna come back to haunt me
#define GLOVES_LAYER 18
#define R_EAR_LAYER 17
Expand Down
5 changes: 5 additions & 0 deletions code/__HELPERS/global_lists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,11 @@

init_washing_items_list()

global.body_wing_accessory_by_name = list()
for(var/A as anything in subtypesof(/datum/sprite_accessory/wing))
var/datum/sprite_accessory/wing/B = new A
global.body_wing_accessory_by_name[B.name] = B

/proc/init_washing_items_list()
var/list/path_list = list(/obj/item/clothing/mask,
/obj/item/clothing/head,
Expand Down
1 change: 1 addition & 0 deletions code/_globalvars/lists/mob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ var/global/list/all_languages[0]
var/global/list/language_keys[0] //table of say codes for all languages
var/global/list/whitelisted_species = list(HUMAN)
var/global/list/all_zombie_species_names = list(ZOMBIE, ZOMBIE_TAJARAN, ZOMBIE_SKRELL, ZOMBIE_UNATHI)
var/global/list/body_wing_accessory_by_name

var/global/list/clients = list() //list of all clients
var/global/list/admins = list() //list of all clients whom are admins
Expand Down
17 changes: 17 additions & 0 deletions code/modules/mob/dead/new_player/sprite_accessories.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1823,3 +1823,20 @@
icon_state = "dio_brush"
do_colouration = FALSE
species_allowed = list(DIONA, PODMAN)

/datum/sprite_accessory/wing
icon = 'icons/mob/species/wings/wings.dmi'
name = "none"
icon_state = "none"

/datum/sprite_accessory/wing/atlas
name = "Atlas Wings"
icon_state = "atlas"

/datum/sprite_accessory/wing/royal
name = "Royal Wings"
icon_state = "royal"

/datum/sprite_accessory/wing/feathery
name = "Feathery Wings"
icon_state = "feathery"
2 changes: 2 additions & 0 deletions code/modules/mob/living/carbon/human/human_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -126,3 +126,5 @@
// Reagent allergies.
var/list/allergies
var/next_allergy_message = 0

var/wing_accessory_name = "none"
17 changes: 17 additions & 0 deletions code/modules/mob/living/carbon/human/update_icons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,7 @@ Please contact me on #coderbus IRC. ~Carn x
standing += MA

update_tail_showing()
update_wing_layer()
overlays_standing[BODY_LAYER] = standing
apply_standing_overlay(BODY_LAYER)

Expand Down Expand Up @@ -830,6 +831,22 @@ Please contact me on #coderbus IRC. ~Carn x

apply_standing_overlay(L_HAND_LAYER)

/mob/living/carbon/human/proc/update_wing_layer()
remove_standing_overlay(WING_UNDERLIMBS_LAYER)
remove_standing_overlay(WING_LAYER)
var/datum/sprite_accessory/wing/body_accessory = global.body_wing_accessory_by_name[wing_accessory_name]
if(!istype(body_accessory))
return

var/mutable_appearance/wings = mutable_appearance(body_accessory.icon, body_accessory.icon_state, layer = -WING_LAYER)
overlays_standing[WING_LAYER] = wings

var/mutable_appearance/under_wing = mutable_appearance(body_accessory.icon, "[body_accessory.icon_state]_BEHIND", layer = -WING_UNDERLIMBS_LAYER)
overlays_standing[WING_UNDERLIMBS_LAYER] = under_wing

apply_standing_overlay(WING_UNDERLIMBS_LAYER)
apply_standing_overlay(WING_LAYER)

/mob/living/carbon/human/proc/update_tail_showing()
remove_standing_overlay(TAIL_LAYER)

Expand Down
13 changes: 10 additions & 3 deletions code/modules/mob/living/carbon/species.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
var/gender_tail_icons = FALSE
var/gender_limb_icons = FALSE
var/fat_limb_icons = FALSE
var/list/avaible_wings = list()
var/hud_offset_x = 0 // As above, but specifically for the HUD indicator.
var/hud_offset_y = 0 // As above, but specifically for the HUD indicator.
var/blood_trail_type = /obj/effect/decal/cleanable/blood/tracks/footprints
Expand Down Expand Up @@ -2118,7 +2119,7 @@
flesh_color = "00FF00"
icobase = 'icons/mob/human_races/r_moth.dmi'
deform = 'icons/mob/human_races/r_moth.dmi'
tail = "moth_wings"
avaible_wings = list("Atlas Wings")
flags = list(
NO_BREATHE = TRUE,
NO_BLOOD = TRUE,
Expand All @@ -2131,7 +2132,6 @@
NO_MINORCUTS = TRUE,
NO_VOMIT = TRUE,
NO_EMOTION = TRUE,
HAS_TAIL = TRUE,
NO_DNA = TRUE,
NO_PAIN = TRUE,
NO_GENDERS = TRUE,
Expand All @@ -2152,7 +2152,14 @@
H.real_name = "[pick(global.moth_first)] [pick(global.moth_second)]"
H.name = H.real_name
RegisterSignal(H, COMSIG_PARENT_ATTACKBY, PROC_REF(try_eat_item))
return ..()
randomise_wings(H)
. = ..()

/datum/species/moth/proc/randomise_wings(mob/living/carbon/human/H)
if(SSholiday.holidays[NEW_YEAR])
H.wing_accessory_name = pick("Royal Wings", "Feathery Wings")
return
H.wing_accessory_name = pick(avaible_wings)

/datum/species/moth/call_digest_proc(mob/living/M, datum/reagent/R)
return R.on_moth_digest(M)
Expand Down
Binary file modified icons/mob/human_races/r_moth.dmi
Binary file not shown.
Binary file modified icons/mob/species/tail.dmi
Binary file not shown.
Binary file added icons/mob/species/wings/wings.dmi
Binary file not shown.
Loading