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

Новая раса для TG SS220 Вульпочки #267

Merged
merged 50 commits into from
Dec 25, 2024
Merged
Show file tree
Hide file tree
Changes from 45 commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
d56a8ab
Базовая реализация вульпкан
Nlaysi May 17, 2024
b6d613c
Некоторые исправления и ребейз
Nlaysi May 17, 2024
a6ef94b
Некоторые исправления спрайтов, изменение структуры, исправление баго…
Nlaysi May 22, 2024
cd095c6
Ребейз и некоторые исправления
Nlaysi May 22, 2024
5557bab
Некоторые исправления
Nlaysi May 23, 2024
4a90954
Генерация имён
Nlaysi May 23, 2024
9b19886
Исправление тестов
Nlaysi May 23, 2024
1870291
Доработка особенностей и ДНК
Nlaysi May 26, 2024
ff2153f
Способность и некоторые эмоуты
Nlaysi May 29, 2024
517829a
Некоторые исправления и ребейз
Nlaysi May 29, 2024
fb1fd06
Некоторые исправления
Nlaysi May 30, 2024
0f1c56c
Некоторые исправления
Nlaysi May 30, 2024
ba58ec5
Добавление иконки
Nlaysi May 31, 2024
a5c6f59
Некоторые исправления
Nlaysi Jun 5, 2024
caed519
Адаптивная одежда для вульпкан и некоторые исправления
Nlaysi Jun 10, 2024
87d7262
Доработка DNA, доработка абилки
Nlaysi Jun 12, 2024
33485fa
Некоторые исправления
Nlaysi Jun 12, 2024
53d5b55
Запрет нюха при курении
Nlaysi Jun 20, 2024
dae346e
Исправление абилки, добавление дизайнов для лимбгрувера и некоторые и…
Nlaysi Jul 18, 2024
3c0968e
Update modular_bandastation/species/code/human/species/species.dm
Gaxeer Jun 30, 2024
b4645c7
Добавление возможности инфьюза в вульпу
Nlaysi Jul 18, 2024
87465bd
Некоторые исправления инфьюза
Nlaysi Jul 18, 2024
1d44e71
Удаление инфьюза
Nlaysi Jul 25, 2024
41daae9
Добавление мутационного токсина, и мерж
Nlaysi Aug 22, 2024
a4988f4
Добавление эмоутов
Nlaysi Aug 27, 2024
b859357
Исправления под апстрим
Nlaysi Sep 13, 2024
441191c
Некоторые исправления
Nlaysi Oct 6, 2024
8fa1b06
Merge remote-tracking branch 'upstream/master' into vulpes
Nlaysi Oct 29, 2024
66ff252
Некоторые исправления
Nlaysi Oct 29, 2024
4eff490
Merge remote-tracking branch 'upstream/master' into vulpes
Nlaysi Oct 30, 2024
77f77f9
Исправления под апстрим
Nlaysi Oct 30, 2024
3b66a88
Merge remote-tracking branch 'upstream/master' into vulpes
Nlaysi Nov 10, 2024
266f2d6
Исправления и первый этап диги ножек
Nlaysi Nov 17, 2024
3929ec6
Merge remote-tracking branch 'upstream/master' into vulpes
Nlaysi Nov 17, 2024
b8b877a
Исправления теста
Nlaysi Nov 20, 2024
9e152e8
Merge branch 'master' into vulpes
larentoun Nov 25, 2024
a019341
dummy banda edit start
Nlaysi Nov 25, 2024
21fb794
Merge remote-tracking branch 'upstream/master' into vulpes
Nlaysi Nov 25, 2024
c6802a6
Merge remote-tracking branch 'origin/vulpes' into vulpes
Nlaysi Nov 25, 2024
172cb57
Доработки спрайтов и исправления
Nlaysi Dec 22, 2024
ecbec07
Merge remote-tracking branch 'upstream/master' into vulpes
Nlaysi Dec 22, 2024
05dda2e
Исправление скриншотного теста
Nlaysi Dec 22, 2024
076169b
Исправление закрашивания лапок
Nlaysi Dec 23, 2024
ee09f07
Merge remote-tracking branch 'upstream/master' into vulpes
Nlaysi Dec 23, 2024
5e14747
Исправление закрашивания лапок
Nlaysi Dec 23, 2024
f2d3365
include species
Nlaysi Dec 24, 2024
ef95614
Merge branch 'master' into vulpes
Gaxeer Dec 25, 2024
98bda49
Update modular_bandastation/species/code/surgery/organs/internal/vulp…
Gaxeer Dec 25, 2024
3f7d8d1
Update modular_bandastation/species/_species.dm
Gaxeer Dec 25, 2024
284af75
Update modular_bandastation/species/_species.dm
Gaxeer Dec 25, 2024
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
13 changes: 13 additions & 0 deletions code/modules/mob/living/carbon/human/dummy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,19 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy)
target.dna.features["tail_monkey"] = get_consistent_feature_entry(SSaccessories.tails_list_monkey)
target.dna.features["pod_hair"] = get_consistent_feature_entry(SSaccessories.pod_hair_list)
target.dna.features["caps"] = get_consistent_feature_entry(SSaccessories.caps_list)
// BANDA STATION EDIT START
target.dna.features["vulpkanin_body_markings"] = get_consistent_feature_entry(SSaccessories.vulpkanin_body_markings_list)
target.dna.features["vulpkanin_head_markings"] = get_consistent_feature_entry(SSaccessories.vulpkanin_head_markings_list)
target.dna.features["vulpkanin_head_accessories"] = get_consistent_feature_entry(SSaccessories.vulpkanin_head_accessories_list)
target.dna.features["tail_vulpkanin"] = get_consistent_feature_entry(SSaccessories.tails_list_vulpkanin)
target.dna.features["tail_markings"] = get_consistent_feature_entry(SSaccessories.vulpkanin_tail_markings_list)
target.dna.features["vulpkanin_facial_hair"] = get_consistent_feature_entry(SSaccessories.vulpkanin_facial_hair_list)
target.dna.features["furcolor_first"] = COLOR_WHITE
target.dna.features["furcolor_second"] = COLOR_WHITE
target.dna.features["furcolor_third"] = COLOR_WHITE
target.dna.features["furcolor_fourth"] = COLOR_WHITE
target.dna.features["furcolor_fifth"] = COLOR_WHITE
// BANDA STATION EDIT STOP
target.dna.initialize_dna(create_mutation_blocks = FALSE, randomize_features = FALSE)
// UF and UI are nondeterministic, even though the features are the same some blocks will randomize slightly
// In practice this doesn't matter, but this is for the sake of 100%(ish) consistency
Expand Down
64 changes: 61 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 @@ -391,8 +391,27 @@
return

