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 0000000000000..e2b98e2739844 Binary files /dev/null and b/mods/resomi_fd/icons/clothing/solgov/onmob_accessories_resomi.dmi differ 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 0000000000000..1c54321ba1446 Binary files /dev/null and b/mods/resomi_fd/icons/clothing/solgov/onmob_under_resomi.dmi differ diff --git a/mods/resomi_fd/icons/holder_complex.dmi b/mods/resomi_fd/icons/holder_complex.dmi new file mode 100644 index 0000000000000..0c0235da0286b Binary files /dev/null and b/mods/resomi_fd/icons/holder_complex.dmi differ