diff --git a/code/__defines/~mods/~master_defines.dm b/code/__defines/~mods/~master_defines.dm
index 5677b37adacd7..b8cb9f2cc1b0a 100644
--- a/code/__defines/~mods/~master_defines.dm
+++ b/code/__defines/~mods/~master_defines.dm
@@ -57,3 +57,8 @@
// IPC_COOLING_UNIT - Start
#define BP_COOLING "cooling system"
// IPC_COOLING_UNIT - End
+
+// RESOMI - Start
+#define SPECIES_RESOMI "Resomi"
+#define LANGUAGE_RESOMI "Schechi"
+// RESOMI - End
diff --git a/code/_helpers/text.dm b/code/_helpers/text.dm
index 1fc049bbc6f6f..ff37f28eb5b45 100644
--- a/code/_helpers/text.dm
+++ b/code/_helpers/text.dm
@@ -442,6 +442,14 @@
t = replacetext(t, "\[foundlogo\]", "")
t = replacetext(t, "\[ccalogo\]", "")
t = replacetext(t, "\[sierralogo\]", "")
+ t = replacetext(t, "\[saarelogo\]", "")
+ t = replacetext(t, "\[pcrclogo\]", "")
+ t = replacetext(t, "\[zpcilogo\]", "")
+ t = replacetext(t, "\[hegemonylogo\]", "")
+ t = replacetext(t, "\[conventlogo\]", "")
+ t = replacetext(t, "\[leaguelogo\]", "")
+ t = replacetext(t, "\[ouerelogo\]", "")
+ t = replacetext(t, "\[terstenlogo\]", "")
// [/SIERRA-ADD]
t = replacetext(t, "\[editorbr\]", "")
return t
@@ -506,6 +514,14 @@
t = replacetext(t, "", "\[foundlogo\]" )
t = replacetext(t, "", "\[ccalogo\]" )
t = replacetext(t, "", "\[sierralogo\]" )
+ t = replacetext(t, "", "\[saarelogo\]")
+ t = replacetext(t, "", "\[pcrclogo\]")
+ t = replacetext(t, "", "\[zpcilogo\]")
+ t = replacetext(t, "", "\[hegemonylogo\]")
+ t = replacetext(t, "", "\[conventlogo\]")
+ t = replacetext(t, "", "\[leaguelogo\]")
+ t = replacetext(t, "", "\[ouerelogo\]")
+ t = replacetext(t, "", "\[terstenlogo\]")
// [/SIERRA-ADD]
t = replacetext(t, "", "\[field\]")
t = replacetext(t, "R E D A C T E D", "\[redacted\]")
diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm
index 7da1a0011ef02..a89140eb17853 100644
--- a/code/modules/client/client_procs.dm
+++ b/code/modules/client/client_procs.dm
@@ -407,6 +407,14 @@
'html/images/foundlogo.png',
'html/images/ccalogo.png',
'html/images/sierralogo.png',
+ 'html/images/saarelogo.png',
+ 'html/images/pcrclogo.png',
+ 'html/images/zpcilogo.png',
+ 'html/images/heglogo.png',
+ 'html/images/convlogo.png',
+ 'html/images/leaguelogo.png',
+ 'html/images/ouerelogo.png',
+ 'html/images/terstenlogo.png',
// [/SIERRA-ADD]
)
addtimer(new Callback(src, .proc/after_send_resources), 1 SECOND)
diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm
index f202a24b027db..761eff2eebaa3 100644
--- a/code/modules/clothing/head/jobs.dm
+++ b/code/modules/clothing/head/jobs.dm
@@ -99,17 +99,29 @@
icon_state = "beret"
slot_flags = SLOT_HEAD | SLOT_BELT
body_parts_covered = 0
+ // [SIERRA-ADD] - RESOMI
+ var/base_sprite_sheets = list()
+ // [/SIERRA-ADD]
+
+// [SIERRA-ADD] - RESOMI
+/obj/item/clothing/head/beret/Initialize()
+ . = ..()
+ base_sprite_sheets = sprite_sheets
+// [/SIERRA-ADD]
/obj/item/clothing/head/beret/equipped(mob/user, slot)
switch(slot)
if(slot_belt)
sprite_sheets = list()
if(slot_head)
- sprite_sheets = list(
- SPECIES_VOX = 'icons/mob/species/vox/onmob_head_vox.dmi',
- SPECIES_UNATHI = 'icons/mob/species/unathi/onmob_head_unathi.dmi',
- SPECIES_NABBER = 'icons/mob/species/nabber/onmob_head_gas.dmi'
- )
+ // [SIERRA-EDIT] - RESOMI
+ //sprite_sheets = list( // SIERRA-EDIT - ORIGINAL
+ // SPECIES_VOX = 'icons/mob/species/vox/onmob_head_vox.dmi', // SIERRA-EDIT - ORIGINAL
+ // SPECIES_UNATHI = 'icons/mob/species/unathi/onmob_head_unathi.dmi', // SIERRA-EDIT - ORIGINAL
+ // SPECIES_NABBER = 'icons/mob/species/nabber/onmob_head_gas.dmi' // SIERRA-EDIT - ORIGINAL
+ // ) // SIERRA-EDIT - ORIGINAL
+ sprite_sheets = base_sprite_sheets
+ // [/SIERRA-EDIT]
return ..()
/obj/item/clothing/head/beret/sec
diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm
index ff15ebad2f3ec..7082f705d8e75 100644
--- a/code/modules/clothing/masks/miscellaneous.dm
+++ b/code/modules/clothing/masks/miscellaneous.dm
@@ -241,6 +241,9 @@
icon_state = initial(icon_state)
sprite_sheets = list(
SPECIES_VOX = 'icons/mob/species/vox/onmob_mask_vox.dmi',
+ // [SIERRA-ADD] - RESOMI
+ SPECIES_RESOMI = 'mods/resomi/icons/clothing/onmob_mask_resomi.dmi',
+ // [/SIERRA-ADD]
SPECIES_UNATHI = 'icons/mob/species/unathi/onmob_mask_unathi.dmi'
)
if(slot_head)
@@ -249,6 +252,9 @@
icon_state = "[initial(icon_state)]_up"
sprite_sheets = list(
SPECIES_VOX = 'icons/mob/species/vox/onmob_head_vox.dmi',
+ // [SIERRA-ADD] - RESOMI
+ SPECIES_RESOMI = 'mods/resomi/icons/clothing/onmob_head_resomi.dmi',
+ // [/SIERRA-ADD]
SPECIES_UNATHI = 'icons/mob/species/unathi/onmob_head_unathi.dmi'
)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 34e333d3183bc..cdd66fa7e15bc 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -1576,26 +1576,67 @@
set category = "IC"
species.toggle_stance(src)
+// [SIERRA-ADD] - RESOMI
+#define PULSE_NUMBER_NONE 0
+#define PULSE_NUMBER_SLOW 50
+#define PULSE_NUMBER_NORM 75
+#define PULSE_NUMBER_FAST 105
+#define PULSE_NUMBER_2FAST 140
+#define PULSE_NUMBER_THREADY PULSE_MAX_BPM
+// [/SIERRA-ADD]
+
// Similar to get_pulse, but returns only integer numbers instead of text.
/mob/living/carbon/human/proc/get_pulse_as_number()
var/obj/item/organ/internal/heart/heart_organ = internal_organs_by_name[BP_HEART]
+
+ // [SIERRA-EDIT] - RESOMI
+
+ //if(!heart_organ) // SIERRA-EDIT - ORIGINAL
+ // return 0 // SIERRA-EDIT - ORIGINAL
+ //switch(pulse()) // SIERRA-EDIT - ORIGINAL
+ // if(PULSE_NONE) // SIERRA-EDIT - ORIGINAL
+ // return 0 // SIERRA-EDIT - ORIGINAL
+ // if(PULSE_SLOW) // SIERRA-EDIT - ORIGINAL
+ // return rand(40, 60) // SIERRA-EDIT - ORIGINAL
+ // if(PULSE_NORM) // SIERRA-EDIT - ORIGINAL
+ // return rand(60, 90) // SIERRA-EDIT - ORIGINAL
+ // if(PULSE_FAST) // SIERRA-EDIT - ORIGINAL
+ // return rand(90, 120) // SIERRA-EDIT - ORIGINAL
+ // if(PULSE_2FAST) // SIERRA-EDIT - ORIGINAL
+ // return rand(120, 160) // SIERRA-EDIT - ORIGINAL
+ // if(PULSE_THREADY) // SIERRA-EDIT - ORIGINAL
+ // return PULSE_MAX_BPM // SIERRA-EDIT - ORIGINAL
+ //return 0 // SIERRA-EDIT - ORIGINAL
+
if(!heart_organ)
- return 0
+ return PULSE_NUMBER_NONE
+ var/raw_pulse_number
switch(pulse())
if(PULSE_NONE)
- return 0
+ return PULSE_NUMBER_NONE
if(PULSE_SLOW)
- return rand(40, 60)
+ raw_pulse_number = PULSE_NUMBER_SLOW
if(PULSE_NORM)
- return rand(60, 90)
+ raw_pulse_number = PULSE_NUMBER_NORM
if(PULSE_FAST)
- return rand(90, 120)
+ raw_pulse_number = PULSE_NUMBER_FAST
if(PULSE_2FAST)
- return rand(120, 160)
+ raw_pulse_number = PULSE_NUMBER_2FAST
if(PULSE_THREADY)
- return PULSE_MAX_BPM
- return 0
+ return PULSE_NUMBER_THREADY
+ return ((raw_pulse_number * (2 - species.blood_volume / SPECIES_BLOOD_DEFAULT)) + (raw_pulse_number * rand(-0.2, 0.2)))
+
+ // [/SIERRA-EDIT]
+
+// [SIERRA-ADD] - RESOMI
+#undef PULSE_NUMBER_NONE
+#undef PULSE_NUMBER_SLOW
+#undef PULSE_NUMBER_NORM
+#undef PULSE_NUMBER_FAST
+#undef PULSE_NUMBER_2FAST
+#undef PULSE_NUMBER_THREADY
+// [/SIERRA-ADD]
//generates realistic-ish pulse output based on preset levels as text
/mob/living/carbon/human/proc/get_pulse(method) //method 0 is for hands, 1 is for machines, more accurate
diff --git a/code/modules/organs/external/_external_icons.dm b/code/modules/organs/external/_external_icons.dm
index 0f241a2fdf89c..f2dea091eb17d 100644
--- a/code/modules/organs/external/_external_icons.dm
+++ b/code/modules/organs/external/_external_icons.dm
@@ -184,6 +184,9 @@ var/global/list/limb_icon_cache = list()
if(!limb_icon_cache[cache_key])
var/icon/I = icon(species.get_icobase(owner), "[icon_name]_[body_hair]")
I.Blend(rgb(h_col[1],h_col[2],h_col[3]), ICON_ADD)
+// [SIERRA-ADD] - RESOMI - BUGFIX FOR UPSTREAM
+ limb_icon_cache[cache_key] = I
+// [/SIERRA-ADD]
mob_icon.Blend(limb_icon_cache[cache_key], ICON_OVERLAY)
//Fix leg layering here
diff --git a/html/changelog.html b/html/changelog.html
index 2954d7aa2e9fb..58fe174b8e73c 100644
--- a/html/changelog.html
+++ b/html/changelog.html
@@ -28,401 +28,18 @@
Sierra SS13
-->
-
08.03 - 2024
-
Обновления Gy1ta23:
+
23.04 - 2024
+
Обновления Daeberdir, UEDHighCommand:
-
chemistry has an air alarm
+
Портирована раса резоми с Инфинити
-
Обновления Lexanx:
-
-
Обновления ВашНикнейм:
-
-
Фикс доступа ИИ к некоторым вещам неподключенным к сети.
-
Добавлена возможность пользоваться терминалом через консоли за ИИ
-
-
-
03.03 - 2024
-
Обновления Gy1ta23:
-
-
Обновления rootoo807:
-
-
Money in jars has an icon.
-
Monkey cubes (and variants) spawn a monkey (or variant) when eaten. Corpse cubes do not and just cause massive anatomical damage.
-
Pizza can no longer be put into a pizza box that's already full of pizza. Custom pizzas fit into pizza boxes.
-
Adds some missing icons for clothing on Unathi (primarily aviators).
-
Algae and gukhe use their original sprites and have new seed packets.
-
-
-
28.02 - 2024
-
Обновления Dimach:
-
-
Add xeno whitelist panel, add FBP whitelist
-
-
Обновления Lexanx:
-
-
Орган Охлаждения для ИПС
-
Добавлен внешний охладитель для ИПС
-
-
Обновления LordNest:
-
-
Добавил в игру авейку пси-культистов, шифрующихся под Альянс Фронтира
-
Новая карта "Утилизационное судно класса Гиена"
-
-
Обновления Mucker:
-
-
Fixed not being able to teleport objects at or over max range.
-
-
-
22.02 - 2024
-
Обновления JoeyNosegay:
-
-
Added TC and FPE outfits and accessories.
-
-
Обновления LordNest:
-
-
Новые иконки и айтем стейты для: электролазер карабина, тазерного ружья, револьвера фонда имени тов. Кухулина,
-
-
Обновления SegaCD:
-
-
Added black carpet and a supply entry to order it.
-
-
Обновления emmanuelbassil:
-
-
Fixes being unable to bash off a cover off a broken APC
-
APCs now have standardized health
-
-
Обновления papismirnov:
-
-
Adds the portable radio jammer to the antag uplink
-
-
-
17.02 - 2024
-
Обновления LordNest:
-
-
Fixed missing icon for alien power cell
-
Added new sprites for rig modules: cooling unit and powerfist by Hawwar
-
-
Обновления Noreaus:
-
-
changes the taste of DnB from sassafras (wrong) to fruit and aniseed (correct)
-
-
Обновления emmanuelbassil:
-
-
Can now fill fire extinguishers using beakers. Can effectively fill them with any liquid.
-
Fire extinguishers have a chance to break when firing any liquid that isn't water. They cannot be repaired.
-
Borgs can repair broken fire extinguishers at the recharging station.
-
-
-
15.02 - 2024
-
Обновления KandJX:
-
-
Пофикшенно оторбражение горящих газов при низком количестве молей. Решение портировано с WyccBay.
-
-
-
14.02 - 2024
-
Обновления KandJX:
-
-
Переработка дорм
-
Переработка сауны
-
Решение ишуев по карте
-
СЕ выдан раундстартом пояс с Хайтир инструментами
-
Утилити пояс теперь вмещает в себя РЦД и ПейнтСпреер.
-
Добавлена карта авейдереликта "Пиратской Шахты"
-
Порт пропов для сауны от ДаркСовета с проекта ФайнлДестинейшн
-
-
Обновления LordNest:
-
-
Портировал с даунстрима фикс граба самого себя от larentoun
-
Пофиксил отсутствие протезов НТ на экране выбора (их украли таяра)
-
Починил обозначение новых культур
-
-
Обновления PapiSmirnov:
-
-
subdermal armor will now actually apply it's damage resistances.
-
-
-
13.02 - 2024
-
Обновления LordNest:
-
-
Fixed absence of capitalized cyrillic prefixes for radio usage.
-
-
Обновления Titanized:
-
-
Increases the maximum complex devices skill level to 'experienced' for the CE.
-
-
Обновления ddorou:
-
-
Изменил максимальный размер предметов для рюкзака с LARGE на NORMAL
-
-
-
07.02 - 2024
-
Обновления LordNest:
-
-
Humans can choke (use emote) now properly.
-
-
Обновления Spookerton:
-
-
The potato reactor and reactor reactor correctly accept vodka and coolant as coolants respectively.
-
-
Обновления emmanuelbassil:
-
-
As part of the damage standardization, can now damage closets/crates with melee attacks.
-
Damaging a closet also relays some damage to whatever's inside.
-
Secure closets/crates are tougher than regular closets/crates.
-
-
-
06.02 - 2024
-
Обновления LordNest:
-
-
Увеличил скорость пулям
-
Добавил новый звук
-
Добавил силген. Занерфил его насколько смог.
-
Добавил мультиметр. Занерфил его насколько смог.
-
Добавил новую иконку переноски силгена от которой Вольфора хватил припадок
-
Добавил силген и мультиметр на карту. Удалил окно между РД и СМО опять. Канджи, только попробуй.
-
-
-
03.02 - 2024
-
Обновления Nyvrem:
-
-
Vox have had errant thoughts of excessive identity pruned from their mindscapes. Again.
-
-
Обновления Sbotkin:
-
-
Fleet medical fatigues no longer spawn with an armband.
-
The end-of-round vote now correctly displays extend time.
-
-
-
02.02 - 2024
-
Обновления Mucker:
-
-
Brought back the good skybox.
-
-
Обновления SuhEugene:
-
-
Отключил Onyx лодаут, который возможно и создавал большие лаги сервера.
-
-
-
31.01 - 2024
-
Обновления emmanuelbassil:
-
-
Unathi no longer get as much nutrition from non-meat items
-
-
-
30.01 - 2024
-
Обновления Rockton:
-
-
Adds Komarov overmap placeholder sprites for admin use
-
-
Обновления SuhEugene:
-
-
-
29.01 - 2024
-
Обновления LordNest:
-
-
Мыши больше не вываливаются из труб
-
Автохисс починил
-
Станбатону иконки синие приделал
-
Удалил дубли причёсок
-
Вернул Рекса
-
-
Обновления emmanuelbassil:
-
-
Radial menus now properly work when inside an exosuit
-
-
-
28.01 - 2024
-
Обновления Sbotkin:
-
-
The "Status of the Fleets" is moved to the Bridge storage.
-
-
-
27.01 - 2024
-
Обновления KandJX:
-
-
-
26.01 - 2024
-
Обновления LordNest:
-
-
Сделал новые эмоуты (портировал с Пары) ящерам
-
Портировал звуки Нелли для ящеров
-
-
-
24.01 - 2024
-
Обновления Mucker:
-
-
Robots can no longer roll traitor.
-
Fixed shuttle docking issue.
-
Fixed projector slides requiring you to be next to them to properly examine what they're projecting.
-
-
Обновления Sbotkin:
-
-
NTNet IDs are randomized on the mapped NTNet devices.
-
-
Обновления Slywater:
-
-
Added a changelog editing system that should cause fewer conflicts and more accurate timestamps.
-
Killed innocent kittens.
-
Zombies can pry open emergency shutters.
-
Zombies can no longer delete machinery like shuttle consoles.
-
Infected NPCs have clothes once again.
-
Monkey-like alien fauna can be infected with black goo.
-
Black goo infection now preserves hair.
-
Re-instated post-mortem infection (with a lower chance of exposure).
-
Nerfed zombie knock-down chance.
-
Nerfed zombie brute & burn resistance.
-
Decreased overall bite infection chance.
-
Increased zombie attack speed.
-
Increased the likelihood for zombies to break out of grabs.
-
Reduces dialysis effectiveness for removing black goo.
-
Removed the hulk mutation.
-
Ghosted players can now possess zombie NPCs, either by dragging their ghost onto them, or by clicking "Join as Zombie" in the Ghost tab.
-
-
Обновления emmanuelbassil:
-
-
Using a sharp tool to engrave graffiti on floors/walls now properly leaves fingerprints.
-
Doors with exposed wires no longer open when trying to access wires with empty hand.
-
Attacking simulated turfs and objects with punches now have the same behavior. Any turf or non-item object with a healthbar can be attacked; if minimum damage threshold is not reached will damage your hand.
-
-
-
23.01 - 2024
Обновления UEDHighCommand:
-
Портированы расовые спрайты унати, скреллов для большинства войдсьютов
-
Добавлены расовые спрайты унати, скреллов и таяра для ИКС ЛЭКа
-
Унати, скреллы и таяра теперь могут пользоваться ИКС ЛЭКа
-
Риот-скафандр СБ возвращен в меню Security suit cycler
-
-
-
21.01 - 2024
-
Обновления Mucker:
-
-
The shuttles on the Skrell and Vox ships are no longer broken and can jump again.
-
Fixed players being put in space sometimes when joining the Skrell or Vox submap.
-
-
Обновления SierraKomodo:
-
-
Added new generic memos about explorer and fleet rank abbreviations.
-
-
Обновления emmanuelbassil:
-
-
RCD now properly builds machine/computer frames
-
-
-
19.01 - 2024
-
Обновления LordNest:
-
-
Fixed graffiti and pickaxe icons
-
-
Обновления emmanuelbassil:
-
-
Fixes switching medigel scanner modes on mechs.
-
Fixes being able to place item into locked briefcases
-
-
-
16.01 - 2024
-
Обновления LordNest:
-
-
Починил цветам свет. Но это не точно.
-
Вернул из небытия наборы наёмников. Только будьте осторожны. Они теперь в ящиках, ибо юнит тесты
-
Поставил инфотехнику отдельный новый прикольный шкаф
-
Добавил наёмникам набор нетраннера. Использовать на свой страх и риск.
-
Включил добавленное уже сто лет назад Respawn as Human. Теперь оно Respawn as Self
-
-
Обновления Mucker:
-
-
Fixed Hullbreaker lasers not penetrating solid turfs.
-
Added an 'Interlude' that can happen when doing long-range teleports. Or if you're just in the wrong place at the wrong time.
-
Added more emotes for bluespace entities.
-
-
Обновления SuhEugene:
-
-
Bullets no longer reach hostage when its grabber is turned away.
-
-
Обновления emmanuelbassil:
-
-
Vending machines are now destructible. They have a chance to start speaking, randomly have wires cut, or completely malfunction as they are more and more damaged.
-
Vending machines with the speaker enabled speak a slogan every two minutes instead of 10. Speaker disabled by default.
-
-
-
15.01 - 2024
-
Обновления LordNest:
-
-
Tacticool turtleneck rolled sleeves now have their own sprite.
-
Flamethrower now have normal sprite
-
Exosuit interface now slightly upper and you can see your glasses, while piloting mecha
-
Disposals now have nano-ui styled interface
-
Added hardsuit-mounted powerfist for ICCGN ninja suit.
-
-
Обновления Rockton:
-
-
Fixes the ICGNV Hound's O2 Canister.
-
-
-
12.01 - 2024
-
Обновления LordNest:
-
-
Hotfixed some unit tests fails for biodome
-
У ИИ снова есть доступы
-
ИИ больше не может видеть сквозь темонту (лежать+известно что)
-
Заменил скреллам глаза на каноничные Чёрные Глаза
-
Починил турели
-
Стрельбу вернул вам с лайв билда
-
-
Обновления Mucker:
-
-
Removed the e-gun from the flying borg module's emag/antag tools.
-
-
-
10.01 - 2024
-
Обновления LordNest:
-
-
Added new sprites for fossils
-
-
-
09.01 - 2024
-
Обновления SierraKomodo:
-
-
Fixes borgs having broken and weirdly cached/synchronized eye overlays that had no color.
-
Fixes ironing boards and irons not de-wrinkling clothing.
-
Fixes robotics fabricator machines not properly animating while printing.
-
Fixed cases where decapitated heads couldn't be opened or have their internal parts removed using tools.
-
-
-
08.01 - 2024
-
Обновления LordNest:
-
-
Added some new templates for exoplanets
-
Fixed skrellian pistol sprite and sandstone wall sprite
-
-
Обновления SierraKomodo:
-
-
Punitelli now spawns in various random rooms instead of in maintenance and other dangerous places.
-
On-mob sprites for energy shields now properly update when the shield turns off.
-
Lights, switches, and air alarms now use emissive overlays.
-
The passenger role now has unlimited slots. (Это на Торче, так что не расслабляйтесь, Сьерровцы)
-
-
Обновления emmanuelbassil:
-
-
Fixes in-hand pipes disappearing when clicking on anchored down pipes.
-
Hardsuit mounted flash works properly again
-
Status displays are now destructible.
-
Can repair destroyed status displays with two sheets of glass.
-
-
-
07.01 - 2024
-
Обновления Mucker:
-
-
Removed Bearcat's holopad and distress beacon. Added a radio beacon circuit board and a RCD.
-
Reduced Survival Pod's spawn rate so Exploration isn't constantly stuck doing rescues.
+
Добавлены логотипы ЧВК SAARE ([saarelogo]), PCRC ([pcrclogo]), ZPCI ([zpcilogo])
+
Добавлена символика фракций унати - Гегемонии ([hegemonylogo]), Конвента ([conventlogo]), Лиги ([leaguelogo]), Оуэра ([ouerelogo]), Терстенских кланов ([terstenlogo])
+
Новые эмоции унати теперь добавлены и для йоза'унати
+
Перенесена механика ядовитого укуса йоза'унати с Infinity
+
Добавлены расовые спрайты под унати для некоторых предметов из лодаута
diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml
index fbe6b2b671fc1..3841b54843923 100644
--- a/html/changelogs/.all_changelog.yml
+++ b/html/changelogs/.all_changelog.yml
@@ -23310,3 +23310,36 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY sierra_genchangelog.p
\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u0442\u0435\u0440\u043C\u0438\u043D\
\u0430\u043B\u043E\u043C \u0447\u0435\u0440\u0435\u0437 \u043A\u043E\u043D\u0441\
\u043E\u043B\u0438 \u0437\u0430 \u0418\u0418"
+2024-03-10:
+ KandJX:
+ - maptweak: "\u041C\u043D\u043E\u0436\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u044B\
+ \u0435 \u0444\u0438\u043A\u0441\u044B \u043A\u0430\u0440\u0442\u044B"
+2024-04-23:
+ Daeberdir, UEDHighCommand:
+ - rscadd: "\u041F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0430 \u0440\
+ \u0430\u0441\u0430 \u0440\u0435\u0437\u043E\u043C\u0438 \u0441 \u0418\u043D\u0444\
+ \u0438\u043D\u0438\u0442\u0438"
+ UEDHighCommand:
+ - imageadd: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u043B\u043E\
+ \u0433\u043E\u0442\u0438\u043F\u044B \u0427\u0412\u041A SAARE ([saarelogo]),\
+ \ PCRC ([pcrclogo]), ZPCI ([zpcilogo])"
+ - imageadd: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0430 \u0441\u0438\
+ \u043C\u0432\u043E\u043B\u0438\u043A\u0430 \u0444\u0440\u0430\u043A\u0446\u0438\
+ \u0439 \u0443\u043D\u0430\u0442\u0438 - \u0413\u0435\u0433\u0435\u043C\u043E\
+ \u043D\u0438\u0438 ([hegemonylogo]), \u041A\u043E\u043D\u0432\u0435\u043D\u0442\
+ \u0430 ([conventlogo]), \u041B\u0438\u0433\u0438 ([leaguelogo]), \u041E\u0443\
+ \u044D\u0440\u0430 ([ouerelogo]), \u0422\u0435\u0440\u0441\u0442\u0435\u043D\
+ \u0441\u043A\u0438\u0445 \u043A\u043B\u0430\u043D\u043E\u0432 ([terstenlogo])"
+ - soundadd: "\u041D\u043E\u0432\u044B\u0435 \u044D\u043C\u043E\u0446\u0438\u0438\
+ \ \u0443\u043D\u0430\u0442\u0438 \u0442\u0435\u043F\u0435\u0440\u044C \u0434\
+ \u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0438 \u0434\u043B\u044F \u0439\
+ \u043E\u0437\u0430'\u0443\u043D\u0430\u0442\u0438"
+ - rscadd: "\u041F\u0435\u0440\u0435\u043D\u0435\u0441\u0435\u043D\u0430 \u043C\u0435\
+ \u0445\u0430\u043D\u0438\u043A\u0430 \u044F\u0434\u043E\u0432\u0438\u0442\u043E\
+ \u0433\u043E \u0443\u043A\u0443\u0441\u0430 \u0439\u043E\u0437\u0430'\u0443\u043D\
+ \u0430\u0442\u0438 \u0441 Infinity"
+ - imageadd: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0440\u0430\
+ \u0441\u043E\u0432\u044B\u0435 \u0441\u043F\u0440\u0430\u0439\u0442\u044B \u043F\
+ \u043E\u0434 \u0443\u043D\u0430\u0442\u0438 \u0434\u043B\u044F \u043D\u0435\u043A\
+ \u043E\u0442\u043E\u0440\u044B\u0445 \u043F\u0440\u0435\u0434\u043C\u0435\u0442\
+ \u043E\u0432 \u0438\u0437 \u043B\u043E\u0434\u0430\u0443\u0442\u0430"
diff --git a/html/changelogs/AutoChangeLog-sierra-pr-1928.yml b/html/changelogs/AutoChangeLog-sierra-pr-1928.yml
deleted file mode 100644
index 9bdb28f6384fc..0000000000000
--- a/html/changelogs/AutoChangeLog-sierra-pr-1928.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: KandJX
-changes:
- - {maptweak: Множественные фиксы карты}
-delete-after: true
diff --git a/html/images/convlogo.png b/html/images/convlogo.png
new file mode 100644
index 0000000000000..3e99ca7cb606b
Binary files /dev/null and b/html/images/convlogo.png differ
diff --git a/html/images/heglogo.png b/html/images/heglogo.png
new file mode 100644
index 0000000000000..c1e001fe48ce7
Binary files /dev/null and b/html/images/heglogo.png differ
diff --git a/html/images/leaguelogo.png b/html/images/leaguelogo.png
new file mode 100644
index 0000000000000..e8e4c12d5e7ce
Binary files /dev/null and b/html/images/leaguelogo.png differ
diff --git a/html/images/ouerelogo.png b/html/images/ouerelogo.png
new file mode 100644
index 0000000000000..669e369be065a
Binary files /dev/null and b/html/images/ouerelogo.png differ
diff --git a/html/images/pcrclogo.png b/html/images/pcrclogo.png
new file mode 100644
index 0000000000000..05622a80db4cf
Binary files /dev/null and b/html/images/pcrclogo.png differ
diff --git a/html/images/saarelogo.png b/html/images/saarelogo.png
new file mode 100644
index 0000000000000..bc4f046e668ed
Binary files /dev/null and b/html/images/saarelogo.png differ
diff --git a/html/images/terstenlogo.png b/html/images/terstenlogo.png
new file mode 100644
index 0000000000000..1736e48e8bbb9
Binary files /dev/null and b/html/images/terstenlogo.png differ
diff --git a/html/images/zpcilogo.png b/html/images/zpcilogo.png
new file mode 100644
index 0000000000000..806f570008bcd
Binary files /dev/null and b/html/images/zpcilogo.png differ
diff --git a/maps/sierra/job/jobs.dm b/maps/sierra/job/jobs.dm
index b68fc015f0423..f7eb178c15a23 100644
--- a/maps/sierra/job/jobs.dm
+++ b/maps/sierra/job/jobs.dm
@@ -18,16 +18,14 @@
/datum/job/qm,
/datum/job/senior_engineer, /datum/job/senior_doctor,
/datum/job/senior_scientist, /datum/job/security_assistant
- )
+ ),
+ /datum/species/resomi = list(
+ HUMAN_ONLY_JOBS, /datum/job/officer, /datum/job/exploration_leader,
+ /datum/job/warden, /datum/job/chief_engineer, /datum/job/rd,
+ /datum/job/iaa, /datum/job/security_assistant
+ )
)
- // SIERRA TODO: Добавить на сьерру рякалок
- // /datum/species/resomi = list(
- // HUMAN_ONLY_JOBS, /datum/job/officer, /datum/job/exploration_leader,
- // /datum/job/warden, /datum/job/chief_engineer, /datum/job/rd,
- // /datum/job/iaa, /datum/job/security_assistant
- // )
-
allowed_jobs = list(
/datum/job/captain, /datum/job/hop, /datum/job/rd, /datum/job/cmo, /datum/job/chief_engineer, /datum/job/hos,
/datum/job/iaa, /datum/job/adjutant,
diff --git a/maps/sierra/sierra.dm b/maps/sierra/sierra.dm
index 9731f78f1d391..bcadaaedd2aad 100644
--- a/maps/sierra/sierra.dm
+++ b/maps/sierra/sierra.dm
@@ -187,6 +187,7 @@
#include "../../mods/jukebox_tapes/_jukebox_tapes.dme"
#include "../../mods/legalese_language/_legalese.dme"
#include "../../mods/petting_zoo/_petting_zoo.dme"
+ #include "../../mods/resomi/_resomi.dme"
#include "../../mods/screentips/_screentips.dme"
#include "../../mods/tajara/_tajara.dme"
#include "../../mods/sauna_props/_sauna_props.dme"
@@ -196,7 +197,6 @@
// Keep them in ascending alphabetical order too, please
// #include "../../mods/atmos_ret_field/_atm_ret_field.dme"
- // #include "../../mods/resomi/_resomi.dme"
// Почему UNUSED MODS стоит хранить?
// Потому что никто не проверяет использование тех или иных файлов
diff --git a/mods/ai/code/ai.dm b/mods/ai/code/ai.dm
index 4f456c33e16b3..d4adf9ae7279e 100644
--- a/mods/ai/code/ai.dm
+++ b/mods/ai/code/ai.dm
@@ -15,6 +15,7 @@
. = ..()
add_language(LANGUAGE_SIIK_MAAS, TRUE)
add_language(LANGUAGE_LEGALESE, TRUE)
+ add_language(LANGUAGE_RESOMI, TRUE)
// New verbs
diff --git a/mods/emote_panel/README.md b/mods/emote_panel/README.md
index 9cb12d9866181..db97bf0c1ebd5 100644
--- a/mods/emote_panel/README.md
+++ b/mods/emote_panel/README.md
@@ -3,7 +3,9 @@
- https://github.com/SierraBay/SierraBay12/pull/1087
- https://github.com/SierraBay/SierraBay12/pull/1815
+- https://github.com/SierraBay/SierraBay12/pull/1856
- https://github.com/SierraBay/SierraBay12/pull/1927
+
+
+
+## Резоми
+
+ID мода: RESOMI
+
+
+### Описание мода
+
+Ря!
+- Портирует расу резоми с Infinity.
+
+
+### Изменения *кор кода*
+
+- `code/modules/client/preference_setup/loadout/lists/misc.dm`
+ - `/datum/gear/plush_toy/New()`
+- `code/modules/organs/external/_external_icons.dm`
+ - `/obj/item/organ/external/on_update_icon()`
+- `mods/resomi/code/overrides.dm`
+ - `/mob/living/carbon/human/get_pulse_as_number()`
+- `code/modules/clothing/head/jobs.dm`
+ - `/obj/item/clothing/head/beret`
+ - `/obj/item/clothing/head/beret/Initialize()`
+ - `/obj/item/clothing/head/beret/equipped()`
+- `code/modules/clothing/masks/miscellaneous.dm`
+ - `/obj/item/clothing/mask/bandana/equipped()`
+
+
+
+### Оверрайды
+
+- `Отсутствуют`
+
+
+
+### Дефайны
+
+- `code/__defines/~mods/~master_defines.dm`:
+ - `SPECIES_RESOMI`
+ - `LANGUAGE_RESOMI`
+- `mods/resomi/code/datum/_defines.dm`:
+ - `CULTURE_RESOMI_EREMUS`
+ - `CULTURE_RESOMI_ASRANDA`
+ - `CULTURE_RESOMI_REFUGEE`
+ - `CULTURE_RESOMI_NEWGENERATION`
+ - `CULTURE_RESOMI_LOSTCOLONYRICH`
+ - `CULTURE_RESOMI_LOSTCOLONYPOOR`
+ - `CULTURE_RESOMI_SKRELL`
+ - `HOME_SYSTEM_RESOMI_BIRDCAGE`
+ - `HOME_SYSTEM_RESOMI_EREMUS`
+ - `HOME_SYSTEM_RESOMI_ASRANDA`
+ - `HOME_SYSTEM_RESOMI_SAVEEL`
+ - `HOME_SYSTEM_RESOMI_LOST_COLONY`
+ - `HOME_SYSTEM_RESOMI_REFUGEE_COLONY`
+ - `HOME_SYSTEM_RESOMI_HOMELESS`
+ - `HOME_SYSTEM_RESOMI_IMPER_COLONY`
+ - `HOME_SYSTEM_RESOMI_RESOBALAK`
+ - `RELIGION_RESOMI_CHOSEN`
+ - `RELIGION_RESOMI_EMPEROR`
+ - `RELIGION_RESOMI_MOUNTAIN`
+ - `RELIGION_RESOMI_SKIES`
+
+
+### Используемые файлы, не содержащиеся в модпаке
+
+- `Отсутствуют`
+
+
+### Авторы:
+
+LordNest
+SurEugene
+Daeberdir
+UEDHighCommand
+
diff --git a/mods/resomi/_resomi.dm b/mods/resomi/_resomi.dm
index 4aee8166d2d08..6004765f2ca58 100644
--- a/mods/resomi/_resomi.dm
+++ b/mods/resomi/_resomi.dm
@@ -1,2 +1,2 @@
/singleton/modpack/resomi
- name = "Resomi"
+ name = "Resomi Content"
diff --git a/mods/resomi/_resomi.dme b/mods/resomi/_resomi.dme
index fb86c78943c1d..4e17cb237b329 100644
--- a/mods/resomi/_resomi.dme
+++ b/mods/resomi/_resomi.dme
@@ -2,19 +2,23 @@
#define MODPACK_RESOMI
#include "_resomi.dm"
-
-#include "code/gear.dm"
-#include "code/language.dm"
#include "code/unit_tests.dm"
-
+#include "code/body/abilities.dm"
+#include "code/body/emotes.dm"
+#include "code/body/organs.dm"
+#include "code/clothing/void/rigs.dm"
#include "code/clothing/clothing.dm"
#include "code/clothing/glasses.dm"
#include "code/clothing/misc.dm"
+#include "code/clothing/shoes.dm"
#include "code/clothing/suits.dm"
#include "code/clothing/under.dm"
-
-#include "code/datum/body/organs.dm"
-#include "code/datum/culture/resomi_culture.dm"
+#include "code/datum/_defines.dm"
+#include "code/datum/body.dm"
+#include "code/datum/gear.dm"
+#include "code/datum/language.dm"
+#include "code/datum/misc.dm"
+#include "code/datum/resomi_culture.dm"
#include "code/datum/species.dm"
#endif
diff --git a/mods/resomi/code/datum/body/organs.dm b/mods/resomi/code/body/abilities.dm
similarity index 52%
rename from mods/resomi/code/datum/body/organs.dm
rename to mods/resomi/code/body/abilities.dm
index b0dc6c9306fa7..83763847789b0 100644
--- a/mods/resomi/code/datum/body/organs.dm
+++ b/mods/resomi/code/body/abilities.dm
@@ -1,53 +1,3 @@
-
- // //
- //EXTERNAL RESOMI ORGANS//
- // //
-
-/obj/item/organ/external/foot/resomi
- body_hair = "feathers"
-
-/obj/item/organ/external/foot/right/resomi
- body_hair = "feathers"
-
-/obj/item/organ/external/hand/resomi
- body_hair = "feathers"
-
-/obj/item/organ/external/hand/right/resomi
- body_hair = "feathers"
-
- // //
- //INTERNAL RESOMI ORGANS//
- // //
-
-/obj/item/organ/internal/kidneys/resomi
- parent_organ = BP_CHEST
-
-/obj/item/organ/internal/liver/resomi
- parent_organ = BP_CHEST
-
-/obj/item/organ/internal/eyes/resomi
- icon = 'packs/infinity/icons/mob/human_races/species/resomi/eyes.dmi'
- eye_icon = 'packs/infinity/icons/mob/human_races/species/resomi/eyes.dmi'
- icon_state = "eyes_resomi"
-
- // //
- // PROSTHETIC RESOMI ORGANS //
- // //
-
-/datum/robolimb/resomi
- company = "Small prosthetic"
- desc = "This prosthetic is small and fit for nonhuman proportions."
- icon = 'packs/infinity/icons/mob/human_races/cyberlimbs/resomi/resomi_main.dmi'
- species_cannot_use = list(SPECIES_ADHERENT, SPECIES_YEOSA, SPECIES_UNATHI, SPECIES_NABBER, SPECIES_DIONA)
- restricted_to = list(SPECIES_RESOMI)
- allowed_bodytypes = list(SPECIES_RESOMI)
- applies_to_part = list(BP_L_ARM, BP_R_ARM, BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT, BP_L_HAND, BP_R_HAND)
-
-
- // //
- // RESOMI ABILITY //
- // //
-
/mob/living/proc/toggle_pass_table()
set category = "Abilities"
set name = "Toggle Agility" //Dunno a better name for this. You have to be pretty agile to hop over stuff!!!
@@ -62,12 +12,12 @@
set category = "Abilities"
if(incapacitated())
- to_chat(src, "You need to recover before you can use this ability.")
+ to_chat(src, SPAN_WARNING("You need to recover before you can use this ability."))
return
if(is_deaf() || is_below_sound_pressure(get_turf(src)))
- to_chat(src, "You are for all intents and purposes currently deaf!")
+ to_chat(src, SPAN_WARNING("You are for all intents and purposes currently deaf!"))
return
- to_chat(src, "You take a moment to listen in to your environment...")
+ to_chat(src, SPAN_NOTICE("You take a moment to listen in to your environment..."))
if(do_after(src, delay = 5, do_flags = DO_DEFAULT & ~DO_USER_SAME_HAND))
var/heard_something = FALSE
for(var/mob/living/L in range(client.view, src))
@@ -82,7 +32,7 @@
ping_image.pixel_y = (T.y - src.y) * WORLD_ICON_SIZE
image_to(src, ping_image)
addtimer(new Callback(src, .proc/clear_sonar_effect, src.client, ping_image), 8)
- var/feedback = list("There are noises of movement ")
+ var/feedback = list("There are noises of movement ")
var/direction = get_dir(src, L)
if(direction)
feedback += "towards the [dir2text(direction)], "
@@ -99,12 +49,11 @@
feedback += "far away."
else // No need to check distance if they're standing right on-top of us
feedback += "right on top of you."
- feedback += ""
- to_chat(src, jointext(feedback,null))
+ to_chat(src, SPAN_NOTICE(jointext(feedback,null)))
if(!heard_something)
- to_chat(src, "You hear no movement but your own.")
+ to_chat(src, SPAN_NOTICE("You hear no movement but your own."))
else
- to_chat(src, "You need to stand still while you listen.")
+ to_chat(src, SPAN_NOTICE("You need to stand still while you listen."))
/mob/living/carbon/human/proc/clear_sonar_effect(client/C, image/I)
diff --git a/mods/resomi/code/body/emotes.dm b/mods/resomi/code/body/emotes.dm
new file mode 100644
index 0000000000000..43423e80e7985
--- /dev/null
+++ b/mods/resomi/code/body/emotes.dm
@@ -0,0 +1,21 @@
+// RESOMI EMOTIONS
+
+/singleton/emote/audible/chuckle/resomi
+ emote_sound = 'mods/resomi/sound/resomilaugh.ogg'
+ sounded_species = null
+
+/singleton/emote/audible/cough/resomi
+ emote_sound = 'mods/resomi/sound/resomicough.ogg'
+ sounded_species = null
+
+/singleton/emote/audible/laugh/resomi
+ emote_sound = 'mods/resomi/sound/resomilaugh.ogg'
+ sounded_species = null
+
+/singleton/emote/audible/scream/resomi
+ emote_sound = 'mods/resomi/sound/resomiscream.ogg'
+ sounded_species = null
+
+/singleton/emote/audible/sneeze/resomi
+ emote_sound = 'mods/resomi/sound/resomisneeze.ogg'
+ sounded_species = null
diff --git a/mods/resomi/code/body/organs.dm b/mods/resomi/code/body/organs.dm
new file mode 100644
index 0000000000000..deaa4e5bdf95a
--- /dev/null
+++ b/mods/resomi/code/body/organs.dm
@@ -0,0 +1,30 @@
+
+ // //
+ //EXTERNAL RESOMI ORGANS//
+ // //
+
+/obj/item/organ/external/foot/resomi
+ body_hair = "feathers"
+
+/obj/item/organ/external/foot/right/resomi
+ body_hair = "feathers"
+
+/obj/item/organ/external/hand/resomi
+ body_hair = "feathers"
+
+/obj/item/organ/external/hand/right/resomi
+ body_hair = "feathers"
+
+ // //
+ //INTERNAL RESOMI ORGANS//
+ // //
+
+/obj/item/organ/internal/kidneys/resomi
+ parent_organ = BP_CHEST
+
+/obj/item/organ/internal/liver/resomi
+ parent_organ = BP_CHEST
+
+/obj/item/organ/internal/eyes/resomi
+ icon = 'mods/resomi/icons/human_races/eyes.dmi'
+ eye_icon = 'mods/resomi/icons/human_races/eyes.dmi'
diff --git a/mods/resomi/code/clothing/accessories.dm.dm b/mods/resomi/code/clothing/accessories.dm.dm
deleted file mode 100644
index ba742c77a03c0..0000000000000
--- a/mods/resomi/code/clothing/accessories.dm.dm
+++ /dev/null
@@ -1,7 +0,0 @@
-//Resomi scarf
-/obj/item/clothing/accessory/scarf/resomi
- name = "small mantle"
- desc = "A stylish scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks."
- icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_accessories_resomi.dmi'
- icon_state = "small_mantle"
- species_restricted = list(SPECIES_RESOMI)
diff --git a/mods/resomi/code/clothing/misc.dm b/mods/resomi/code/clothing/misc.dm
index 8fc5c0f2faa29..443a990b7aa62 100644
--- a/mods/resomi/code/clothing/misc.dm
+++ b/mods/resomi/code/clothing/misc.dm
@@ -1,10 +1,3 @@
-//Resomi scarf
-/obj/item/clothing/accessory/scarf/resomi
- name = "small mantle"
- desc = "A stylish scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks."
- icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_accessories_resomi.dmi'
- icon_state = "small_mantle"
- species_restricted = list(SPECIES_RESOMI)
/*
/obj/item/clothing/mask/gas/explorer_resomi
@@ -18,367 +11,16 @@
sprite_sheets = list(SPECIES_RESOMI = CUSTOM_ITEM_MOB)
*/
-/obj/item/clothing/shoes/workboots/resomi
- icon_state = "resomi_workboots"
- icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_feet_resomi.dmi'
- item_state = "workboots"
- name = "small workboots"
- desc = "Small and tight shoes with an iron sole for those who work in dangerous area or hate their paws"
-
- w_class = ITEM_SIZE_SMALL
- species_restricted = list(SPECIES_RESOMI)
-
-/obj/item/clothing/shoes/workboots/resomi/New()
- ..()
- slowdown_per_slot[slot_shoes] = 0.3
-
-
-/obj/item/clothing/shoes/footwraps
- name = "cloth footwraps"
- desc = "A roll of treated canvas used for wrapping paws"
- icon_state = "clothwrap"
- icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_feet_resomi.dmi'
- item_state = "clothwrap"
- force = 0
- item_flags = ITEM_FLAG_SILENT
- w_class = ITEM_SIZE_SMALL
- species_restricted = list(SPECIES_RESOMI)
- drop_sound = 'sound/items/drop/cloth.ogg'
- pickup_sound = 'sound/items/pickup/cloth.ogg'
-
-/obj/item/clothing/shoes/footwraps/socks_resomi
- name = "koishi"
- desc = "Looks like socks but with toe holes and thick sole."
- icon_state = "socks"
- icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_feet_resomi.dmi'
- item_state = "socks"
-
-
-/obj/item/clothing/under/thermal
- name = "thermal suit"
- desc = "Gray thermal suit. Nothing interesting."
- icon = 'packs/infinity/icons/obj/clothing/obj_under.dmi'
- item_icons = list(slot_w_uniform_str = 'packs/infinity/icons/mob/onmob/onmob_under.dmi')
- icon_state = "gray_camo"
- item_state = "gray_camo"
- item_flags = ITEM_FLAG_THICKMATERIAL
- body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
- cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
- min_cold_protection_temperature = T0C - 75
- max_heat_protection_temperature = T0C + 50
- var/max_cooling = 1.2 // in degrees per second - probably don't need to mess with heat capacity here
- var/thermostat = T0C + 10
-
-
-/obj/item/clothing/under/thermal/resomi
- name = "small thermal suit"
- desc = "Looks like very small suit. For children or resomi? This thermal suit is black."
- icon_state = "thermores_1"
- item_state = "thermores_1"
- thermostat = T0C
- species_restricted = list(SPECIES_RESOMI)
- sprite_sheets = list(
- SPECIES_RESOMI = 'packs/infinity/icons/mob/onmob/onmob_under.dmi',
- )
-
-/obj/item/clothing/under/thermal/resomi/white
- desc = "Looks like very small suit. For children or resomi? This thermal suit is white. "
- icon_state = "thermores_2"
- item_state = "thermores_2"
-
-
-/datum/sprite_accessory/hair/resomi
- name = "Resomi Plumage"
- icon_state = "resomi_default"
- icon = 'packs/infinity/icons/mob/human_races/species/resomi/hair.dmi'
- species_allowed = list(SPECIES_RESOMI)
-
-/datum/sprite_accessory/hair/resomi/ears
- name = "Resomi Ears"
- icon_state = "resomi_ears"
-
-/datum/sprite_accessory/hair/resomi/excited
- name = "Resomi Spiky"
- icon_state = "resomi_spiky"
-
-/datum/sprite_accessory/hair/resomi/hedgehog
- name = "Resomi Hedgehog"
- icon_state = "resomi_hedge"
-
-/datum/sprite_accessory/hair/resomi/long
- name = "Resomi Unpruned"
- icon_state = "resomi_long"
-
-/datum/sprite_accessory/hair/resomi/sunburst
- name = "Resomi Sunburst"
- icon_state = "resomi_burst_short"
-
-/datum/sprite_accessory/hair/resomi/mohawk
- name = "Resomi Mohawk"
- icon_state = "resomi_mohawk"
-
-/datum/sprite_accessory/hair/resomi/pointy
- name = "Resomi Pointy"
- icon_state = "resomi_pointy"
-
-/datum/sprite_accessory/hair/resomi/upright
- name = "Resomi Upright"
- icon_state = "resomi_upright"
-
-/datum/sprite_accessory/hair/resomi/mane
- name = "Resomi Mane"
- icon_state = "resomi_mane"
-
-/datum/sprite_accessory/hair/resomi/mane_beardless
- name = "Resomi Large Ears"
- icon_state = "resomi_mane_beardless"
-
-/datum/sprite_accessory/hair/resomi/droopy
- name = "Resomi Droopy"
- icon_state = "resomi_droopy"
-
-/datum/sprite_accessory/hair/resomi/mushroom
- name = "Resomi Mushroom"
- icon_state = "resomi_mushroom"
-
-/datum/sprite_accessory/hair/resomi/twies
- name = "Resomi Twies"
- icon_state = "resomi_twies"
-
-/datum/sprite_accessory/hair/resomi/backstrafe
- name = "Resomi Backstrafe"
- icon_state = "resomi_backstrafe"
-
-/datum/sprite_accessory/hair/resomi/longway
- name = "Resomi Long way"
- icon_state = "resomi_longway"
-
-/datum/sprite_accessory/hair/resomi/notree
- name = "Resomi Tree"
- icon_state = "resomi_notree"
-
-/datum/sprite_accessory/hair/resomi/fluffymohawk
- name = "Resomi Fluffy Mohawk"
- icon_state = "resomi_fluffymohawk"
-
-// MARKINGS
-
-/datum/sprite_accessory/marking/resomi
- icon = 'packs/infinity/icons/mob/human_races/species/resomi/markings.dmi'
- species_allowed = list(SPECIES_RESOMI)
- do_coloration = TRUE
-
-/datum/sprite_accessory/marking/resomi/resomi_fluff
- name = "Resomi underfluff"
- icon_state = "resomi_fluff"
- body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_GROIN,BP_CHEST,BP_HEAD)
-
-/datum/sprite_accessory/marking/resomi/resomi_small_feathers
- name = "Resomi small wingfeathers"
- icon_state = "resomi_sf"
- body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_HAND,BP_R_HAND,BP_CHEST)
-
-
-/*
- * RESOMI SOL GOV UNDER
- */
-
-/obj/item/clothing/under/solgov/pt/expeditionary/resomi
- name = "small expeditionary pt smock"
- desc = "It looks fitted to nonhuman proportions."
- icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_under_resomi.dmi'
- item_icons = list('mods/resomi/icons/clothing/onmob_under_resomi.dmi')
- icon_state = "resomi_expeditionpt"
- worn_state = "resomi_expeditionpt"
- species_restricted = list(SPECIES_RESOMI)
- sprite_sheets = list(SPECIES_RESOMI = 'mods/resomi/icons/clothing/onmob_under_resomi.dmi')
-
-/obj/item/clothing/under/solgov/utility/expeditionary/resomi
- name = "small expeditionary uniform"
- desc = "It looks fitted to nonhuman proportions."
- icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_under_resomi.dmi'
- item_icons = list('mods/resomi/icons/clothing/onmob_under_resomi.dmi')
- icon_state = "resomi_blackutility"
- worn_state = "resomi_blackutility"
- species_restricted = list(SPECIES_RESOMI)
- sprite_sheets = list(SPECIES_RESOMI = 'mods/resomi/icons/clothing/onmob_under_resomi.dmi')
-
-/obj/item/clothing/under/solgov/utility/expeditionary/officer/resomi
- name = "small expeditionary officer's uniform"
- desc = "It looks fitted to nonhuman proportions."
- icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_under_resomi.dmi'
- item_icons = list('mods/resomi/icons/clothing/onmob_under_resomi.dmi')
- icon_state = "resomi_blackutility_com"
- worn_state = "resomi_blackutility_com"
- species_restricted = list(SPECIES_RESOMI)
- sprite_sheets = list(SPECIES_RESOMI = 'mods/resomi/icons/clothing/onmob_under_resomi.dmi')
- accessories = list(/obj/item/clothing/accessory/solgov/department/command)
+/obj/item/clothing/accessory/necklace/collar/New()
+ sprite_sheets += list(SPECIES_RESOMI = 'mods/resomi/icons/clothing/misc.dmi')
+ . = ..()
-/obj/item/clothing/under/solgov/mildress/expeditionary/resomi
- name = "small expeditionary dress uniform"
- desc = "It looks fitted to nonhuman proportions."
- icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_under_resomi.dmi'
- item_icons = list('mods/resomi/icons/clothing/onmob_under_resomi.dmi')
- icon_state = "resomi_greydress"
- worn_state = "resomi_greydress"
+/obj/item/clothing/accessory/scarf/resomi
+ name = "small mantle"
+ desc = "A stylish scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks."
+ icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_accessories_resomi.dmi'
+ icon_state = "small_mantle"
species_restricted = list(SPECIES_RESOMI)
- sprite_sheets = list(SPECIES_RESOMI = 'mods/resomi/icons/clothing/onmob_under_resomi.dmi')
-
-
-/datum/gear/uniform/resomi
- display_name = "(Resomi) smock, grey"
- path = /obj/item/clothing/under/resomi
- sort_category = "Xenowear"
- whitelisted = list(SPECIES_RESOMI)
-
-/datum/gear/uniform/resomi/New()
- ..()
- var/uniform = list()
- uniform["rainbow smock"] = /obj/item/clothing/under/resomi/rainbow
- uniform["engineering smock"] = /obj/item/clothing/under/resomi/yellow
- uniform["robotics smock"] = /obj/item/clothing/under/resomi/robotics
- uniform["security smock"] = /obj/item/clothing/under/resomi/red
- gear_tweaks += new/datum/gear_tweak/path(uniform)
-
-/datum/gear/uniform/resomi/white
- display_name = "(Resomi) smock, colored"
- path = /obj/item/clothing/under/resomi/white
- flags = GEAR_HAS_COLOR_SELECTION
-
-/datum/gear/uniform/resomi/dress
- display_name = "(Resomi) dresses selection"
- path = /obj/item/clothing/under/resomi/dress
- flags = GEAR_HAS_TYPE_SELECTION
-
-/datum/gear/uniform/resomi/utility
- display_name = "(Resomi) uniform selection"
- path = /obj/item/clothing/under/resomi/utility
- flags = GEAR_HAS_TYPE_SELECTION
-
-/datum/gear/uniform/resomi/sport
- display_name = "(Resomi) uniform, Sport"
- path = /obj/item/clothing/under/resomi/sport
-
-/datum/gear/uniform/resomi/med
- display_name = "(Resomi) uniform, Medical"
- path = /obj/item/clothing/under/resomi/medical
-
-/datum/gear/uniform/resomi/science
- display_name = "(Resomi) uniform, Science"
- path = /obj/item/clothing/under/resomi/science
-
-/datum/gear/uniform/resomi/dark_worksmock
- display_name = "(Resomi) work uniform, dark"
- path = /obj/item/clothing/under/resomi/work_black
- flags = GEAR_HAS_TYPE_SELECTION
-
-/datum/gear/uniform/resomi/light_worksmock
- display_name = "(Resomi) work uniform, light"
- path = /obj/item/clothing/under/resomi/work_white
- flags = GEAR_HAS_TYPE_SELECTION
-
-/datum/gear/uniform/resomi/white/New()
- return
-/datum/gear/uniform/resomi/dress/New()
- return
-/datum/gear/uniform/resomi/utility/New()
- return
-/datum/gear/uniform/resomi/sport/New()
- return
-/datum/gear/uniform/resomi/med/New()
- return
-/datum/gear/uniform/resomi/science/New()
- return
-/datum/gear/uniform/resomi/dark_worksmock/New()
- return
-/datum/gear/uniform/resomi/light_worksmock/New()
- return
-
-/datum/gear/eyes/resomi
- display_name = "(Resomi) sun lenses"
- path = /obj/item/clothing/glasses/sunglasses/lenses
- sort_category = "Xenowear"
- whitelisted = list(SPECIES_RESOMI)
-
-/datum/gear/eyes/resomi/lenses_sec
- display_name = "(Resomi) sun sechud lenses"
- path = /obj/item/clothing/glasses/sunglasses/sechud/lenses
-
-/datum/gear/eyes/resomi/lenses_med
- display_name = "(Resomi) sun medhud lenses"
- path = /obj/item/clothing/glasses/hud/health/lenses
-
-/datum/gear/accessory/resomi_mantle
- display_name = "(Resomi) small mantle"
- path = /obj/item/clothing/accessory/scarf/resomi
- flags = GEAR_HAS_COLOR_SELECTION
- sort_category = "Xenowear"
- whitelisted = list(SPECIES_RESOMI)
-
-/datum/gear/suit/resomi_cloak
- display_name = "(Resomi) small cloak"
- path = /obj/item/clothing/suit/storage/toggle/Resomicoat
- sort_category = "Xenowear"
- whitelisted = list(SPECIES_RESOMI)
-
-/datum/gear/suit/resomi_cloak/New()
- ..()
- var/resomi = list()
- resomi["black cloak"] = /obj/item/clothing/suit/storage/toggle/Resomicoat
- resomi["white cloak"] = /obj/item/clothing/suit/storage/toggle/Resomicoat/white
- gear_tweaks += new/datum/gear_tweak/path(resomi)
-
-/datum/gear/shoes/resomi
- display_name = "(Resomi) small workboots"
- path = /obj/item/clothing/shoes/workboots/resomi
- sort_category = "Xenowear"
- whitelisted = list(SPECIES_RESOMI)
-
-/datum/gear/shoes/resomi/footwraps
- display_name = "(Resomi) foots clothwraps"
- flags = GEAR_HAS_COLOR_SELECTION
- path = /obj/item/clothing/shoes/footwraps
-
-/datum/gear/shoes/resomi/socks
- display_name = "(Resomi) koishi"
- flags = GEAR_HAS_COLOR_SELECTION
- path = /obj/item/clothing/shoes/footwraps/socks_resomi
-
-/datum/gear/suit/resomicloak
- display_name = "(Resomi) standard/job cloaks"
- sort_category = "Xenowear"
- path = /obj/item/clothing/suit/storage/resomicloak
- whitelisted = list(SPECIES_RESOMI)
- flags = GEAR_HAS_SUBTYPE_SELECTION
-
-/datum/gear/suit/resomicloak_alt
- display_name = "(Resomi) alt cloaks"
- sort_category = "Xenowear"
- path = /obj/item/clothing/suit/storage/resomicloak_alt
- whitelisted = list(SPECIES_RESOMI)
- flags = GEAR_HAS_SUBTYPE_SELECTION
-
-/datum/gear/suit/resomicloak_belted
- display_name = "(Resomi) belted cloaks"
- sort_category = "Xenowear"
- path = /obj/item/clothing/suit/storage/resomicloak_belted
- whitelisted = list(SPECIES_RESOMI)
- flags = GEAR_HAS_SUBTYPE_SELECTION
-
-/datum/gear/suit/resomicloak
- display_name = "(Resomi) Hooded Cloak"
- sort_category = "Xenowear"
- path = /obj/item/clothing/suit/storage/hooded/resomi
- whitelisted = list(SPECIES_RESOMI)
- flags = GEAR_HAS_SUBTYPE_SELECTION
-
-
-/datum/gear/suit/resomi_labcoat
- display_name = "(Resomi) small labcoat"
- path = /obj/item/clothing/suit/storage/toggle/Resomilabcoat
- flags = GEAR_HAS_COLOR_SELECTION
- sort_category = "Xenowear"
- whitelisted = list(SPECIES_RESOMI)
/obj/item/toy/plushie/resomi
name = "resomi plush"
@@ -386,6 +28,20 @@
icon = 'packs/infinity/icons/obj/toy.dmi'
icon_state = "resomiplushie"
-/obj/item/clothing/accessory/necklace/collar/New()
- sprite_sheets += list(SPECIES_RESOMI = 'mods/resomi/icons/clothing/misc.dmi')
- . = ..()
+
+/obj/item/device/suit_cooling_unit/mini // Cool sprite needed here.
+ name = "small portable cooling unit"
+ desc = "A small portable heat sink with liquid cooled radiator packaged into a modified pack."
+ w_class = ITEM_SIZE_NORMAL
+ slot_flags = SLOT_BELT
+ matter = list(MATERIAL_ALUMINIUM = 11500, MATERIAL_GLASS = 2700)
+ throwforce = 5
+ melee_accuracy_bonus = -10
+ max_cooling = 6
+
+/obj/item/device/suit_cooling_unit/mini/is_in_slot()
+ var/mob/living/carbon/human/H = loc
+ if(!istype(H))
+ return FALSE
+
+ return (H.belt == src) || (H.s_store == src)
diff --git a/mods/resomi/code/clothing/shoes.dm b/mods/resomi/code/clothing/shoes.dm
new file mode 100644
index 0000000000000..b4b63059d2519
--- /dev/null
+++ b/mods/resomi/code/clothing/shoes.dm
@@ -0,0 +1,35 @@
+/obj/item/clothing/shoes/workboots/resomi
+ icon_state = "resomi_workboots"
+ icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_feet_resomi.dmi'
+ item_state = "workboots"
+ name = "small workboots"
+ desc = "Small and tight shoes with an iron sole for those who work in dangerous area or hate their paws"
+
+ w_class = ITEM_SIZE_SMALL
+ species_restricted = list(SPECIES_RESOMI)
+
+/obj/item/clothing/shoes/workboots/resomi/New()
+ ..()
+ slowdown_per_slot[slot_shoes] = 0.3
+
+
+/obj/item/clothing/shoes/footwraps
+ name = "cloth footwraps"
+ desc = "A roll of treated canvas used for wrapping paws"
+ icon_state = "clothwrap"
+ icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_feet_resomi.dmi'
+ item_state = "clothwrap"
+ force = 0
+ item_flags = ITEM_FLAG_SILENT
+ w_class = ITEM_SIZE_SMALL
+ species_restricted = list(SPECIES_RESOMI)
+ // SIERRA TODO: port to Bay12 drop sounds
+ //drop_sound = 'sound/items/drop/cloth.ogg'
+ //pickup_sound = 'sound/items/pickup/cloth.ogg'
+
+/obj/item/clothing/shoes/footwraps/socks_resomi
+ name = "koishi"
+ desc = "Looks like socks but with toe holes and thick sole."
+ icon_state = "socks"
+ icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_feet_resomi.dmi'
+ item_state = "socks"
diff --git a/mods/resomi/code/clothing/suits.dm b/mods/resomi/code/clothing/suits.dm
index 958626253ec97..1e9630fc29279 100644
--- a/mods/resomi/code/clothing/suits.dm
+++ b/mods/resomi/code/clothing/suits.dm
@@ -1,30 +1,30 @@
+/obj/item/clothing/suit/storage/toggle/resomicoat
+ name = "small coat"
+ icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_suit_resomi.dmi'
+ desc = "A cloak that seems too small to fit a human."
+ icon_state = "resomicoat"
+ //icon_open = "resomicoat_open"
+ //icon_closed = "resomicoat"
+ body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS
+ species_restricted = list(SPECIES_RESOMI)
+
+/obj/item/clothing/suit/storage/toggle/resomicoat/New()
+ ..()
+ allowed += /obj/item/device/suit_cooling_unit/mini
-//////////////
-////resomi////
-//////////////
-
-/obj/item/clothing/suit/storage/toggle/Resomicoat
- name = "small cloak"
- icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_suit_resomi.dmi'
- desc = "A cloak that seems too small to fit a human."
- icon_state = "resomicoat"
- icon_open = "resomicoat_open"
- icon_closed = "resomicoat"
- body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS
- species_restricted = list(SPECIES_RESOMI)
-
-/obj/item/clothing/suit/storage/toggle/Resomicoat/white
+
+/obj/item/clothing/suit/storage/toggle/resomicoat/white
icon_state = "white_resomicoat"
- icon_open = "white_resomicoat_open"
- icon_closed = "white_resomicoat"
+ //icon_open = "white_resomicoat_open"
+ //icon_closed = "white_resomicoat"
-/obj/item/clothing/suit/storage/toggle/Resomilabcoat
+/obj/item/clothing/suit/storage/toggle/resomilabcoat
name = "small labcoat"
icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_suit_resomi.dmi'
desc = "A labcoat that seems too small to fit a human."
icon_state = "resomi_labcoat"
- icon_open = "resomi_labcoat_open"
- icon_closed = "resomi_labcoat"
+ //icon_open = "resomi_labcoat_open"
+ //icon_closed = "resomi_labcoat"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
species_restricted = list(SPECIES_RESOMI)
allowed = list(/obj/item/device/scanner/gas,/obj/item/stack/medical,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/hypospray,/obj/item/device/scanner/health,/obj/item/device/flashlight/pen,/obj/item/reagent_containers/glass/bottle,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/pill,/obj/item/storage/pill_bottle,/obj/item/paper)
@@ -47,6 +47,11 @@
qdel(pockets)
pockets = new/obj/item/storage/internal/pouch(src, slots*BASE_STORAGE_COST(ITEM_SIZE_SMALL))
+/obj/item/clothing/suit/storage/resomicloak/New()
+ ..()
+ allowed += /obj/item/device/suit_cooling_unit/mini
+
+
/obj/item/clothing/suit/storage/resomicloak/standard/black_grey
name = "black and grey cloak"
icon_state = "tesh_cloak_bg"
@@ -278,6 +283,11 @@
icon_state = "tesh_cloak_dretrowave"
body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO
+/obj/item/clothing/suit/storage/resomicloak_alt/New()
+ ..()
+ allowed += /obj/item/device/suit_cooling_unit/mini
+
+
/obj/item/clothing/suit/storage/resomicloak_alt/tesh_cloak_dretrowave
name = "resomi cloak dretrowave"
icon_state = "tesh_cloak_dretrowave"
@@ -398,6 +408,11 @@
body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO
species_restricted = list(SPECIES_RESOMI)
+/obj/item/clothing/suit/storage/resomicloak_belted/New()
+ ..()
+ allowed += /obj/item/device/suit_cooling_unit/mini
+
+
/obj/item/clothing/suit/storage/resomicloak_belted/standard/black_orange
name = "black belted cloak (orange)"
icon_state = "tesh_beltcloak_bo"
@@ -566,29 +581,43 @@
desc = "A soft Resomi cloak made for the Janitor"
icon_state = "tesh_beltcloak_jani"
-
-
-/obj/item/clothing/suit/storage/hooded/polychromic
- name = "polychromic cloak"
- desc = "Resomi cloak. Seems to be coated with polychrome paint. There is also a sewn hood. DO NOT MIX WITH EMP!"
+//Hooded Resomi cloaks
+/obj/item/clothing/suit/storage/hooded/resomi
+ name = "Hooded Resomi Cloak"
+ desc = "A soft resomi cloak with an added hood."
icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_suit_resomi.dmi'
- icon_state = "polychromic"
- hoodtype = /obj/item/clothing/head/winterhood/polychromic_hood
- action_button_name = "Toggle Hood"
- slots = 2
+ icon_state = "tesh_hcloak_bo"
+ //item_state_slots = list(slot_r_hand_str = "tesh_hcloak_bo", slot_l_hand_str = "tesh_hcloak_bo")
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
+ //flags_inv = HIDEHOLSTER|HIDETIE
+ action_button_name = "Toggle Cloak Hood"
+ hoodtype = /obj/item/clothing/head/resomi/resomi_hood
+ //allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask)
species_restricted = list(SPECIES_RESOMI)
- body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO
+ sprite_sheets = list(SPECIES_RESOMI = 'mods/resomi/icons/clothing/onmob_suit_resomi.dmi')
-/obj/item/clothing/suit/storage/hooded/polychromic/New()
+/obj/item/clothing/suit/storage/hooded/resomi/New()
..()
- sprite_sheets = list(
- SPECIES_RESOMI = 'mods/resomi/icons/clothing/onmob_suit_resomi.dmi'
- )
if(pockets)
qdel(pockets)
pockets = new/obj/item/storage/internal/pouch(src, slots*BASE_STORAGE_COST(ITEM_SIZE_SMALL))
-/obj/item/clothing/suit/storage/hooded/polychromic/verb/change_color()
+/obj/item/clothing/suit/storage/hooded/resomi/New()
+ ..()
+ allowed += /obj/item/device/suit_cooling_unit/mini
+
+
+/obj/item/clothing/suit/storage/hooded/resomi/on_update_icon()
+ ..()
+ update_clothing_icon()
+
+/obj/item/clothing/suit/storage/hooded/resomi/polychromic
+ name = "polychromic cloak"
+ desc = "Resomi cloak. Seems to be coated with polychrome paint. There is also a sewn hood. DO NOT MIX WITH EMP!"
+ icon_state = "polychromic"
+ hoodtype = /obj/item/clothing/head/resomi/resomi_hood/polychromic_hood
+
+/obj/item/clothing/suit/storage/hooded/resomi/polychromic/verb/change_color()
set name = "Change Cloak Color"
set category = "Object"
set desc = "Change the color of the cloak."
@@ -605,76 +634,17 @@
hood.update_icon()
update_icon()
-/obj/item/clothing/suit/storage/hooded/polychromic/on_update_icon()
+/obj/item/clothing/suit/storage/hooded/resomi/polychromic/on_update_icon()
..()
update_clothing_icon()
hood.color = color
hood.update_clothing_icon()
-/obj/item/clothing/suit/storage/hooded/polychromic/emp_act()
+/obj/item/clothing/suit/storage/hooded/resomi/polychromic/emp_act(severity)
color = null
hood.color = null
update_icon()
-
-/obj/item/clothing/head/winterhood/polychromic_hood
- name = "hood"
- icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_head_resomi.dmi'
- icon_state = "polychromic_hood"
- species_restricted = list(SPECIES_RESOMI)
- desc = "It's hood that covers the head."
- flags_inv = BLOCKHAIR | HIDEEARS
- body_parts_covered = HEAD
-
-/obj/item/clothing/head/winterhood/polychromic_hood/New()
- ..()
- sprite_sheets = list(
- SPECIES_RESOMI = 'mods/resomi/icons/clothing/onmob_head_resomi.dmi'
- )
-
-//Hooded Resomi cloaks
-/obj/item/clothing/suit/storage/hooded/resomi
- name = "Hooded Resomi Cloak"
- desc = "A soft resomi cloak with an added hood."
- icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_suit_resomi.dmi'
- icon_state = "tesh_hcloak_bo"
- //item_state_slots = list(slot_r_hand_str = "tesh_hcloak_bo", slot_l_hand_str = "tesh_hcloak_bo")
- body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
- //flags_inv = HIDEHOLSTER|HIDETIE
- action_button_name = "Toggle Cloak Hood"
- hoodtype = /obj/item/clothing/head/resomi/resomi_hood
- //allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask)
- species_restricted = list(SPECIES_RESOMI)
-
-/obj/item/clothing/suit/storage/hooded/resomi/New()
- ..()
- sprite_sheets = list(
- SPECIES_RESOMI = 'mods/resomi/icons/clothing/onmob_suit_resomi.dmi'
- )
- if(pockets)
- qdel(pockets)
- pockets = new/obj/item/storage/internal/pouch(src, slots*BASE_STORAGE_COST(ITEM_SIZE_SMALL))
-
-/obj/item/clothing/suit/storage/hooded/resomi/on_update_icon()
- ..()
- update_clothing_icon()
-
-/obj/item/clothing/head/resomi/resomi_hood
- name = "Cloak Hood"
- desc = "A hood attached to a resomi cloak."
- icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_head_resomi.dmi'
- icon_state = "tesh_hcloak_bo_hood"
- flags_inv = BLOCKHAIR | HIDEEARS
- body_parts_covered = HEAD
- species_restricted = list(SPECIES_RESOMI)
- sprite_sheets = list(SPECIES_RESOMI = 'mods/resomi/icons/clothing/onmob_head_resomi.dmi')
-
-/obj/item/clothing/head/resomi/resomi_hood/New()
..()
- sprite_sheets = list(
- SPECIES_RESOMI = 'mods/resomi/icons/clothing/onmob_head_resomi.dmi'
- )
-
-
/obj/item/clothing/suit/storage/hooded/resomi/black_orange
name = "black and orange hooded cloak"
@@ -797,6 +767,21 @@
hoodtype = /obj/item/clothing/head/resomi/resomi_hood/brown_grey
//The actual hoods
+/obj/item/clothing/head/resomi/resomi_hood
+ name = "Cloak Hood"
+ desc = "A hood attached to a resomi cloak."
+ icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_head_resomi.dmi'
+ icon_state = "tesh_hcloak_bo_hood"
+ flags_inv = BLOCKHAIR | HIDEEARS
+ body_parts_covered = HEAD
+ species_restricted = list(SPECIES_RESOMI)
+ sprite_sheets = list(SPECIES_RESOMI = 'mods/resomi/icons/clothing/onmob_head_resomi.dmi')
+
+/obj/item/clothing/head/resomi/resomi_hood/polychromic_hood
+ name = "polychromic hood"
+ icon_state = "polychromic_hood"
+ desc = "It's hood that covers the head."
+
/obj/item/clothing/head/resomi/resomi_hood/black_orange
name = "black and orange cloak hood"
icon_state = "tesh_hcloak_bo_hood"
diff --git a/mods/resomi/code/clothing/under.dm b/mods/resomi/code/clothing/under.dm
index e9901ef49ca08..650f25a7f5bba 100644
--- a/mods/resomi/code/clothing/under.dm
+++ b/mods/resomi/code/clothing/under.dm
@@ -32,7 +32,7 @@
item_state = "resomi_rainbow"
/obj/item/clothing/under/resomi/science
- name = "small science uniform"
+ name = "small Science uniform"
icon_state = "resomi_science"
item_state = "resomi_science"
@@ -61,61 +61,61 @@
icon_state = "resomi_robotics"
item_state = "resomi_robotics"
-/obj/item/clothing/under/resomi/work_black
- name = "small darkblue work smock"
+/obj/item/clothing/under/resomi/work
+ name = "small darkorange work smock"
desc = "A small black working suit of non-human proportions with colored lines on it and a black steel belt.\
- On a small label reads: 'Twinne Corp. - feathers and style'. So... Relaxing."
- icon_state = "resomi_black_blue_worksuit"
+ On a small label reads: 'Twinne Corp. - feathers and style'. Don't forget about hardhat."
+ icon_state = "resomi_black_orange_worksuit"
-/obj/item/clothing/under/resomi/work_black/red
+/obj/item/clothing/under/resomi/work/black_red
name = "small darkred work smock"
desc = "A small black working suit of non-human proportions with colored lines on it and a black steel belt.\
On a small label reads: 'Twinne Corp. - feathers and style'. Looks like you're on duty of forces of evil."
icon_state = "resomi_black_red_worksuit"
-/obj/item/clothing/under/resomi/work_black/purple
+/obj/item/clothing/under/resomi/work/black_purple
name = "small darkpurple work smock"
desc = "A small black working suit of non-human proportions with colored lines on it and a black steel belt.\
On a small label reads: 'Twinne Corp. - feathers and style'. So, where is your labcoat, doctor?"
icon_state = "resomi_black_purple_worksuit"
-/obj/item/clothing/under/resomi/work_black/green
+/obj/item/clothing/under/resomi/work/black_green
name = "small darkgreen work smock"
desc = "A small black working suit of non-human proportions with colored lines on it and a black steel belt.\
On a small label reads: 'Twinne Corp. - feathers and style'. Flowers will love you, whether they want it or not."
icon_state = "resomi_black_green_worksuit"
-/obj/item/clothing/under/resomi/work_black/orange
- name = "small darkorange work smock"
+/obj/item/clothing/under/resomi/work/black_blue
+ name = "small darkblue work smock"
desc = "A small black working suit of non-human proportions with colored lines on it and a black steel belt.\
- On a small label reads: 'Twinne Corp. - feathers and style'. Don't forget about hardhat."
- icon_state = "resomi_black_orange_worksuit"
+ On a small label reads: 'Twinne Corp. - feathers and style'. So... Relaxing."
+ icon_state = "resomi_black_blue_worksuit"
-/obj/item/clothing/under/resomi/work_white
+/obj/item/clothing/under/resomi/work/white
name = "small lightblue work smock"
desc = "A small white working suit of non-human proportions with colored lines on it and a white steel belt.\
On a small label reads: 'Twinne Corp. - feathers and style'. Really relaxing"
icon_state = "resomi_white_blue_worksuit"
-/obj/item/clothing/under/resomi/work_white/red
+/obj/item/clothing/under/resomi/work/white_red
name = "small lightred work smock"
desc = "A small white working suit of non-human proportions with colored lines on it and a white steel belt.\
On a small label reads: 'Twinne Corp. - feathers and style'. For maximum civilian security."
icon_state = "resomi_white_red_worksuit"
-/obj/item/clothing/under/resomi/work_white/purple
+/obj/item/clothing/under/resomi/work/white_purple
name = "small lightpurple work smock"
desc = "A small white working suit of non-human proportions with colored lines on it and a white steel belt.\
On a small label reads: 'Twinne Corp. - feathers and style'. So, where is your labcoat, assistant?"
icon_state = "resomi_white_purple_worksuit"
-/obj/item/clothing/under/resomi/work_white/green
+/obj/item/clothing/under/resomi/work/white_green
name = "small lightgreen work smock"
desc = "A small white working suit of non-human proportions with colored lines on it and a white steel belt.\
On a small label reads: 'Twinne Corp. - feathers and style'. Flowers will love you... You guess."
icon_state = "resomi_white_green_worksuit"
-/obj/item/clothing/under/resomi/work_white/orange
+/obj/item/clothing/under/resomi/work/white_orange
name = "small lightorange work smock"
desc = "A small white working suit of non-human proportions with colored lines on it and a white steel belt.\
On a small label reads: 'Twinne Corp. - feathers and style'. Don't forget about hardhat and gloves."
@@ -378,3 +378,82 @@
desc = "Resomi job clothing for the Internal Affairs Agent"
icon_state = "tesh_uniform_iaa"
item_state = "tesh_uniform_iaa"
+
+/*
+ * RESOMI SOL GOV UNDER
+ */
+
+/obj/item/clothing/under/solgov/pt/expeditionary/resomi
+ name = "small expeditionary pt smock"
+ desc = "It looks fitted to nonhuman proportions."
+ icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_under_resomi.dmi'
+ item_icons = list('mods/resomi/icons/clothing/onmob_under_resomi.dmi')
+ icon_state = "resomi_expeditionpt"
+ worn_state = "resomi_expeditionpt"
+ species_restricted = list(SPECIES_RESOMI)
+ sprite_sheets = list(SPECIES_RESOMI = 'mods/resomi/icons/clothing/onmob_under_resomi.dmi')
+
+/obj/item/clothing/under/solgov/utility/expeditionary/resomi
+ name = "small expeditionary uniform"
+ desc = "It looks fitted to nonhuman proportions."
+ icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_under_resomi.dmi'
+ item_icons = list('mods/resomi/icons/clothing/onmob_under_resomi.dmi')
+ icon_state = "resomi_blackutility"
+ worn_state = "resomi_blackutility"
+ species_restricted = list(SPECIES_RESOMI)
+ sprite_sheets = list(SPECIES_RESOMI = 'mods/resomi/icons/clothing/onmob_under_resomi.dmi')
+
+/obj/item/clothing/under/solgov/utility/expeditionary/officer/resomi
+ name = "small expeditionary officer's uniform"
+ desc = "It looks fitted to nonhuman proportions."
+ icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_under_resomi.dmi'
+ item_icons = list('mods/resomi/icons/clothing/onmob_under_resomi.dmi')
+ icon_state = "resomi_blackutility_com"
+ worn_state = "resomi_blackutility_com"
+ species_restricted = list(SPECIES_RESOMI)
+ sprite_sheets = list(SPECIES_RESOMI = 'mods/resomi/icons/clothing/onmob_under_resomi.dmi')
+ accessories = list(/obj/item/clothing/accessory/solgov/department/command)
+
+/obj/item/clothing/under/solgov/mildress/expeditionary/resomi
+ name = "small expeditionary dress uniform"
+ desc = "It looks fitted to nonhuman proportions."
+ icon = 'packs/infinity/icons/obj/clothing/species/resomi/obj_under_resomi.dmi'
+ item_icons = list('mods/resomi/icons/clothing/onmob_under_resomi.dmi')
+ icon_state = "resomi_greydress"
+ worn_state = "resomi_greydress"
+ species_restricted = list(SPECIES_RESOMI)
+ sprite_sheets = list(SPECIES_RESOMI = 'mods/resomi/icons/clothing/onmob_under_resomi.dmi')
+
+/* We don't use this suits in actual build, right?
+/obj/item/clothing/under/thermal
+ name = "thermal suit"
+ desc = "Gray thermal suit. Nothing interesting."
+ icon = 'packs/infinity/icons/obj/clothing/obj_under.dmi'
+ item_icons = list(slot_w_uniform_str = 'packs/infinity/icons/mob/onmob/onmob_under.dmi')
+ icon_state = "gray_camo"
+ item_state = "gray_camo"
+ item_flags = ITEM_FLAG_THICKMATERIAL
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
+ cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
+ min_cold_protection_temperature = T0C - 75
+ max_heat_protection_temperature = T0C + 50
+ var/max_cooling = 1.2 // in degrees per second - probably don't need to mess with heat capacity here
+ var/thermostat = T0C + 10
+
+
+/obj/item/clothing/under/thermal/resomi
+ name = "small thermal suit"
+ desc = "Looks like very small suit. For children or resomi? This thermal suit is black."
+ icon_state = "thermores_1"
+ item_state = "thermores_1"
+ thermostat = T0C
+ species_restricted = list(SPECIES_RESOMI)
+ sprite_sheets = list(
+ SPECIES_RESOMI = 'packs/infinity/icons/mob/onmob/onmob_under.dmi',
+ )
+
+/obj/item/clothing/under/thermal/resomi/white
+ desc = "Looks like very small suit. For children or resomi? This thermal suit is white. "
+ icon_state = "thermores_2"
+ item_state = "thermores_2"
+*/
diff --git a/mods/resomi/code/clothing/void/rigs.dm b/mods/resomi/code/clothing/void/rigs.dm
new file mode 100644
index 0000000000000..758bb887855d0
--- /dev/null
+++ b/mods/resomi/code/clothing/void/rigs.dm
@@ -0,0 +1,23 @@
+/obj/item/clothing/head/helmet/space/rig/industrial/New()
+ . = ..()
+ species_restricted |= list(SPECIES_RESOMI)
+ sprite_sheets[SPECIES_RESOMI] = 'mods/resomi/icons/clothing/onmob_head_resomi.dmi'
+
+/obj/item/clothing/suit/space/rig/industrial/New()
+ . = ..()
+ species_restricted |= list(SPECIES_RESOMI)
+ sprite_sheets[SPECIES_RESOMI] = 'mods/resomi/icons/clothing/onmob_suit_resomi.dmi'
+
+/obj/item/clothing/shoes/magboots/rig/industrial/New()
+ . = ..()
+ species_restricted |= list(SPECIES_RESOMI)
+ sprite_sheets[SPECIES_RESOMI] = 'mods/resomi/icons/clothing/onmob_feet_resomi.dmi'
+
+/obj/item/clothing/gloves/rig/industrial/New()
+ . = ..()
+ species_restricted |= list(SPECIES_RESOMI)
+ sprite_sheets[SPECIES_RESOMI] = 'mods/resomi/icons/clothing/onmob_hands_resomi.dmi'
+
+/obj/item/rig/industrial/New()
+ . = ..()
+ sprite_sheets[SPECIES_RESOMI] = 'mods/resomi/icons/clothing/onmob_rig_back_resomi.dmi'
diff --git a/mods/resomi/code/datum/_defines.dm b/mods/resomi/code/datum/_defines.dm
new file mode 100644
index 0000000000000..b87d0facc52f4
--- /dev/null
+++ b/mods/resomi/code/datum/_defines.dm
@@ -0,0 +1,26 @@
+#define CULTURE_RESOMI_EREMUS "Eremus, Eremusianin"
+#define CULTURE_RESOMI_ASRANDA "Asranda, Randian"
+#define CULTURE_RESOMI_REFUGEE "Imperial refugee"
+#define CULTURE_RESOMI_NEWGENERATION "New generation"
+#define CULTURE_RESOMI_LOSTCOLONYRICH "A native of a thriving lost colony"
+#define CULTURE_RESOMI_LOSTCOLONYPOOR "A native of a impoverished lost colony"
+#define CULTURE_RESOMI_SKRELL "Skrellian Adoptive"
+
+#define HOME_SYSTEM_RESOMI_BIRDCAGE "Birdcage (Colchis Habitat)"
+#define HOME_SYSTEM_RESOMI_EREMUS "Eremus"
+#define HOME_SYSTEM_RESOMI_ASRANDA "Asranda"
+#define HOME_SYSTEM_RESOMI_SAVEEL "Zer'een (Saveel)"
+#define HOME_SYSTEM_RESOMI_LOST_COLONY "Unknown independent colony"
+#define HOME_SYSTEM_RESOMI_REFUGEE_COLONY "Unknown Independent Refugee Colony"
+#define HOME_SYSTEM_RESOMI_HOMELESS "None"
+#define HOME_SYSTEM_RESOMI_IMPER_COLONY "Unknown Imperial colony"
+#define HOME_SYSTEM_RESOMI_RESOBALAK "Skrellian Empire"
+
+#define RELIGION_RESOMI_CHOSEN "Faith of the Chosen"
+#define RELIGION_RESOMI_EMPEROR "Cult of the Emperor"
+#define RELIGION_RESOMI_MOUNTAIN "Echos of the Mountain"
+#define RELIGION_RESOMI_SKIES "Lights of the Skies"
+
+/*#define CULTURE_RESOMI_BIRDCAGE "Birdcage, \"Born in the void\""
+#define CULTURE_RESOMI_SAVEEL "Saveel, Sav"
+#define HOME_SYSTEM_RESOMI_TIAMATH "Tiamat"*/
diff --git a/mods/resomi/code/datum/body.dm b/mods/resomi/code/datum/body.dm
new file mode 100644
index 0000000000000..8b9d28d789c6c
--- /dev/null
+++ b/mods/resomi/code/datum/body.dm
@@ -0,0 +1,103 @@
+// PROSTHETIC ORGANS
+
+/datum/robolimb/resomi
+ company = "Small prosthetic"
+ desc = "This prosthetic is small and fit for nonhuman proportions."
+ icon = 'mods/resomi/icons/resomi_main.dmi'
+ species_cannot_use = list(SPECIES_ADHERENT, SPECIES_YEOSA, SPECIES_UNATHI, SPECIES_NABBER, SPECIES_DIONA)
+ restricted_to = list(SPECIES_RESOMI)
+ allowed_bodytypes = list(SPECIES_RESOMI)
+ applies_to_part = list(BP_L_ARM, BP_R_ARM, BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT, BP_L_HAND, BP_R_HAND)
+
+// HAIR
+
+/datum/sprite_accessory/hair/resomi
+ name = "Resomi Plumage"
+ icon_state = "resomi_default"
+ icon = 'packs/infinity/icons/mob/human_races/species/resomi/hair.dmi'
+ species_allowed = list(SPECIES_RESOMI)
+
+/datum/sprite_accessory/hair/resomi/ears
+ name = "Resomi Ears"
+ icon_state = "resomi_ears"
+
+/datum/sprite_accessory/hair/resomi/excited
+ name = "Resomi Spiky"
+ icon_state = "resomi_spiky"
+
+/datum/sprite_accessory/hair/resomi/hedgehog
+ name = "Resomi Hedgehog"
+ icon_state = "resomi_hedge"
+
+/datum/sprite_accessory/hair/resomi/long
+ name = "Resomi Unpruned"
+ icon_state = "resomi_long"
+
+/datum/sprite_accessory/hair/resomi/sunburst
+ name = "Resomi Sunburst"
+ icon_state = "resomi_burst_short"
+
+/datum/sprite_accessory/hair/resomi/mohawk
+ name = "Resomi Mohawk"
+ icon_state = "resomi_mohawk"
+
+/datum/sprite_accessory/hair/resomi/pointy
+ name = "Resomi Pointy"
+ icon_state = "resomi_pointy"
+
+/datum/sprite_accessory/hair/resomi/upright
+ name = "Resomi Upright"
+ icon_state = "resomi_upright"
+
+/datum/sprite_accessory/hair/resomi/mane
+ name = "Resomi Mane"
+ icon_state = "resomi_mane"
+
+/datum/sprite_accessory/hair/resomi/mane_beardless
+ name = "Resomi Large Ears"
+ icon_state = "resomi_mane_beardless"
+
+/datum/sprite_accessory/hair/resomi/droopy
+ name = "Resomi Droopy"
+ icon_state = "resomi_droopy"
+
+/datum/sprite_accessory/hair/resomi/mushroom
+ name = "Resomi Mushroom"
+ icon_state = "resomi_mushroom"
+
+/datum/sprite_accessory/hair/resomi/twies
+ name = "Resomi Twies"
+ icon_state = "resomi_twies"
+
+/datum/sprite_accessory/hair/resomi/backstrafe
+ name = "Resomi Backstrafe"
+ icon_state = "resomi_backstrafe"
+
+/datum/sprite_accessory/hair/resomi/longway
+ name = "Resomi Long way"
+ icon_state = "resomi_longway"
+
+/datum/sprite_accessory/hair/resomi/notree
+ name = "Resomi Tree"
+ icon_state = "resomi_notree"
+
+/datum/sprite_accessory/hair/resomi/fluffymohawk
+ name = "Resomi Fluffy Mohawk"
+ icon_state = "resomi_fluffymohawk"
+
+// MARKINGS
+
+/datum/sprite_accessory/marking/resomi
+ icon = 'packs/infinity/icons/mob/human_races/species/resomi/markings.dmi'
+ species_allowed = list(SPECIES_RESOMI)
+ do_coloration = TRUE
+
+/datum/sprite_accessory/marking/resomi/resomi_fluff
+ name = "Resomi underfluff"
+ icon_state = "resomi_fluff"
+ body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_GROIN,BP_CHEST,BP_HEAD)
+
+/datum/sprite_accessory/marking/resomi/resomi_small_feathers
+ name = "Resomi small wingfeathers"
+ icon_state = "resomi_sf"
+ body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_HAND,BP_R_HAND,BP_CHEST)
diff --git a/mods/resomi/code/datum/gear.dm b/mods/resomi/code/datum/gear.dm
new file mode 100644
index 0000000000000..c4b1542af62a5
--- /dev/null
+++ b/mods/resomi/code/datum/gear.dm
@@ -0,0 +1,182 @@
+/datum/gear/passport/resomi
+ display_name = "(Resomi) registration document"
+ path = /obj/item/passport/xeno/resomi
+ sort_category = "Xenowear"
+ flags = 0
+ whitelisted = list(SPECIES_RESOMI)
+ custom_setup_proc = /obj/item/passport/proc/set_info
+ cost = 0
+
+
+/datum/gear/uniform/resomi
+ display_name = "(Resomi) uniform, colored"
+ path = /obj/item/clothing/under/resomi/white
+ sort_category = "Xenowear"
+ whitelisted = list(SPECIES_RESOMI)
+ flags = GEAR_HAS_COLOR_SELECTION
+
+
+/datum/gear/uniform/resomi/smock
+ display_name = "(Resomi) uniform, standart"
+ path = /obj/item/clothing/under/resomi
+ flags = 0
+
+/datum/gear/uniform/resomi/smock/New()
+ ..()
+ var/uniform = list()
+ uniform["rainbow smock"] = /obj/item/clothing/under/resomi/rainbow
+ uniform["sport uniform"] = /obj/item/clothing/under/resomi/sport
+ uniform["black utility uniform"] = /obj/item/clothing/under/resomi/utility
+ uniform["grey utility uniform"] = /obj/item/clothing/under/resomi/utility/black
+ uniform["engineering smock"] = /obj/item/clothing/under/resomi/yellow
+ uniform["robotics smock"] = /obj/item/clothing/under/resomi/robotics
+ uniform["security smock"] = /obj/item/clothing/under/resomi/red
+ uniform["medical uniform"] = /obj/item/clothing/under/resomi/medical
+ uniform["science uniform"] = /obj/item/clothing/under/resomi/science
+ gear_tweaks += new/datum/gear_tweak/path(uniform)
+
+
+/datum/gear/uniform/resomi/expedition
+ display_name = "(Resomi) uniform, expeditionary"
+ path = /obj/item/clothing/under/solgov
+ flags = 0
+
+/datum/gear/uniform/resomi/expedition/New()
+ ..()
+ var/uniform = list()
+ uniform["standart uniform"] = /obj/item/clothing/under/solgov/utility/expeditionary/resomi
+ uniform["pt smock"] = /obj/item/clothing/under/solgov/pt/expeditionary/resomi
+ uniform["officer's uniform"] = /obj/item/clothing/under/solgov/utility/expeditionary/officer/resomi
+ uniform["dress uniform"] = /obj/item/clothing/under/solgov/mildress/expeditionary/resomi
+ gear_tweaks += new/datum/gear_tweak/path(uniform)
+
+
+/datum/gear/uniform/resomi/dress
+ display_name = "(Resomi) uniform, dress"
+ path = /obj/item/clothing/under/resomi/dress
+ flags = GEAR_HAS_TYPE_SELECTION
+
+
+/datum/gear/uniform/resomi/worksmock
+ display_name = "(Resomi) uniform, work"
+ path = /obj/item/clothing/under/resomi/work
+ flags = GEAR_HAS_TYPE_SELECTION
+
+
+/datum/gear/uniform/resomi/undercoat
+ display_name = "(Resomi) uniform, undercoat"
+ path = /obj/item/clothing/under/resomi/undercoat
+ flags = GEAR_HAS_TYPE_SELECTION
+
+
+/datum/gear/tactical/security_uniforms/resomi
+ display_name = "(Resomi) uniform, Security"
+ path = /obj/item/clothing/under/resomi/red
+ sort_category = "Xenowear"
+ whitelisted = list(SPECIES_RESOMI)
+
+/datum/gear/tactical/security_uniforms/resomi/New()
+ return
+
+
+/datum/gear/eyes/resomi
+ display_name = "(Resomi) sun lenses"
+ path = /obj/item/clothing/glasses/sunglasses/lenses
+ sort_category = "Xenowear"
+ whitelisted = list(SPECIES_RESOMI)
+
+
+/datum/gear/eyes/security/resomi
+ display_name = "(Resomi) sun sechud lenses"
+ path = /obj/item/clothing/glasses/sunglasses/sechud/lenses
+ sort_category = "Xenowear"
+ whitelisted = list(SPECIES_RESOMI)
+
+/datum/gear/eyes/security/resomi/New()
+ return
+
+
+/datum/gear/eyes/medical/resomi
+ display_name = "(Resomi) sun medhud lenses"
+ path = /obj/item/clothing/glasses/hud/health/lenses
+ sort_category = "Xenowear"
+ whitelisted = list(SPECIES_RESOMI)
+
+/datum/gear/eyes/medical/resomi/New()
+ return
+
+
+/datum/gear/accessory/resomi_mantle
+ display_name = "(Resomi) small mantle"
+ path = /obj/item/clothing/accessory/scarf/resomi
+ flags = GEAR_HAS_COLOR_SELECTION
+ sort_category = "Xenowear"
+ whitelisted = list(SPECIES_RESOMI)
+
+
+/datum/gear/shoes/resomi
+ display_name = "(Resomi) small workboots"
+ path = /obj/item/clothing/shoes/workboots/resomi
+ sort_category = "Xenowear"
+ whitelisted = list(SPECIES_RESOMI)
+
+
+/datum/gear/shoes/resomi/footwraps
+ display_name = "(Resomi) foots clothwraps"
+ flags = GEAR_HAS_COLOR_SELECTION
+ path = /obj/item/clothing/shoes/footwraps
+
+
+/datum/gear/shoes/resomi/socks
+ display_name = "(Resomi) koishi"
+ flags = GEAR_HAS_COLOR_SELECTION
+ path = /obj/item/clothing/shoes/footwraps/socks_resomi
+
+
+/datum/gear/suit/resomi
+ display_name = "(Resomi) cloaks, alt"
+ path = /obj/item/clothing/suit/storage/resomicloak_alt
+ sort_category = "Xenowear"
+ whitelisted = list(SPECIES_RESOMI)
+ flags = GEAR_HAS_SUBTYPE_SELECTION
+
+
+/datum/gear/suit/resomi/standart
+ display_name = "(Resomi) cloaks, standart"
+ path = /obj/item/clothing/suit/storage/resomicloak
+ flags = GEAR_HAS_TYPE_SELECTION
+
+
+/datum/gear/suit/resomi/belted
+ display_name = "(Resomi) cloaks, belted"
+ path = /obj/item/clothing/suit/storage/resomicloak_belted
+
+
+/datum/gear/suit/resomi/hood
+ display_name = "(Resomi) cloaks, hooded"
+ path = /obj/item/clothing/suit/storage/hooded/resomi
+
+
+/datum/gear/suit/resomi/labcoat
+ display_name = "(Resomi) small labcoat"
+ path = /obj/item/clothing/suit/storage/toggle/resomilabcoat
+ flags = GEAR_HAS_COLOR_SELECTION
+
+
+/datum/gear/suit/resomi_coat
+ display_name = "(Resomi) coats selection"
+ path = /obj/item/clothing/suit/storage/toggle/resomicoat
+ sort_category = "Xenowear"
+ whitelisted = list(SPECIES_RESOMI)
+
+/datum/gear/suit/resomi_coat/New()
+ ..()
+ var/resomi = list()
+ resomi["black coat"] = /obj/item/clothing/suit/storage/toggle/resomicoat
+ resomi["white coat"] = /obj/item/clothing/suit/storage/toggle/resomicoat/white
+ gear_tweaks += new/datum/gear_tweak/path(resomi)
+
+
+/datum/gear/plush_toy/New()
+ toy_list["resomi plush"] = /obj/item/toy/plushie/resomi
+ ..()
diff --git a/mods/resomi/code/language.dm b/mods/resomi/code/datum/language.dm
similarity index 70%
rename from mods/resomi/code/language.dm
rename to mods/resomi/code/datum/language.dm
index 1af7b0ac73a72..547d2d62d1f0b 100644
--- a/mods/resomi/code/language.dm
+++ b/mods/resomi/code/datum/language.dm
@@ -14,8 +14,12 @@
"ci", "ri", "mi", "si", "ni", "ti", "li", "shi", "schi", "i", "i"
)
shorthand = "SCH"
+ has_written_form = TRUE
+/datum/language/resomi/get_random_name(gender)
+ return ..(gender, 1, 4, 1.5)
+
//AUTOHISS
/datum/species/resomi
autohiss_basic_map = list(
@@ -28,28 +32,7 @@
)
autohiss_exempt = list(LANGUAGE_RESOMI)
-/datum/language/resomi/get_random_name(gender)
- return ..(gender, 1, 4, 1.5)
-
//TODO: RESOMI MISC FILE
/datum/trader/trading_beacon/New()
..()
speech[TRADER_HAIL_START + SPECIES_RESOMI] = "Greetings, I am MERCHANT, Artifical Intelligence onboard ORIGIN. We wish to trade with you, no more."
-
-
-// RESOMI EMOTIONS
-
-/singleton/emote/audible/chuckle/resomi
- emote_sound = 'packs/infinity/sound/voice/resomicougha.ogg'
-
-
-/singleton/emote/audible/cough/resomi
- emote_sound = 'packs/infinity/sound/voice/resomicoughb.ogg'
-
-
-/singleton/emote/audible/laugh/resomi
- emote_sound = 'packs/infinity/sound/voice/resomicougha.ogg'
-
-
-/singleton/emote/audible/scream/resomi
- emote_sound = 'packs/infinity/sound/voice/resomisneeze.ogg'
diff --git a/mods/resomi/code/datum/misc.dm b/mods/resomi/code/datum/misc.dm
new file mode 100644
index 0000000000000..520680cc36f9f
--- /dev/null
+++ b/mods/resomi/code/datum/misc.dm
@@ -0,0 +1,2 @@
+/datum/fabricator_recipe/mini_suit_cooler
+ path = /obj/item/device/suit_cooling_unit/mini
diff --git a/mods/resomi/code/datum/culture/resomi_culture.dm b/mods/resomi/code/datum/resomi_culture.dm
similarity index 87%
rename from mods/resomi/code/datum/culture/resomi_culture.dm
rename to mods/resomi/code/datum/resomi_culture.dm
index 1d54a3593466e..8f9b5496f96d9 100644
--- a/mods/resomi/code/datum/culture/resomi_culture.dm
+++ b/mods/resomi/code/datum/resomi_culture.dm
@@ -1,33 +1,3 @@
-// Resomi cultures.
-
-//#define CULTURE_RESOMI_BIRDCAGE "Birdcage, \"Born in the void\""
-#define CULTURE_RESOMI_EREMUS "Eremus, Eremusianin"
-#define CULTURE_RESOMI_ASRANDA "Asranda, Randian"
-//#define CULTURE_RESOMI_SAVEEL "Saveel, Sav"
-#define CULTURE_RESOMI_REFUGEE "Imperial refugee"
-#define CULTURE_RESOMI_NEWGENERATION "New generation"
-#define CULTURE_RESOMI_LOSTCOLONYRICH "A native of a thriving lost colony"
-#define CULTURE_RESOMI_LOSTCOLONYPOOR "A native of a impoverished lost colony"
-
-//#define FACTION_RESOMI |There are no fractions, as well as the soil for their appearance.
-
-#define HOME_SYSTEM_RESOMI_BIRDCAGE "Birdcage (Colchis Habitat)"
-#define HOME_SYSTEM_RESOMI_EREMUS "Eremus"
-//#define HOME_SYSTEM_RESOMI_TIAMATH "Tiamat"
-#define HOME_SYSTEM_RESOMI_ASRANDA "Asranda"
-#define HOME_SYSTEM_RESOMI_SAVEEL "Zer'een (Saveel)"
-#define HOME_SYSTEM_RESOMI_LOST_COLONY "Unknown independent colony"
-#define HOME_SYSTEM_RESOMI_REFUGEE_COLONY "Unknown Independent Refugee Colony"
-#define HOME_SYSTEM_RESOMI_HOMELESS "None"
-#define HOME_SYSTEM_RESOMI_IMPER_COLONY "Unknown Imperial colony"
-
-#define RELIGION_RESOMI_CHOSEN "Faith of the Chosen"
-#define RELIGION_RESOMI_EMPEROR "Cult of the Emperor"
-#define RELIGION_RESOMI_MOUNTAIN "Echos of the Mountain"
-#define RELIGION_RESOMI_SKIES "Lights of the Skies"
-
-
-
/singleton/cultural_info/culture/resomi
language = LANGUAGE_RESOMI
name_language = LANGUAGE_RESOMI
@@ -39,6 +9,7 @@
/singleton/cultural_info/culture/resomi/eremus
name = CULTURE_RESOMI_EREMUS
+ nickname = "Эремусианин"
description = "Вы с Эремуса - пустынной планеты с отсутствующим каким-либо центральным правительством. \
Эремус расположен наиболее близко к имперскому пространству, \
чем большинство других колоний. Вновь прибывшие Резоми, если они не привыкли к \
@@ -49,6 +20,7 @@
/singleton/cultural_info/culture/resomi/asranda
name = CULTURE_RESOMI_ASRANDA
+ nickname = "Рандианин"
description = "Вы рандианин, с планеты А’шранда. Культура жителей данного мира похожа на культуру старой \
Республики. Общество, в отличии от имперских собратьев, здесь свободно, и несмотря на коррумпированную \
политическую систему, каждый рандианин имеет куда более высокий уровень социальной мобильности, чем большинство \
@@ -63,6 +35,7 @@
/*singleton/cultural_info/culture/resomi/saveel
name = CULTURE_RESOMI_SAVEEL
+ nickname = "Савиилец"
description = "Вы один из представителей cавиильцев, племеного общества Резоми на планете \
\
OOC Notes:Постарайтесь хорошо изучить весь доступный лор по Савилю, а так же хорошо продумать свою предысторию попадания на корабль (желательно не забыв про заполнение записей), \
@@ -71,6 +44,7 @@
/singleton/cultural_info/culture/resomi/refugee
name = CULTURE_RESOMI_REFUGEE
+ nickname = "Имперский беженец"
description = " Вы родились в одном из миров, принадлежащих Империи Сирисай. Но еперь не важно, где вы родились, кем вы были и какую ступень в иерархии вы занимали.\
Вы предали Империю и имперские идеалы, а так же свой народ, свою величественную расу. Империя уже никогда не простит ваше предательство, \
как и остальные Резоми, жертвующие свои жизни ради выживания Империи, ради светлого будущего своих потомков, ради безопасности всей галактики, \
@@ -85,6 +59,7 @@
/singleton/cultural_info/culture/resomi/newgeneration
name = CULTURE_RESOMI_NEWGENERATION
+ nickname = "Ребёнок изгнанников"
description = "Вы новое поколение, произошедшее от недавних имперских беженцев. Вы могли родится в одном из многочисленных гетто, основанной беженцами колоний или пародий на среду обитания. \
Условия жизни сильно разнятся от места к месту, поэтому вы могли успеть прожить за это время как спокойную, так и неспокойную и тяжёлую жизнь. Сильно разнится и поведение, \
оно сильно зависит от условий и окружения, вы могли стать как и более агрессивным и нетерпимым к ксеносам, так и куда более дружелюбными по отношению к другим расам, \
@@ -94,6 +69,7 @@
/singleton/cultural_info/culture/resomi/lost_colony_rich
name = CULTURE_RESOMI_LOSTCOLONYRICH
+ nickname = "Уроженец процветающей потерянной колонии"
description = "Вы выходец с одной из \"потерянных\" колоний. К счастью \"Падение\" не так сильно затронуло вашу колонию,\
а так же благодаря удачному стечению обстоятельств и удалённому расположению нет намёков о том, что Империя знает о вашей колонии.\
Благодаря всему этому вашим предкам удалось относительно спокойно пережить кризис, обрести автономию и сохранить небольшую часть технологий и даже манеры Республики,\
@@ -102,6 +78,7 @@
/singleton/cultural_info/culture/resomi/lost_colony_poor
name = CULTURE_RESOMI_LOSTCOLONYPOOR
+ nickname = "Уроженец упадочной потерянной колонии"
description = "Вы выходец с одной из \"потерянных\" колоний, к сожалению ваша колония сильно пострадала в результате \"Падения\",\
неизвестно почему Империя оставила колонию на произвол судьбы. Возможно она даже не догадывается, что колония всё ещё подаёт признаки жизни,\
возможно всё куда проще, и Империя пока занята своими внутренними проблемами, и не готова взять под свой контроль ещё один голодный и разорёный мир.\
@@ -109,10 +86,19 @@
Колонисты таких миров не живут, они каждый день ведут борьбу за выживание."
economic_power = 0.65
+/singleton/cultural_info/culture/resomi/skrell
+ name = CULTURE_RESOMI_SKRELL
+ nickname = "Скрелльский приемыш"
+ description = "Первая крупная волна резоми-беженцев, частично осевшая у скреллов, прошла еще в 2243 году.\
+ Скреллы оценили развитие и профессионализм некоторых беженцев, оставив их у себя, а менее достойных оставили на попечение ЦПСС. \
+ Резоми, ассимилировавшиеся со скреллами, часто менее эмоциональны и склонны соблюдать многие обычаи Кверрбалака."
+ economic_power = 1.2
+
/singleton/cultural_info/location/birdcage
name = HOME_SYSTEM_RESOMI_BIRDCAGE
+ nickname = "\"Бирдкейдж\" (Среда обитания \"Колхис\")"
description = "Жилой модуль \"Бирдкейдж\" искуственной среды обитания \"Колхис\", расположенной на орбите вокруг Джикамы. \
\"Колхис\" некоторое время являлся пунктом приема для некоторых беженцев-резоми в 2275 году. \
После уменьшения финансирования и закрытия лагеря беженцев для новых приезжих контроль над безопасностью среды обитания был передан её администрации. \
@@ -128,6 +114,7 @@
/singleton/cultural_info/location/eremus
name = HOME_SYSTEM_RESOMI_EREMUS
+ nickname = "Эремус"
description = "Эремус - планета расположенная в системе Голгенна, имеет суперконтинент с двумя огромными морями, соединёнными между собой сетью рек. \
Имеет как и наполненные жизнью биомы возле морей, рек и оазисов, так и неблагоприятные для жизни обширные территории пустынь. \
Помимо людей на планете так же проживают и Резоми, в основном предпочитающие проживать в Варсе. Варс - это общество, основанное беженцами из Империи, \
@@ -138,14 +125,15 @@
Вне стен городов понятие \"экономики\" теряется в песках великих пустынь, уступая место \"понятию\" выживания. Рабство и организованная преступность распространены,\
и уже давно стали обыденностью для жителей данной планеты.
\
Дополнительная информация "
- capital = "None"
- ruling_body = "Varies from settlement to settlement"
- distance = "UNDEFINED DISTANCE"
+ capital = "Отсутствует"
+ ruling_body = "Зависит от поселения"
+ distance = "Неизвестно"
economic_power = 0.85
secondary_langs = list(LANGUAGE_SPACER, LANGUAGE_SIGN, LANGUAGE_GUTTER, LANGUAGE_RESOMI, LANGUAGE_HUMAN_EURO)
/singleton/cultural_info/location/asranda
name = HOME_SYSTEM_RESOMI_ASRANDA
+ nickname = "А’шранда"
description = " А’шранда - одна из колонизированных планет ещё со времён Республики. Планета почти полностью покрыта горами, имеет один океан который проходит почти от полюса до полюса. \
Так же планета обладает мощным магнитным полем (которое сильно мешает удалённому изучению планеты) и внушительными запасами полезных ископаемых. \
Климат имеет четыре сезона в году с минимальными вариациями. Прозрачная вода редко встречается на поверхности, и более крупная растительность встречается лишь в умеренных экваториальных регионах. \
@@ -157,75 +145,95 @@
language = LANGUAGE_RESOMI
capital = "Ацер'на"
ruling_body = "Демократическая олигархия"
- distance = "UNDEFINED DISTANCE"
+ distance = "Неизвестно"
economic_power = 1.15
secondary_langs = list(LANGUAGE_SPACER, LANGUAGE_SIGN, LANGUAGE_HUMAN_EURO)
/singleton/cultural_info/location/saveel
name = HOME_SYSTEM_RESOMI_SAVEEL
+ nickname = "Зер`ин (Савииль)"
description = "Савииль - технологически слаборазвитая колония, расположенная на планете Зер`ин. Планета находится далеко от торговых путей \
и звездных скоплений, что делает её малопосещаемым местом. Так же Зер`ин ничем непримечателен с точки зрения добычи минералов, полезные \
ископаемые присутствуют, но их достаточно мало.
Савиильцы, как правило, являются дикими и грубыми по сравнению с другими Резоми. \
Покинувший свою родную планету савиилец, является крайне редким явлением, особенно учитывая редкую посещаемость Зер`ина.
\
Дополнительная информация"
language = LANGUAGE_RESOMI
- capital = "None"
+ capital = "Отсутствует"
ruling_body = "Племенная олигархия"
- distance = "UNDEFINED DISTANCE"
+ distance = "Неизвестно"
economic_power = 0.45
secondary_langs = list(LANGUAGE_SIGN)
/singleton/cultural_info/location/r_lost_colony
name = HOME_SYSTEM_RESOMI_LOST_COLONY
+ nickname = "Потерянная колония"
description = "Одна из множества \"потерянных\" колоний, основанных во времена Республики. К счастью или к сожалению, по итогу войны с \"восставшей\" синтетикой Империя потеряла контроль \
над множеством миров Резоми, и до сих пор считает, что многие из колоний полностью разорёны или аннигилированы в ходе войны, либо на \
данный момент не проявляет интереса к ним. Уроженцы некоторых так называемых \"потерянных\" колонии часто имеют манеры \"Республики\", такие как семейное ученичество \
, демократическое управление и даже сотрудничество с ИИ. Другие же \"потерянные\" миры, сильно разоренные в результате Падения,\
могут относиться ещё более яростно и более чуждо по отношению к синтетике и некоторым технологиям. Часто таким колониям приходится прибегать к экстремальным поступкам и решениям, чтобы выжить."
language = LANGUAGE_RESOMI
- capital = "Various"
- ruling_body = "Various"
- distance = "Various"
+ capital = "Различается"
+ ruling_body = "Различается"
+ distance = "Различается"
economic_power = 1
secondary_langs = list(LANGUAGE_SPACER, LANGUAGE_SIGN, LANGUAGE_GUTTER, LANGUAGE_HUMAN_EURO)
/singleton/cultural_info/location/r_refuge_colony
name = HOME_SYSTEM_RESOMI_REFUGEE_COLONY
+ nickname = "Колония беженцев"
description = "Малоизвестная колония имперских беженцев, одна из бесчисленного множества подобных.
Резоми, покидающие Империю с большим запасом снабжения и ресурсов, \
и те некоторые, кому удается заработать немало денег в человеческом пространстве, нередко создают свои собственные колонии и места обитания. \
Такие колонии порой распологаются далеко от обитаемого и изученного пространства. Население колоний редко превышает черту и в тысячу колонистов, \
но так или иначе некоторые из них имеют достаточное влияние, дабы \"спасать\" других Резоми, живущих в куда более худших условиях."
language = LANGUAGE_RESOMI
- capital = "Various"
- ruling_body = "Various"
- distance = "Various"
+ capital = "Различается"
+ ruling_body = "Различается"
+ distance = "Различается"
economic_power = 0.8
secondary_langs = list(LANGUAGE_SPACER, LANGUAGE_SIGN, LANGUAGE_GUTTER, LANGUAGE_HUMAN_EURO)
/singleton/cultural_info/location/r_homeless
name = HOME_SYSTEM_RESOMI_HOMELESS
+ nickname = "Не указано"
description = "Судя по всему, обстоятельства сложились так что вам не удалось найти свой новый дом вне границ Империи. Но скорее всего вы смогли найти работу, \
и сохранить часть \"средств\" на дальнейшее существование, правда?"
language = LANGUAGE_RESOMI
- capital = "none"
- ruling_body = "none"
- distance = "none"
+ capital = "Отсутствует"
+ ruling_body = "Отсутствует"
+ distance = "Отсутствует"
economic_power = 0.55
secondary_langs = list(LANGUAGE_SPACER, LANGUAGE_SIGN, LANGUAGE_GUTTER, LANGUAGE_HUMAN_EURO)
-/singleton/cultural_info/location/imperial_colony
+/*/singleton/cultural_info/location/imperial_colony
name = HOME_SYSTEM_RESOMI_IMPER_COLONY
+ nickname = "Имперская колония"
description = "Одна из множества колоний нахоядщихся во власти Империи, как и остальные страдающая от недостатка нормальной пищи, припасов и низкого уровня жизни в большей или чуть меньшей степени."
language = LANGUAGE_RESOMI
- capital = "Various"
- ruling_body = "Various"
- distance = "Various"
+ capital = "Различается"
+ ruling_body = "Различается"
+ distance = "Различается"
economic_power = 0.4
- secondary_langs = list(LANGUAGE_SPACER, LANGUAGE_SIGN)
+ secondary_langs = list(LANGUAGE_SPACER, LANGUAGE_SIGN)*/
+
+/singleton/cultural_info/location/resobalak
+ name = HOME_SYSTEM_RESOMI_RESOBALAK
+ nickname = "Скреллианская Империя"
+ description = "Со времени первой крупной волны резоми-беженцев, осевших у скреллов, успело смениться уже три поколения, и вы - представитель резоми, родившихся на территории Скреллианской Империи. \
+ Об Империи вы знаете только из исторических книг и рассказов своих родителей. \
+ Пусть традиции резоми и не обошли вас полностью, вы являетесь частью культуры скреллов."
+ language = LANGUAGE_RESOMI
+ additional_langs = list(LANGUAGE_SKRELLIAN)
+ capital = "Кверр'балак"
+ ruling_body = "Скреллианская Империя"
+ distance = "67 световых лет"
+ economic_power = 1.4
+ secondary_langs = list(LANGUAGE_SPACER, LANGUAGE_SIGN, LANGUAGE_HUMAN_EURO)
/singleton/cultural_info/religion/chosen
name = RELIGION_RESOMI_CHOSEN
+ nickname = "Вера Избранных"
description = "Некогда преобладавшая религия до падения Республики. \"Вера Избранных\" - политеистическая религия, состоящая из четырнадцати божеств, в\
которой каждый из богов управляет каким-либо аспектом жизни. Прежде всего, это Мать и Отец. Мать является создательницей звезд и неба, которая в паре\
с Отцом вылупила остальных Богов. Отец - это прародитель всех Резоми, который поместил Сирисай на небеса и Резоми на него. Согласно Вере, святая\
@@ -233,15 +241,18 @@
/singleton/cultural_info/religion/emperor
name = RELIGION_RESOMI_EMPEROR
+ nickname = "Культ Императора"
description = "Претерпевшая изменения во время падения \"Вера Избранных\", теперь ключевую роль в религии занимает бог-император - сын великих Матери и Отца,\
посланный провести великий народ сквозь тёмное время."
/singleton/cultural_info/religion/mountain
name = RELIGION_RESOMI_MOUNTAIN
+ nickname = "Эхо Гор"
description = "Образовавшаяся из поверий шахтёров, религия \"Эхо Гор\" стала популярна среди множества укрывшихся в шахтах и пещерах Резоми. Она говорит\
о святости Гор, и возможности через медитацию стать единым с ними, подобным их несокрушимости и вечности, и обрести общую судьбу."
/singleton/cultural_info/religion/skies
name = RELIGION_RESOMI_SKIES
+ nickname = "Свет Небес"
description = "Прозрачные небеса пропускают свет бессмертных и прекрасных звёзд, некогда потрясших своей красотой вышедших на поверхность после восстания \
машин Резоми. Религия \"Свет Небес\" гласит, что каждая звезда святая, и что именно из их божественного света и произошли Резоми,поэтому они обязаны воссоединиться с ними."
diff --git a/mods/resomi/code/datum/species.dm b/mods/resomi/code/datum/species.dm
index 18d5f0005d77f..2b95a68ec3964 100644
--- a/mods/resomi/code/datum/species.dm
+++ b/mods/resomi/code/datum/species.dm
@@ -47,7 +47,6 @@
blood_volume = 280
hunger_factor = DEFAULT_HUNGER_FACTOR * 1.5
taste_sensitivity = TASTE_SENSITIVE
- pulse_rate_mod = 1.5
body_temperature = 314.15
spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED | SPECIES_NO_FBP_CONSTRUCTION | SPECIES_NO_FBP_CHARGEN
@@ -64,14 +63,14 @@
heat_level_3 = 600
heat_discomfort_level = 292
heat_discomfort_strings = list(
- "Ваши перья колются от жары..",
- "Вы чувствуете дискомфорт от жары..",
+ "Вашу кожу покалывает от жары.",
+ "Вам жарко.",
)
cold_discomfort_level = 200
cold_discomfort_strings = list(
- "Вы не чувствуете своих лап из-за холода..",
- "Вы чувствуете усталость и чувство холода..",
- "Твои перья щетинятся от холода..")
+ "Вы не чувствуете своих лап из-за холода.",
+ "Вы чувствуете усталость и чувство холода.",
+ "Ваши перья щетинятся от холода.")
has_limbs = list(
BP_CHEST = list("path" = /obj/item/organ/external/chest),
@@ -126,9 +125,10 @@
CULTURE_HUMAN_MARSTUN,
CULTURE_HUMAN_PLUTO,
CULTURE_HUMAN_BELTER,
- CULTURE_HUMAN_CETI,
+ CULTURE_HUMAN_CETII,
CULTURE_RESOMI_LOSTCOLONYRICH,
CULTURE_RESOMI_LOSTCOLONYPOOR,
+ CULTURE_RESOMI_SKRELL,
//CULTURE_RESOMI_SAVEEL,
CULTURE_OTHER
),
@@ -144,8 +144,9 @@
HOME_SYSTEM_TAU_CETI,
HOME_SYSTEM_RESOMI_REFUGEE_COLONY,
HOME_SYSTEM_RESOMI_LOST_COLONY,
- HOME_SYSTEM_RESOMI_HOMELESS,
HOME_SYSTEM_RESOMI_SAVEEL,
+ HOME_SYSTEM_RESOMI_RESOBALAK,
+ HOME_SYSTEM_RESOMI_HOMELESS,
HOME_SYSTEM_OTHER
),
TAG_FACTION = list(
@@ -156,6 +157,9 @@
FACTION_EXPEDITIONARY,
FACTION_CORPORATE,
FACTION_DAIS,
+ FACTION_SKRELL_KRRIGLI,
+ FACTION_SKRELL_MED,
+ FACTION_SKRELL_FOOD,
//FACTION_ZENG_HU,
//FACTION_WARD_TAKAHASHI,
//FACTION_GRAYSON,
@@ -199,4 +203,5 @@
/singleton/emote/audible/cough/resomi,
/singleton/emote/audible/laugh/resomi,
/singleton/emote/audible/scream/resomi,
+ /singleton/emote/audible/sneeze/resomi,
)
diff --git a/mods/resomi/code/gear.dm b/mods/resomi/code/gear.dm
deleted file mode 100644
index 0b2413259630c..0000000000000
--- a/mods/resomi/code/gear.dm
+++ /dev/null
@@ -1,8 +0,0 @@
-/datum/gear/passport/resomi
- display_name = "(Resomi) registration document"
- path = /obj/item/passport/xeno/resomi
- sort_category = "Xenowear"
- flags = 0
- whitelisted = list(SPECIES_RESOMI)
- custom_setup_proc = /obj/item/passport/proc/set_info
- cost = 0
diff --git a/mods/resomi/code/overrides.dm b/mods/resomi/code/overrides.dm
new file mode 100644
index 0000000000000..c798ce0fd3be1
--- /dev/null
+++ b/mods/resomi/code/overrides.dm
@@ -0,0 +1,36 @@
+#define PULSE_NUMBER_NONE 0
+#define PULSE_NUMBER_SLOW 50
+#define PULSE_NUMBER_NORM 75
+#define PULSE_NUMBER_FAST 105
+#define PULSE_NUMBER_2FAST 140
+#define PULSE_NUMBER_THREADY PULSE_MAX_BPM
+
+
+/mob/living/carbon/human/get_pulse_as_number()
+ var/obj/item/organ/internal/heart/heart_organ = internal_organs_by_name[BP_HEART]
+ if(!heart_organ)
+ return PULSE_NUMBER_NONE
+
+ var/raw_pulse_number
+ switch(pulse())
+ if(PULSE_NONE)
+ return PULSE_NUMBER_NONE
+ if(PULSE_SLOW)
+ raw_pulse_number = PULSE_NUMBER_SLOW
+ if(PULSE_NORM)
+ raw_pulse_number = PULSE_NUMBER_NORM
+ if(PULSE_FAST)
+ raw_pulse_number = PULSE_NUMBER_FAST
+ if(PULSE_2FAST)
+ raw_pulse_number = PULSE_NUMBER_2FAST
+ if(PULSE_THREADY)
+ return PULSE_NUMBER_THREADY
+ return ((raw_pulse_number * (2 - species.blood_volume / SPECIES_BLOOD_DEFAULT)) + (raw_pulse_number * rand(-0.2, 0.2)))
+
+
+#undef PULSE_NUMBER_NONE
+#undef PULSE_NUMBER_SLOW
+#undef PULSE_NUMBER_NORM
+#undef PULSE_NUMBER_FAST
+#undef PULSE_NUMBER_2FAST
+#undef PULSE_NUMBER_THREADY
diff --git a/mods/resomi/code/unit_tests.dm b/mods/resomi/code/unit_tests.dm
index 0ccded0359e44..bf291c4baf5a5 100644
--- a/mods/resomi/code/unit_tests.dm
+++ b/mods/resomi/code/unit_tests.dm
@@ -2,6 +2,10 @@
// RESOMI UNIT TESTS
// =================================================================
+/mob/living/carbon/human/resomi/Initialize(mapload)
+ head_hair_style = "Resomi Plumage"
+ . = ..(mapload, SPECIES_RESOMI)
+
/datum/unit_test/mob_damage/resomi
name = "MOB: Resomi damage check template"
template = /datum/unit_test/mob_damage/resomi
diff --git a/mods/resomi/icons/clothing/onmob_accessories_resomi.dmi b/mods/resomi/icons/clothing/onmob_accessories_resomi.dmi
index 1112714a98a99..ac08f4567a7d0 100644
Binary files a/mods/resomi/icons/clothing/onmob_accessories_resomi.dmi and b/mods/resomi/icons/clothing/onmob_accessories_resomi.dmi differ
diff --git a/mods/resomi/icons/clothing/onmob_back_resomi.dmi b/mods/resomi/icons/clothing/onmob_back_resomi.dmi
index 707cd2397ba1c..00d33ad21b0b5 100644
Binary files a/mods/resomi/icons/clothing/onmob_back_resomi.dmi and b/mods/resomi/icons/clothing/onmob_back_resomi.dmi differ
diff --git a/mods/resomi/icons/clothing/onmob_feet_resomi.dmi b/mods/resomi/icons/clothing/onmob_feet_resomi.dmi
index 07b1c4eeb709d..63c86295d2bbf 100644
Binary files a/mods/resomi/icons/clothing/onmob_feet_resomi.dmi and b/mods/resomi/icons/clothing/onmob_feet_resomi.dmi differ
diff --git a/mods/resomi/icons/clothing/onmob_hands_resomi.dmi b/mods/resomi/icons/clothing/onmob_hands_resomi.dmi
index eb03bee08a935..c491888f6b664 100644
Binary files a/mods/resomi/icons/clothing/onmob_hands_resomi.dmi and b/mods/resomi/icons/clothing/onmob_hands_resomi.dmi differ
diff --git a/mods/resomi/icons/clothing/onmob_head_resomi.dmi b/mods/resomi/icons/clothing/onmob_head_resomi.dmi
index f45b917b026ef..c50b4e7ee75fa 100644
Binary files a/mods/resomi/icons/clothing/onmob_head_resomi.dmi and b/mods/resomi/icons/clothing/onmob_head_resomi.dmi differ
diff --git a/mods/resomi/icons/clothing/onmob_mask_resomi.dmi b/mods/resomi/icons/clothing/onmob_mask_resomi.dmi
index a93f82087a026..379e090734d79 100644
Binary files a/mods/resomi/icons/clothing/onmob_mask_resomi.dmi and b/mods/resomi/icons/clothing/onmob_mask_resomi.dmi differ
diff --git a/mods/resomi/icons/clothing/onmob_modular_armor_resomi.dmi b/mods/resomi/icons/clothing/onmob_modular_armor_resomi.dmi
new file mode 100644
index 0000000000000..cc7736323c548
Binary files /dev/null and b/mods/resomi/icons/clothing/onmob_modular_armor_resomi.dmi differ
diff --git a/mods/resomi/icons/clothing/onmob_rig_back_resomi.dmi b/mods/resomi/icons/clothing/onmob_rig_back_resomi.dmi
index 8f7bf868bb5c3..3daf2f9440d47 100644
Binary files a/mods/resomi/icons/clothing/onmob_rig_back_resomi.dmi and b/mods/resomi/icons/clothing/onmob_rig_back_resomi.dmi differ
diff --git a/mods/resomi/icons/clothing/onmob_rig_modules_resomi.dmi b/mods/resomi/icons/clothing/onmob_rig_modules_resomi.dmi
new file mode 100644
index 0000000000000..895a4f250ab48
Binary files /dev/null and b/mods/resomi/icons/clothing/onmob_rig_modules_resomi.dmi differ
diff --git a/mods/resomi/icons/clothing/onmob_suit_resomi.dmi b/mods/resomi/icons/clothing/onmob_suit_resomi.dmi
index cc63d9de0cc9e..0eb3b1f95a3ff 100644
Binary files a/mods/resomi/icons/clothing/onmob_suit_resomi.dmi and b/mods/resomi/icons/clothing/onmob_suit_resomi.dmi differ
diff --git a/mods/resomi/icons/clothing/onmob_under_resomi.dmi b/mods/resomi/icons/clothing/onmob_under_resomi.dmi
index 2197b4b203dae..9772bb249a834 100644
Binary files a/mods/resomi/icons/clothing/onmob_under_resomi.dmi and b/mods/resomi/icons/clothing/onmob_under_resomi.dmi differ
diff --git a/mods/resomi/icons/human_races/eyes.dmi b/mods/resomi/icons/human_races/eyes.dmi
new file mode 100644
index 0000000000000..0db6a11a6b3b8
Binary files /dev/null and b/mods/resomi/icons/human_races/eyes.dmi differ
diff --git a/mods/unathi/README.md b/mods/unathi/README.md
new file mode 100644
index 0000000000000..c7def3de21fbe
--- /dev/null
+++ b/mods/unathi/README.md
@@ -0,0 +1,79 @@
+
+#### Список PRов:
+
+- https://github.com/SierraBay/SierraBay12/pull/1856
+
+
+
+## Unathi
+
+ID мода: UNATHI
+
+
+### Описание мода
+
+Мод включает особые механики рас унати и йоза'унати, доступные на билде Infinity.
+- Изменена механика ядовитого укуса йоза'унати - теперь вводит реагент яда вместо нанесения токсичного урона;
+- Возвращена механика переключения регенерации унати.
+
+
+### Изменения *кор кода*
+
+Отсутствуют
+
+
+### Оверрайды
+
+Отсутствуют
+
+
+### Дефайны
+
+Отсутствуют
+
+
+### Используемые файлы, не содержащиеся в модпаке
+
+Отсутствуют
+
+
+### Авторы:
+
+UEDHighCommand
+
diff --git a/mods/unathi/_unathi.dm b/mods/unathi/_unathi.dm
new file mode 100644
index 0000000000000..cf75927f62d47
--- /dev/null
+++ b/mods/unathi/_unathi.dm
@@ -0,0 +1,4 @@
+/singleton/modpack/unathi
+ name = "Унати"
+ desc = "Мод включает особые механики рас унати и йоза'унати, доступные на билде Infinity"
+ author = "UEDHighCommand"
diff --git a/mods/unathi/_unathi.dme b/mods/unathi/_unathi.dme
new file mode 100644
index 0000000000000..8f4697ade7f11
--- /dev/null
+++ b/mods/unathi/_unathi.dme
@@ -0,0 +1,11 @@
+#ifndef MODPACK_UNATHI
+#define MODPACK_UNATHI
+
+
+#include "_unathi.dm"
+
+#include "code/reagents.dm"
+#include "code/species.dm"
+#include "code/species_attack.dm"
+
+#endif
diff --git a/mods/unathi/code/aura.dm b/mods/unathi/code/aura.dm
new file mode 100644
index 0000000000000..01297fe8fb4f4
--- /dev/null
+++ b/mods/unathi/code/aura.dm
@@ -0,0 +1,3 @@
+/obj/aura/regenerating/human/unathi/toggle()
+ ..()
+ toggle_blocked_until = max(world.time + 2 MINUTES, toggle_blocked_until)
diff --git a/mods/unathi/code/reagents.dm b/mods/unathi/code/reagents.dm
new file mode 100644
index 0000000000000..d30a1a72a00f2
--- /dev/null
+++ b/mods/unathi/code/reagents.dm
@@ -0,0 +1,12 @@
+/datum/reagent/toxin/yeosvenom
+ name = "Esh Hashaar Haashane"
+ description = "A non-lethal toxin produced by Yeosa'Unathi"
+ taste_description = "absolutely vile"
+ color = "#91d895"
+ target_organ = BP_LIVER
+ strength = 1
+
+/datum/reagent/toxin/yeosvenom/affect_blood(mob/living/carbon/M, alien, removed)
+ if(prob(volume*10))
+ M.set_confused(10)
+ ..()
diff --git a/mods/unathi/code/species.dm b/mods/unathi/code/species.dm
new file mode 100644
index 0000000000000..cc7f7d8856d08
--- /dev/null
+++ b/mods/unathi/code/species.dm
@@ -0,0 +1,5 @@
+/datum/species/unathi/yeosa/New()
+ if (/datum/unarmed_attack/bite/venom in unarmed_types)
+ unarmed_types -= /datum/unarmed_attack/bite/venom
+ unarmed_types += /datum/unarmed_attack/bite/venom/yeosa
+ . = ..()
diff --git a/mods/unathi/code/species_attack.dm b/mods/unathi/code/species_attack.dm
new file mode 100644
index 0000000000000..cd8737e6dea87
--- /dev/null
+++ b/mods/unathi/code/species_attack.dm
@@ -0,0 +1,27 @@
+#define VENOM_ON_ATTACK_LOWER_TRESHOLD 0.875
+
+/datum/unarmed_attack/bite/venom/yeosa
+ var/poison_per_bite = 8
+ var/poison_type = /datum/reagent/toxin/yeosvenom
+ attack_verb = list("bit", "sank their fangs into")
+ attack_sound = 'sound/weapons/bite.ogg'
+ attack_name = "venomous bite"
+ damage = 1
+ delay = 3 SECONDS
+
+/datum/unarmed_attack/bite/venom/yeosa/apply_effects(mob/living/carbon/human/user, mob/living/carbon/human/target, armour, attack_damage, zone)
+ ..()
+ if(istype(src) && target && ishuman(target))
+ var/mob/living/carbon/human/H = target
+ var/obj/item/clothing/suit/space/S = H.get_covering_equipped_item_by_zone(zone)
+ if(istype(S) && !length(S.breaches))
+ return
+ if(target.reagents)
+ target.reagents.add_reagent(src.poison_type, rand(VENOM_ON_ATTACK_LOWER_TRESHOLD * src.poison_per_bite, src.poison_per_bite))
+ if(prob(src.poison_per_bite))
+ to_chat(H, SPAN_WARNING("You feel a tiny prick."))
+
+/datum/unarmed_attack/bite/venom/yeosa/get_damage_type()
+ return DAMAGE_BRUTE
+
+#undef VENOM_ON_ATTACK_LOWER_TRESHOLD
diff --git a/packs/infinity/sound/voice/resomicougha.ogg b/packs/infinity/sound/voice/resomicougha.ogg
deleted file mode 100644
index cbc85d526e240..0000000000000
Binary files a/packs/infinity/sound/voice/resomicougha.ogg and /dev/null differ
diff --git a/packs/infinity/sound/voice/resomicoughb.ogg b/packs/infinity/sound/voice/resomicoughb.ogg
deleted file mode 100644
index b0e0c994e986e..0000000000000
Binary files a/packs/infinity/sound/voice/resomicoughb.ogg and /dev/null differ
diff --git a/packs/infinity/sound/voice/resomisneeze.ogg b/packs/infinity/sound/voice/resomisneeze.ogg
deleted file mode 100644
index f7428654647d8..0000000000000
Binary files a/packs/infinity/sound/voice/resomisneeze.ogg and /dev/null differ