var/icon_file = 'icons/mob/clothing/head/default.dmi'
// BANDASTATION EDIT START - SPECIES CLOTHING ICONS
var/list/icon_files_species = list(
"vulpkanin" = 'modular_bandastation/species/icons/mob/species/clothing/head.dmi',
)

var/mutant_override = FALSE

var/obj/item/bodypart/head/bodypart_head = src.get_bodypart(BODY_ZONE_HEAD)
if(worn_item.worn_icon_species && worn_item.worn_icon_species[bodypart_head.species_bodytype])

Check warning on line 402 in code/modules/mob/living/carbon/human/human_update_icons.dm

View workflow job for this annotation

GitHub Actions / Run Linters

OD2304: Invalid index operation. datum[] index operations are not valid starting in BYOND 515.1641
icon_file = worn_item.worn_icon_species[bodypart_head.species_bodytype]

Check warning on line 403 in code/modules/mob/living/carbon/human/human_update_icons.dm

View workflow job for this annotation

GitHub Actions / Run Linters

OD2304: Invalid index operation. datum[] index operations are not valid starting in BYOND 515.1641
mutant_override = TRUE
else if(bodypart_head.species_bodytype in icon_files_species)
icon_file = icon_files_species[bodypart_head.species_bodytype]
mutant_override = FALSE

