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:

-
-
Head Pats возвращены
-
-

Обновления ВашНикнейм:

-
-
Фикс доступа ИИ к некоторым вещам неподключенным к сети.
-
Добавлена возможность пользоваться терминалом через консоли за ИИ
-
- -

03.03 - 2024

-

Обновления Gy1ta23:

-
-
chemistry has a sink
-
-

Обновления 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:

-
-
Fixed white skybox
-
- -

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
+
Добавлены расовые спрайты под унати для некоторых предметов из лодаута
Icons by Icons8
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