From a315689336bc7f5ba00a425368ecf32df4989026 Mon Sep 17 00:00:00 2001 From: VoiceInYourHead Date: Wed, 12 Jun 2024 02:56:17 +0300 Subject: [PATCH] Resomi various fixes --- mods/resomi_fd/_resomi.dme | 1 + mods/resomi_fd/code/body/holding.dm | 38 ++++++++++++ mods/resomi_fd/code/clothing/clothing.dm | 8 +++ mods/resomi_fd/code/datum/_defines.dm | 10 ++-- mods/resomi_fd/code/datum/resomi_culture.dm | 34 ++++++++++- mods/resomi_fd/code/datum/species.dm | 54 +++++++++++++++--- .../solgov/onmob_accessories_resomi.dmi | Bin 0 -> 338 bytes .../clothing/solgov/onmob_under_resomi.dmi | Bin 0 -> 1022 bytes mods/resomi_fd/icons/holder_complex.dmi | Bin 0 -> 2255 bytes 9 files changed, 132 insertions(+), 13 deletions(-) create mode 100644 mods/resomi_fd/code/body/holding.dm create mode 100644 mods/resomi_fd/icons/clothing/solgov/onmob_accessories_resomi.dmi create mode 100644 mods/resomi_fd/icons/clothing/solgov/onmob_under_resomi.dmi create mode 100644 mods/resomi_fd/icons/holder_complex.dmi diff --git a/mods/resomi_fd/_resomi.dme b/mods/resomi_fd/_resomi.dme index 4e17cb237b329..f3337b0ba4cb4 100644 --- a/mods/resomi_fd/_resomi.dme +++ b/mods/resomi_fd/_resomi.dme @@ -5,6 +5,7 @@ #include "code/unit_tests.dm" #include "code/body/abilities.dm" #include "code/body/emotes.dm" +#include "code/body/holding.dm" #include "code/body/organs.dm" #include "code/clothing/void/rigs.dm" #include "code/clothing/clothing.dm" diff --git a/mods/resomi_fd/code/body/holding.dm b/mods/resomi_fd/code/body/holding.dm new file mode 100644 index 0000000000000..4cf43b041a53e --- /dev/null +++ b/mods/resomi_fd/code/body/holding.dm @@ -0,0 +1,38 @@ +/obj/item/holder/human + icon = 'mods/resomi_fd/icons/holder_complex.dmi' + var/list/generate_for_slots = list(slot_l_hand_str, slot_r_hand_str, slot_back_str) + w_class = ITEM_SIZE_LARGE + slot_flags = SLOT_BACK + +/obj/item/holder/human/sync(mob/living/M) + // Generate appropriate on-mob icons. + var/mob/living/carbon/human/owner = M + if(istype(owner) && owner.species) + + var/skin_colour = owner.skin_color + var/hair_colour = owner.head_hair_color + var/eye_colour = owner.eye_color + var/species_name = lowertext(owner.species.get_bodytype(owner)) + + for(var/cache_entry in generate_for_slots) + var/cache_key = "[owner.species]-[cache_entry]-[skin_colour]-[hair_colour]" + if(!holder_mob_icon_cache[cache_key]) + + // Generate individual icons. + var/icon/mob_icon = icon(icon, "[species_name]_holder_[cache_entry]_base") + mob_icon.Blend(skin_colour, ICON_ADD) + var/icon/hair_icon = icon(icon, "[species_name]_holder_[cache_entry]_hair") + hair_icon.Blend(hair_colour, ICON_ADD) + var/icon/eyes_icon = icon(icon, "[species_name]_holder_[cache_entry]_eyes") + eyes_icon.Blend(eye_colour, ICON_ADD) + + // Blend them together. + mob_icon.Blend(eyes_icon, ICON_OVERLAY) + mob_icon.Blend(hair_icon, ICON_OVERLAY) + + // Add to the cache. + holder_mob_icon_cache[cache_key] = mob_icon + item_icons[cache_entry] = holder_mob_icon_cache[cache_key] + + // Handle the rest of sync(). + ..(M) diff --git a/mods/resomi_fd/code/clothing/clothing.dm b/mods/resomi_fd/code/clothing/clothing.dm index fcca6421faa1f..da84016b7506e 100644 --- a/mods/resomi_fd/code/clothing/clothing.dm +++ b/mods/resomi_fd/code/clothing/clothing.dm @@ -163,3 +163,11 @@ /obj/item/towel/equipped(M, slot) ..() sprite_sheets = list(SPECIES_RESOMI = (slot == slot_head ? 'mods/resomi_fd/icons/clothing/onmob_head_resomi.dmi' : 'mods/resomi_fd/icons/clothing/onmob_suit_resomi.dmi')) + +/obj/item/clothing/under/solgov/utility/expeditionary/Initialize() + . = ..() + LAZYSET(sprite_sheets, SPECIES_RESOMI, 'mods/resomi_fd/icons/clothing/solgov/onmob_under_resomi.dmi') + +/obj/item/clothing/accessory/solgov/department/Initialize() + . = ..() + LAZYSET(sprite_sheets, SPECIES_RESOMI, 'mods/resomi_fd/icons/clothing/solgov/onmob_accessories_resomi.dmi') diff --git a/mods/resomi_fd/code/datum/_defines.dm b/mods/resomi_fd/code/datum/_defines.dm index 75c5965618055..9b7be9f2b5c2c 100644 --- a/mods/resomi_fd/code/datum/_defines.dm +++ b/mods/resomi_fd/code/datum/_defines.dm @@ -2,11 +2,11 @@ #define CULTURE_RESOMI_SHAYAMI "Shayami" #define CULTURE_RESOMI_SHOSHONI "Shoshoni" #define CULTURE_RESOMI_ATARI "Atari" -#define CULTURE_RESOMI_OTHER "Other" -#define CULTURE_RESOMI_SPACER "Spacer" +#define CULTURE_RESOMI_OTHER "Other Resomi Clans" +#define CULTURE_RESOMI_SPACER "Wandering Spacer" #define HOME_SYSTEM_RESOMI_ALISH "Alish" -#define FACTION_RESOMI_URE "United Resomi Empire" -#define FACTION_RESOMI_CONCORD "Concord" -#define FACTION_RESOMI_INDEPENDENT "Independent" +#define FACTION_RESOMI_URE "United Resomi Empire" +#define FACTION_RESOMI_CONCORD "Concord" +#define FACTION_RESOMI_INDEPENDENT "Independent Hermit" diff --git a/mods/resomi_fd/code/datum/resomi_culture.dm b/mods/resomi_fd/code/datum/resomi_culture.dm index 9a0957937a01a..68ca339585b9f 100644 --- a/mods/resomi_fd/code/datum/resomi_culture.dm +++ b/mods/resomi_fd/code/datum/resomi_culture.dm @@ -42,4 +42,36 @@ nickname = "Скиталец" language = list(LANGUAGE_RESOMI, LANGUAGE_SPACER) description = "Скитальцы оказываются в космосе способами, не предусмотренными Конкордом. Как правило, эти резоми - беженцы или просто родившиеся за пределами Алиша. Они могут даже не иметь гражданства." - economic_power = 0.65 \ No newline at end of file + economic_power = 0.65 + +/singleton/cultural_info/faction/resomi + language = LANGUAGE_RESOMI + +/singleton/cultural_info/faction/resomi/concord + name = FACTION_RESOMI_CONCORD + description = "Concord is a body for the supervision and protection of the conditions adopted in the Declaration on Unification. This organization is funded by a tax system in which every tribe protected by this body participates. Concord has branches in most tribes, as well as a modest number of its own entities. The organization does not regulate any economic, social or cultural relations. The task of Concord is to ensure the territorial integrity of the borders of the subjects, as well as to preserve the law within them, thereby fulfilling the function of the world police. The Concord ranks are the most prestigious and highly paid place for any resomi. On the budget from taxes, Concord contains a powerful army and a legal system that ensures the interests of citizens in case the rights guaranteed by laws and the Declaration are violated." + language = list(LANGUAGE_RESOMI,LANGUAGE_HUMAN_EURO) + economic_power = 1 + secondary_langs = list(LANGUAGE_SIGN, LANGUAGE_SPACER) + +/singleton/cultural_info/faction/resomi/ure + name = FACTION_RESOMI_URE + description = "The United Resomi Empire has been flourishing in absolute peace and harmony for over a century and a half, the tribes have separated from each other, since the signing of the Declaration, all territories have been repeatedly distributed peacefully, so all tribes were able to distribute resources and close territorial, as well as ideological differences for centuries, building an ideal society that turned out to be in prolonged stagnation. However, competition and the struggle for power is still a part of the life of Resomi, and to a sufficiently intensified extent, although the scale of it has been reduced from wars between states to a struggle within organizations, which is facilitated by Concord itself, allowing competition to influence the quality of services and products." + language = LANGUAGE_RESOMI + economic_power = 1 + +/singleton/cultural_info/faction/resomi/independent + name = FACTION_RESOMI_INDEPENDENT + description = "Resomi belonging to themselves, as a rule, do not have citizenship and their fate is complicated. You won't find them working on government vessels." + economic_power = 1 + language = LANGUAGE_RESOMI + secondary_langs = list(LANGUAGE_SIGN, LANGUAGE_SPACER) + +/singleton/cultural_info/location/alish + name = HOME_SYSTEM_RESOMI_ALISH + description = "The planet is a high-altitude arctic world without a world ocean. About 78% of the planet's surface is covered with ice at the moment of perihelion and the volume of icing reaches 89% at the time of aphelion. The distance to the star is 3.2 au. The average annual temperature is -15°C, reaching -115°C in winter at the poles and +17°C at the equator in summer. Most forms of life live on the equator of the planet, where all vegetation is located, as well as there are reservoirs with a downstream." + language = LANGUAGE_RESOMI + capital = "Chilish" + ruling_body = "High Council" + distance = "22.5 light years." + economic_power = 1 diff --git a/mods/resomi_fd/code/datum/species.dm b/mods/resomi_fd/code/datum/species.dm index 6c52c4d98cba0..19e74d5277ab2 100644 --- a/mods/resomi_fd/code/datum/species.dm +++ b/mods/resomi_fd/code/datum/species.dm @@ -1,4 +1,16 @@ - +#define CULTURE_HUMAN_MARTIAN_FD "Martian, Surfacer" +#define CULTURE_HUMAN_MARSTUN_FD "Martian, Tunneller" +#define CULTURE_HUMAN_LUNAPOOR_FD "Luna, Lower Class" +#define CULTURE_HUMAN_LUNARICH_FD "Luna, Upper Class" +#define CULTURE_HUMAN_VENUSIAN_FD "Venusian, Zoner" +#define CULTURE_HUMAN_BELTER_FD "Belter, Ceres" +#define CULTURE_HUMAN_PLUTO_FD "Plutonian" + +#define HOME_SYSTEM_LUNA_FD "Luna" +#define HOME_SYSTEM_MARS_FD "Mars" +#define HOME_SYSTEM_VENUS_FD "Venus" +#define HOME_SYSTEM_CERES_FD "Ceres" +#define HOME_SYSTEM_PLUTO_FD "Pluto" /datum/species/resomi name = SPECIES_RESOMI @@ -41,7 +53,7 @@ burn_mod = 1.35 metabolism_mod = 2.0 mob_size = MOB_SMALL - holder_type = /obj/item/holder + holder_type = /obj/item/holder/human light_sensitive = 6 gluttonous = GLUT_TINY blood_volume = 280 @@ -65,8 +77,7 @@ heat_discomfort_level = 292 heat_discomfort_strings = list( "Вашу кожу покалывает от жары.", - "Вам жарко.", - ) + "Вам жарко.") cold_discomfort_level = 200 cold_discomfort_strings = list( "Вы не чувствуете своих лап из-за холода.", @@ -116,6 +127,13 @@ available_cultural_info = list( TAG_CULTURE = list( + CULTURE_HUMAN_LUNAPOOR_FD, + CULTURE_HUMAN_LUNARICH_FD, + CULTURE_HUMAN_VENUSIAN_FD, + CULTURE_HUMAN_MARTIAN_FD, + CULTURE_HUMAN_MARSTUN_FD, + CULTURE_HUMAN_PLUTO_FD, + CULTURE_HUMAN_BELTER_FD, CULTURE_RESOMI_TEMALI, CULTURE_RESOMI_SHAYAMI, CULTURE_RESOMI_SHOSHONI, @@ -126,16 +144,25 @@ ), TAG_HOMEWORLD = list( HOME_SYSTEM_RESOMI_ALISH, + HOME_SYSTEM_LUNA_FD, + HOME_SYSTEM_VENUS_FD, + HOME_SYSTEM_MARS_FD, + HOME_SYSTEM_PLUTO_FD, + HOME_SYSTEM_CERES_FD, HOME_SYSTEM_OTHER ), TAG_FACTION = list( FACTION_RESOMI_URE, FACTION_RESOMI_CONCORD, FACTION_RESOMI_INDEPENDENT, + FACTION_FREETRADE, + FACTION_XYNERGY, FACTION_EXPEDITIONARY, + FACTION_CORPORATE, + FACTION_MAJOR_BILL, FACTION_OTHER ), - TAG_RELIGION = list( + TAG_RELIGION = list( RELIGION_OTHER ) ) @@ -165,6 +192,19 @@ /singleton/emote/audible/rustle/resomi, /singleton/emote/audible/trill/resomi, /singleton/emote/audible/warble/resomi, - /singleton/emote/audible/wurble/resomi, - + /singleton/emote/audible/wurble/resomi ) + +#undef CULTURE_HUMAN_MARTIAN_FD +#undef CULTURE_HUMAN_MARSTUN_FD +#undef CULTURE_HUMAN_LUNAPOOR_FD +#undef CULTURE_HUMAN_LUNARICH_FD +#undef CULTURE_HUMAN_VENUSIAN_FD +#undef CULTURE_HUMAN_BELTER_FD +#undef CULTURE_HUMAN_PLUTO_FD + +#undef HOME_SYSTEM_LUNA_FD +#undef HOME_SYSTEM_MARS_FD +#undef HOME_SYSTEM_VENUS_FD +#undef HOME_SYSTEM_CERES_FD +#undef HOME_SYSTEM_PLUTO_FD diff --git a/mods/resomi_fd/icons/clothing/solgov/onmob_accessories_resomi.dmi b/mods/resomi_fd/icons/clothing/solgov/onmob_accessories_resomi.dmi new file mode 100644 index 0000000000000000000000000000000000000000..e2b98e2739844dfc058fc6f35cc105daca68427f GIT binary patch literal 338 zcmV-Y0j>UtP)004jj0{{R3@ePWI0000CP)t-sz`($b zh={?#!T&I?+ljdE~x53E8DZ^u6Sga7~l07*qoM6N<$f~eApCjbBd literal 0 HcmV?d00001 diff --git a/mods/resomi_fd/icons/clothing/solgov/onmob_under_resomi.dmi b/mods/resomi_fd/icons/clothing/solgov/onmob_under_resomi.dmi new file mode 100644 index 0000000000000000000000000000000000000000..1c54321ba144646f36a93af4284ad2e804ab66f9 GIT binary patch literal 1022 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 literal 0 HcmV?d00001