var/mutable_appearance/head_overlay = head.build_worn_icon(default_layer = HEAD_LAYER, default_icon_file = icon_file)
if(!(icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item))))
icon_file = 'icons/mob/clothing/head/default.dmi'
mutant_override = FALSE

var/mutable_appearance/head_overlay = head.build_worn_icon(default_layer = HEAD_LAYER, default_icon_file = icon_file, override_file = mutant_override ? icon_file : null)
// BANDASTATION EDIT STOP - SPECIES CLOTHING ICONS
var/obj/item/bodypart/head/my_head = get_bodypart(BODY_ZONE_HEAD)
my_head?.worn_head_offset?.apply_offset(head_overlay)
overlays_standing[HEAD_LAYER] = head_overlay
Expand Down Expand Up @@ -441,8 +460,27 @@
update_obscured_slots(worn_item.flags_inv)

var/icon_file = DEFAULT_SUIT_FILE
// BANDASTATION EDIT START - SPECIES CLOTHING ICONS
var/list/icon_files_species = list(
"vulpkanin" = 'modular_bandastation/species/icons/mob/species/clothing/suit.dmi',
)

var/mutant_override = FALSE

var/mutable_appearance/suit_overlay = wear_suit.build_worn_icon(default_layer = SUIT_LAYER, default_icon_file = icon_file)
var/obj/item/bodypart/chest/bodypart_chest = src.get_bodypart(BODY_ZONE_CHEST)
if(worn_item.worn_icon_species && worn_item.worn_icon_species[bodypart_chest.species_bodytype])

Check warning on line 471 in code/modules/mob/living/carbon/human/human_update_icons.dm

View workflow job for this annotation

GitHub Actions / Run Linters

OD2304: Invalid index operation. datum[] index operations are not valid starting in BYOND 515.1641
icon_file = worn_item.worn_icon_species[bodypart_chest.species_bodytype]

Check warning on line 472 in code/modules/mob/living/carbon/human/human_update_icons.dm

View workflow job for this annotation

GitHub Actions / Run Linters

OD2304: Invalid index operation. datum[] index operations are not valid starting in BYOND 515.1641
mutant_override = TRUE
else if(bodypart_chest.species_bodytype in icon_files_species)
icon_file = icon_files_species[bodypart_chest.species_bodytype]
mutant_override = FALSE

if(!(icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item))))
icon_file = DEFAULT_SUIT_FILE
mutant_override = FALSE

var/mutable_appearance/suit_overlay = wear_suit.build_worn_icon(default_layer = SUIT_LAYER, default_icon_file = icon_file, override_file = mutant_override ? icon_file : null)
// BANDASTATION EDIT STOP - SPECIES CLOTHING ICONS
var/obj/item/bodypart/chest/my_chest = get_bodypart(BODY_ZONE_CHEST)
my_chest?.worn_suit_offset?.apply_offset(suit_overlay)
overlays_standing[SUIT_LAYER] = suit_overlay
Expand Down Expand Up @@ -493,13 +531,33 @@
return

var/icon_file = 'icons/mob/clothing/mask.dmi'
var/list/icon_files_species = list(
"vulpkanin" = 'modular_bandastation/species/icons/mob/species/clothing/mask.dmi',
)

var/mutant_override = FALSE

var/obj/item/bodypart/head/bodypart_head = src.get_bodypart(BODY_ZONE_HEAD)
if(worn_item.worn_icon_species && worn_item.worn_icon_species[bodypart_head.species_bodytype])

Check warning on line 541 in code/modules/mob/living/carbon/human/human_update_icons.dm

View workflow job for this annotation

GitHub Actions / Run Linters

OD2304: Invalid index operation. datum[] index operations are not valid starting in BYOND 515.1641
icon_file = worn_item.worn_icon_species[bodypart_head.species_bodytype]

Check warning on line 542 in code/modules/mob/living/carbon/human/human_update_icons.dm

View workflow job for this annotation

GitHub Actions / Run Linters

OD2304: Invalid index operation. datum[] index operations are not valid starting in BYOND 515.1641
mutant_override = TRUE
else if(bodypart_head.species_bodytype in icon_files_species)
icon_file = icon_files_species[bodypart_head.species_bodytype]
mutant_override = FALSE

if(!(icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item))))
icon_file = 'icons/mob/clothing/mask.dmi'
mutant_override = FALSE

var/mutable_appearance/mask_overlay = wear_mask.build_worn_icon(default_layer = FACEMASK_LAYER, default_icon_file = icon_file)
var/mutable_appearance/mask_overlay = wear_mask.build_worn_icon(default_layer = FACEMASK_LAYER, default_icon_file = icon_file, override_file = mutant_override ? icon_file : null)
my_head.worn_mask_offset?.apply_offset(mask_overlay)
overlays_standing[FACEMASK_LAYER] = mask_overlay

apply_overlay(FACEMASK_LAYER)
check_body_shape(BODYSHAPE_SNOUTED, ITEM_SLOT_MASK)
// BANDASTATION EDIT START - SPECIES CLOTHING ICONS
update_body_parts()
// BANDASTATION EDIT STOP - SPECIES CLOTHING ICONS

/mob/living/carbon/human/update_worn_back(update_obscured = TRUE)
remove_overlay(BACK_LAYER)
Expand Down
3 changes: 3 additions & 0 deletions code/modules/surgery/bodyparts/_bodyparts.dm
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,9 @@
var/robotic_emp_paralyze_damage_percent_threshold = 0.3
/// A potential texturing overlay to put on the limb
var/datum/bodypart_overlay/texture/texture_bodypart_overlay
// BANDASTATION EDIT START
var/species_bodytype
// BANDASTATION EDIT STOP

/obj/item/bodypart/apply_fantasy_bonuses(bonus)
. = ..()
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions config/bandastation/bandastation_config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@

#INTERVIEW_WEBHOOK_URL

## Bandastation Races
ROUNDSTART_RACES vulpkanin

#MIN_THREAT_TO_ROUNDSTART_PERCENT 30
#MAX_THREAT_TO_ROUNDSTART_PERCENT 60
#MIN_THREAT_LEVEL 20
Expand Down
Binary file modified icons/mob/human/species/lizard/bodyparts.dmi
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
// Signals for /mob/living/carbon

// \modular_bandastation\species\code\human\species\species.dm
#define COMSIG_CARBON_VULPKANIN_SNIFF "carbon_vulpkanin_sniff"
1 change: 1 addition & 0 deletions modular_bandastation/emote_panel/_emote_panel.dme
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@

#include "code/_emote_defines.dm"
#include "code/emote_verbs.dm"
#include "code/emotes.dm"
Binary file added modular_bandastation/emote_panel/audio/bark.ogg
Binary file not shown.
Binary file not shown.
Binary file added modular_bandastation/emote_panel/audio/growl1.ogg
Binary file not shown.
Binary file added modular_bandastation/emote_panel/audio/growl2.ogg
Binary file not shown.
Binary file added modular_bandastation/emote_panel/audio/growl3.ogg
Binary file not shown.
Binary file added modular_bandastation/emote_panel/audio/howl.ogg
Binary file not shown.
Binary file not shown.
Binary file added modular_bandastation/emote_panel/audio/purr.ogg
Binary file not shown.
Binary file added modular_bandastation/emote_panel/audio/wbark.ogg
Binary file not shown.
3 changes: 3 additions & 0 deletions modular_bandastation/emote_panel/code/_emote_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@
#define EMOTE_HUMAN_SIGNAL "Показать пальцы"
#define EMOTE_HUMAN_SHRUG "Пожать плечами"
#define EMOTE_HUMAN_SNIFF "Шмыгать носом"
#define EMOTE_HUMAN_SNIFFLE "Нюхать"
#define EMOTE_HUMAN_JOHNNY "Курить стильно"
#define EMOTE_HUMAN_SNEEZE "Чихнуть"
#define EMOTE_HUMAN_SLAP "Дать пощёчину"
Expand Down Expand Up @@ -118,6 +119,8 @@
#define EMOTE_HUMAN_WIGGLES "Шевелить усиками"
#define EMOTE_HUMAN_WHIPS "Хлестать хвостом"
#define EMOTE_HUMAN_WHIP "Ударить хвостом"
#define EMOTE_HUMAN_BARK "Гавкнуть"
#define EMOTE_HUMAN_WBARK "Дважды гавкнуть"

/// Carbon Emotes
#define EMOTE_CARBON_BLINK "Моргать"
Expand Down
30 changes: 30 additions & 0 deletions modular_bandastation/emote_panel/code/emote_verbs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,31 @@
set category = "Эмоции"
emote("clap", intentional = TRUE)

/mob/living/carbon/human/species/vulpkanin/proc/emote_howl()
set name = "▷ " + EMOTE_HUMAN_HOWL + " "
set category = "Эмоции"
emote("howl", intentional = TRUE)

/mob/living/carbon/human/species/vulpkanin/proc/emote_growl()
Nlaysi marked this conversation as resolved.
Show resolved Hide resolved
set name = "▷ " + EMOTE_HUMAN_GROWL + " "
set category = "Эмоции"
emote("growl", intentional = TRUE)

/mob/living/carbon/human/species/vulpkanin/proc/emote_purr()
set name = "▷ " + EMOTE_HUMAN_RUMBLE + " "
set category = "Эмоции"
emote("purr", intentional = TRUE)

/mob/living/carbon/human/species/vulpkanin/proc/emote_bark()
set name = "▷ " + EMOTE_HUMAN_BARK + " "
set category = "Эмоции"
emote("bark", intentional = TRUE)

/mob/living/carbon/human/species/vulpkanin/proc/emote_wbark()
set name = "▷ " + EMOTE_HUMAN_WBARK + " "
set category = "Эмоции"
emote("wbark", intentional = TRUE)

/// Action Emotes ///
/mob/living/carbon/human/verb/emote_collapse()
set name = "○ " + EMOTE_COLLAPSE + " "
Expand Down Expand Up @@ -276,6 +301,11 @@
set category = "Эмоции"
emote("aflap", intentional = TRUE)

/mob/living/carbon/human/proc/emote_wag()
set name = "◦ " + EMOTE_HUMAN_WAG + " "
set category = "Эмоции"
emote("wag", intentional = TRUE)

/// Racial Emotes ///
/mob/living/carbon/human/proc/emote_ping()
set name = "< " + EMOTE_SILICON_PING + " >"
Expand Down
81 changes: 81 additions & 0 deletions modular_bandastation/emote_panel/code/emotes.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
/datum/emote/living/sniffle
Gaxeer marked this conversation as resolved.
Show resolved Hide resolved
key = "sniffle"
key_third_person = "sniffles"
name = "нюхать"
message = "нюхает."
message_mime = "бесшумно нюхает."
message_param = "нюхает %t."
Nlaysi marked this conversation as resolved.
Show resolved Hide resolved

/datum/emote/living/sniffle/get_sound(mob/living/user)
if(user.gender == FEMALE)
return 'modular_bandastation/emote_panel/audio/female/sniff_female.ogg'
else
return 'modular_bandastation/emote_panel/audio/male/sniff_male.ogg'
Nlaysi marked this conversation as resolved.
Show resolved Hide resolved

// Vulpkanin

/datum/emote/living/carbon/human/vulpkanin/can_run_emote(mob/user, status_check = TRUE, intentional = FALSE)
var/organ = user.get_organ_slot(ORGAN_SLOT_TONGUE)
if(istype(organ, /obj/item/organ/tongue/vulpkanin))
return ..()

/datum/emote/living/carbon/human/vulpkanin/howl
larentoun marked this conversation as resolved.
Show resolved Hide resolved
name = "Выть"
key = "howl"
key_third_person = "howls"
message = "воет."
message_mime = "делает вид, что воет."
message_param = "воет на %t."
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
cooldown = 6 SECONDS
sound = 'modular_bandastation/emote_panel/audio/howl.ogg'

/datum/emote/living/carbon/human/vulpkanin/growl
name = "Рычать"
key = "growl"
key_third_person = "growls"
message = "рычит."
message_mime = "бусшумно рычит."
message_param = "рычит на %t."
cooldown = 2 SECONDS
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE

/datum/emote/living/carbon/human/vulpkanin/growl/get_sound(mob/living/user)
return pick(
'modular_bandastation/emote_panel/audio/growl1.ogg',
'modular_bandastation/emote_panel/audio/growl2.ogg',
'modular_bandastation/emote_panel/audio/growl3.ogg',
)

/datum/emote/living/carbon/human/vulpkanin/purr
name = "Урчать"
key = "purr"
key_third_person = "purrs"
message = "урчит."
message_param = "урчит на %t."
emote_type = EMOTE_AUDIBLE
vary = TRUE
cooldown = 2 SECONDS
sound = 'modular_bandastation/emote_panel/audio/purr.ogg'

/datum/emote/living/carbon/human/vulpkanin/bark
name = "Гавкнуть"
key = "bark"
key_third_person = "bark"
message = "гавкает."
message_param = "гавкает на %t."
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
vary = TRUE
cooldown = 2 SECONDS
sound = 'modular_bandastation/emote_panel/audio/bark.ogg'

/datum/emote/living/carbon/human/vulpkanin/wbark
name = "Гавкнуть дважды"
key = "wbark"
key_third_person = "wbark"
message = "дважды гавкает."
message_param = "дважды гавкает на %t."
emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE
vary = TRUE
cooldown = 2 SECONDS
sound = 'modular_bandastation/emote_panel/audio/wbark.ogg'
1 change: 1 addition & 0 deletions modular_bandastation/modular_bandastation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
#include "automatic_crew_transfer/_automatic_crew_transfer.dme"
#include "outfits/_outfits.dme"
#include "overrides/_overrides.dme"
#include "species/_species.dme"


// --- PRIME --- //
Expand Down
9 changes: 9 additions & 0 deletions modular_bandastation/species/_species.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/datum/modpack/species
name = "Modpack Species"
desc = "Добавление архитектуры для новых видов и конфигурирования существующих"
Gaxeer marked this conversation as resolved.
Show resolved Hide resolved
author = "nlaysi"

/datum/modpack/species/vulpkanin
name = "Species Vulpkanin"
desc = "Добавление вида Вульпканин"
author = "nlaysi"
Nlaysi marked this conversation as resolved.
Show resolved Hide resolved
Gaxeer marked this conversation as resolved.
Show resolved Hide resolved
20 changes: 20 additions & 0 deletions modular_bandastation/species/_species.dme
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#include "_species.dm"

#include "code/_defines.dm"
#include "code/language.dm"
#include "code/dna.dm"

#include "code/human/carbon.dm"
#include "code/surgery/organs/external/vulpkanin_external.dm"
#include "code/surgery/organs/internal/vulpkanin_internal.dm"
#include "code/surgery/organs/limbgrower_designs.dm"
#include "code/human/sprite_accessories/vulpkanin.dm"
#include "code/preferences/species_features/vulpkanin.dm"
#include "code/surgery/bodyparts/vulpkanin_bodyparts.dm"
#include "code/human/species_type/vulpkanin.dm"
#include "code/human/sprite_accessories/hair.dm"
#include "code/human/species/species.dm"
#include "code/reagents/mutation.dm"

#include "code/clothing/items.dm"
#include "code/clothing/mod.dm"
44 changes: 44 additions & 0 deletions modular_bandastation/species/code/_defines.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#define SPECIES_VULPKANIN "vulpkanin"
#define BUTT_SPRITE_VULPKANIN "vulpkanin"

#define DEFAULT_SPRITE_LIST "default_sprites"

#define DNA_VULPKANIN_BODY_MARKINGS DNA_FEATURE_BLOCKS + 1
#define DNA_VULPKANIN_HEAD_MARKINGS DNA_FEATURE_BLOCKS + 2
#define DNA_VULPKANIN_HEAD_ACCESSORIES DNA_FEATURE_BLOCKS + 3
#define DNA_VULPKANIN_TAIL DNA_FEATURE_BLOCKS + 4
#define DNA_VULPKANIN_TAIL_MARKINGS DNA_FEATURE_BLOCKS + 5
#define DNA_VULPKANIN_FACIAL_HAIR DNA_FEATURE_BLOCKS + 6
#define DNA_FURCOLOR_1 DNA_FEATURE_BLOCKS + 7
#define DNA_FURCOLOR_2 DNA_FEATURE_BLOCKS + 8
#define DNA_FURCOLOR_3 DNA_FEATURE_BLOCKS + 9
#define DNA_FURCOLOR_4 DNA_FEATURE_BLOCKS + 10
#define DNA_FURCOLOR_5 DNA_FEATURE_BLOCKS + 11

#define DNA_MODULAR_BLOCKS_COUNT 11

#define HEAD_VULPKANIN (1<<16)

GLOBAL_LIST_INIT(first_names_female_vulp, world.file2list("strings/names/first_female_vulp.txt"))
GLOBAL_LIST_INIT(first_names_male_vulp, world.file2list("strings/names/first_male_vulp.txt"))
GLOBAL_LIST_INIT(last_names_vulp, world.file2list("strings/names/last_vulp.txt"))

/datum/controller/subsystem/accessories
var/list/vulpkanin_body_markings_list
var/list/vulpkanin_head_markings_list
var/list/vulpkanin_head_accessories_list
var/list/tails_list_vulpkanin
var/list/vulpkanin_tail_markings_list
var/list/vulpkanin_facial_hair_list

/datum/controller/subsystem/accessories/proc/init_modular_lists()
vulpkanin_body_markings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/vulpkanin_body_markings, add_blank = TRUE)[DEFAULT_SPRITE_LIST]
vulpkanin_head_markings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/vulpkanin_head_markings, add_blank = TRUE)[DEFAULT_SPRITE_LIST]
vulpkanin_head_accessories_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/vulpkanin_head_accessories, add_blank = TRUE)[DEFAULT_SPRITE_LIST]
tails_list_vulpkanin = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/vulpkanin, add_blank = FALSE)[DEFAULT_SPRITE_LIST]
vulpkanin_tail_markings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/vulpkanin_tail_markings, add_blank = TRUE)[DEFAULT_SPRITE_LIST]
vulpkanin_facial_hair_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/vulpkanin_facial_hair, add_blank = TRUE)[DEFAULT_SPRITE_LIST]

/datum/controller/subsystem/accessories/PreInit()
..()
init_modular_lists()
27 changes: 27 additions & 0 deletions modular_bandastation/species/code/clothing/items.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/obj/item
var/icon/worn_icon_species

/obj/item/clothing/head/mod
worn_icon_species = list(
SPECIES_VULPKANIN = 'modular_bandastation/species/icons/mob/species/clothing/vulp_modsuits.dmi',
)

/obj/item/clothing/suit/mod
worn_icon_species = list(
SPECIES_VULPKANIN = 'modular_bandastation/species/icons/mob/species/clothing/vulp_modsuits.dmi',
)

/obj/item/mod/module
worn_icon_species = list(
SPECIES_VULPKANIN = 'modular_bandastation/species/icons/mob/species/clothing/modules_vulp.dmi',
)

/obj/item/clothing/suit
worn_icon_species = list(
SPECIES_VULPKANIN = 'modular_bandastation/species/icons/mob/species/clothing/suit.dmi',
)

/obj/item/clothing/head
worn_icon_species = list(
SPECIES_VULPKANIN = 'modular_bandastation/species/icons/mob/species/clothing/head.dmi',
)
Loading
Loading