diff --git a/Content.Server/_Obelisk/Species/Components/HydrakinComponent.cs b/Content.Server/_Obelisk/Species/Components/HydrakinComponent.cs
index 6c8c63f47ac..d43085e3190 100644
--- a/Content.Server/_Obelisk/Species/Components/HydrakinComponent.cs
+++ b/Content.Server/_Obelisk/Species/Components/HydrakinComponent.cs
@@ -23,4 +23,20 @@ public sealed partial class HydrakinComponent : Component
[DataField]
public EntityUid? CoolOffAction;
+
+ // Arcane-Start
+
+ ///
+ /// Temperature at which heat is transferred
+ ///
+ [DataField]
+ public float HugTransferThreshold = 313.0f;
+
+ ///
+ /// How much does a hug warm up
+ ///
+ [DataField]
+ public float WarmUpCoefficient = 0.05f;
+
+ // Arcane-End
}
diff --git a/Content.Server/_Obelisk/Species/Systems/HydrakinSystem.cs b/Content.Server/_Obelisk/Species/Systems/HydrakinSystem.cs
index c6e1c2131ec..56d45431d8b 100644
--- a/Content.Server/_Obelisk/Species/Systems/HydrakinSystem.cs
+++ b/Content.Server/_Obelisk/Species/Systems/HydrakinSystem.cs
@@ -1,6 +1,7 @@
using Content.Server._Obelisk.Species.Components;
using Content.Server.Popups;
using Content.Server.Temperature.Systems;
+using Content.Shared.Interaction.Events;
using Content.Shared._Mono.Species.Systems;
using Content.Shared._Obelisk.Actions.Events;
using Content.Shared.Actions;
@@ -25,6 +26,7 @@ public override void Initialize()
SubscribeLocalEvent(OnInit);
SubscribeLocalEvent(OnCoolOff);
SubscribeLocalEvent(OnCoolOffDoAfter);
+ SubscribeLocalEvent(OnHug); // Arcane
}
private void OnInit(EntityUid uid, HydrakinComponent component, ComponentInit args)
@@ -74,4 +76,26 @@ private void OnCoolOffDoAfter(Entity ent, ref CoolOffDoAfterE
args.Handled = true;
}
+
+ // Arcane-Start
+ private void OnHug(EntityUid uid, TemperatureComponent component, ref InteractionSuccessEvent args)
+ {
+ if (!TryComp(args.User, out var hydrakinComp) ||
+ !TryComp(args.User, out var huggerTemp) ||
+ huggerTemp.CurrentTemperature < 313.0f)
+ return;
+
+ var dTHugger = -(hydrakinComp.CoolOffCoefficient * huggerTemp.CurrentTemperature);
+ var C_hHugger = _temp.GetHeatCapacity(args.User, huggerTemp);
+ var QHugger = C_hHugger * dTHugger;
+
+ _temp.ChangeHeat(args.User, QHugger, true);
+
+ var dTTarget = (TryComp(uid, out var hydrakinTarget)) ? -(hydrakinTarget.CoolOffCoefficient * component.CurrentTemperature) : (hydrakinComp.WarmUpCoefficient * component.CurrentTemperature) ;
+ var C_hTarget = _temp.GetHeatCapacity(uid, component);
+ var QTarget = C_hTarget * dTTarget;
+
+ _temp.ChangeHeat(uid, QTarget, true);
+ }
+ // Arcane-End
}
diff --git a/Resources/Locale/ru-RU/_EinsteinEngines/chat/managers/chat-language.ftl b/Resources/Locale/ru-RU/_EinsteinEngines/chat/managers/chat-language.ftl
index 476f930ae5e..b1a095ead66 100644
--- a/Resources/Locale/ru-RU/_EinsteinEngines/chat/managers/chat-language.ftl
+++ b/Resources/Locale/ru-RU/_EinsteinEngines/chat/managers/chat-language.ftl
@@ -20,6 +20,7 @@ chat-language-Sign-name = Жесты
chat-language-Marish-name = Мариш
chat-language-Chittin-name = Хитин
chat-language-Xeeplian-name = Ксиплианский
+chat-language-Hydraspeak-name = Ги'драв'та
# Дополнительные языки
diff --git a/Resources/Locale/ru-RU/_EinsteinEngines/language/languages.ftl b/Resources/Locale/ru-RU/_EinsteinEngines/language/languages.ftl
index 1583553e71a..8f268bbbd4d 100644
--- a/Resources/Locale/ru-RU/_EinsteinEngines/language/languages.ftl
+++ b/Resources/Locale/ru-RU/_EinsteinEngines/language/languages.ftl
@@ -42,6 +42,8 @@ language-Chittin-name = Хитинновый
language-Chittin-description = Язык щелчков и жужжания, требующий антенн для полноценного воспроизведения.
language-Xeeplian-name = Ксиплианский
language-Xeeplian-description = Наш язык высокоразвит, эффективен и точен. В погоне за Целями Мы переняли некоторые элементы лепета низших форм жизни.
+language-Hydraspeak-name = Ги'драв'та
+language-Hydraspeak-description = Необычный язык из чириканья, дрожания и щебетаний с резкими тональными сдвигами и сменой высоты тона. Из-за птичьей природы гидракинов одно слово может одновременно означать миллион других вещей, что делает этот язык практически непостижимым даже для других птицеподобных рас.
# Animal Languages
diff --git a/Resources/Locale/ru-RU/_Mono/metabolizer-types.ftl b/Resources/Locale/ru-RU/_Mono/metabolizer-types.ftl
new file mode 100644
index 00000000000..d190499212a
--- /dev/null
+++ b/Resources/Locale/ru-RU/_Mono/metabolizer-types.ftl
@@ -0,0 +1 @@
+metabolizer-type-hydrakin = Гидракин
diff --git a/Resources/Locale/ru-RU/_Mono/reagents/medicine.ftl b/Resources/Locale/ru-RU/_Mono/reagents/medicine.ftl
new file mode 100644
index 00000000000..8044711e048
--- /dev/null
+++ b/Resources/Locale/ru-RU/_Mono/reagents/medicine.ftl
@@ -0,0 +1,2 @@
+reagent-name-peranol = перанол
+reagent-desc-peranol = Более стабильная версия лепоразина, снижающая температуру тела и лечащая термические ожоги. Оказывает усиленное воздействие на гидракинов.
diff --git a/Resources/Locale/ru-RU/_Obelisk/abilities/hydrakin.ftl b/Resources/Locale/ru-RU/_Obelisk/abilities/hydrakin.ftl
new file mode 100644
index 00000000000..83d0e2bfc68
--- /dev/null
+++ b/Resources/Locale/ru-RU/_Obelisk/abilities/hydrakin.ftl
@@ -0,0 +1 @@
+hydrakin-cool-off-emote = {THE($name)} начинает излучать тепло.
diff --git a/Resources/Locale/ru-RU/_Obelisk/datasets/names/hydrakin.ftl b/Resources/Locale/ru-RU/_Obelisk/datasets/names/hydrakin.ftl
new file mode 100644
index 00000000000..608700ee912
--- /dev/null
+++ b/Resources/Locale/ru-RU/_Obelisk/datasets/names/hydrakin.ftl
@@ -0,0 +1,31 @@
+names-hydrakin-dataset-1 = Гидра
+names-hydrakin-dataset-2 = Йеза
+names-hydrakin-dataset-3 = Урия
+names-hydrakin-dataset-4 = Хела
+names-hydrakin-dataset-5 = Мер
+names-hydrakin-dataset-6 = Кава
+names-hydrakin-dataset-7 = Микри
+names-hydrakin-dataset-8 = Гидр
+names-hydrakin-dataset-9 = Хева
+names-hydrakin-dataset-10 = Мара
+names-hydrakin-dataset-11 = Ави
+names-hydrakin-dataset-12 = Вело
+names-hydrakin-dataset-13 = Хара
+names-hydrakin-dataset-14 = Летка
+names-hydrakin-dataset-15 = Кева
+names-hydrakin-dataset-16 = Эри
+names-hydrakin-dataset-17 = Ауро
+names-hydrakin-dataset-18 = Вейа
+names-hydrakin-dataset-19 = Вава-Кава
+names-hydrakin-dataset-20 = Хико-Ува
+names-hydrakin-dataset-21 = Кено-Вела
+names-hydrakin-dataset-22 = Мака-Йера
+names-hydrakin-dataset-23 = Лето-Хева
+names-hydrakin-dataset-24 = Ура-Иро
+names-hydrakin-dataset-25 = Велра-Лакти
+names-hydrakin-dataset-26 = Хема-Гама
+names-hydrakin-dataset-27 = Аваки
+names-hydrakin-dataset-28 = Виема
+names-hydrakin-dataset-29 = Кевев
+names-hydrakin-dataset-30 = Мека
+names-hydrakin-dataset-31 = Мерва
diff --git a/Resources/Locale/ru-RU/_Obelisk/markings/hydrakin.ftl b/Resources/Locale/ru-RU/_Obelisk/markings/hydrakin.ftl
new file mode 100644
index 00000000000..ca2900d8429
--- /dev/null
+++ b/Resources/Locale/ru-RU/_Obelisk/markings/hydrakin.ftl
@@ -0,0 +1,71 @@
+marking-HydrakinEyesDefault = Обычные глаза
+marking-HydrakinEyesHex = Шестигранные глаза
+marking-HydrakinEyesOmega = Омега глаза
+marking-HydrakinEyesQuad = Четверные глаза
+marking-HydrakinEyesRing = Кольцевые глаза
+marking-HydrakinEyesSaint = Святые глаза
+
+marking-HydrakinTailDefault = Хвост
+marking-HydrakinTailNub = Пухлый
+marking-HydrakinTailFeathers = Перистый
+marking-HydrakinTailSpiny = Шипастый
+marking-HydrakinTailFins = Плавники
+
+marking-HydrakinEarsDefault = Обычные уши
+marking-HydrakinEarsOld = Тонкие уши
+marking-HydrakinEarsFin = Плавниковые уши
+marking-HydrakinEarsFrilled = Воротникообразные уши
+
+marking-HydrakinProtoChest = Киберкин
+
+marking-HydrakinProtoLeftArm = Киберкин, Левая рука
+marking-HydrakinProtoRightArm = Киберкин, Правая рука
+
+marking-HydrakinProtoLeftLeg = Киберкин, Левая нога
+marking-HydrakinProtoRightLeg = Киберкин, Правая нога
+
+marking-HydrakinProtoVisor = Визор
+marking-HydrakinProtoFace1 = Кольцевой дисплей
+marking-HydrakinProtoFace2 = Серьезный дисплей
+marking-HydrakinProtoFace3 = Коварный дисплей
+marking-HydrakinProtoFace4 = Грустный дисплей
+marking-HydrakinProtoFace5 = Расслабленный дисплей
+
+marking-HydrakinEnforcerHead = Силовик, Голова
+marking-HydrakinEnforcerChest = Силовик, Грудь
+marking-HydrakinEnforcerLeftArm = Силовик, Левая рука
+marking-HydrakinEnforcerRightArm = Силовик, Правая рука
+marking-HydrakinEnforcerLeftLeg = Силовик, Левая нога
+marking-HydrakinEnforcerRightLeg = Силовик, Правая нога
+
+marking-HydrakinHydraFaceMask = Гидра, Лицевая панель
+marking-HydrakinHydraSeerMarking = Гидра, Глаза провидца
+marking-HydrakinHydraMantleMaw = Гидра, Мантийная пасть
+marking-HydrakinHydraUnderbelly = Гидра, Грудь
+marking-HydrakinHydraLeftArm = Гидра, Левая рука
+marking-HydrakinHydraRightArm = Гидра, Правая рука
+marking-HydrakinHydraLeftLeg = Гидра, Левая нога
+marking-HydrakinHydraRightLeg = Гидра, Правая нога
+marking-HydrakinHydraTailFeathers = Гидра, Перистый хвост
+marking-HydrakinHydraSeerEars = Гидра, Уши провидца
+
+marking-HydrakinMysticHead = Мистик, Голова
+marking-HydrakinMysticChest = Мистик, Грудь
+marking-HydrakinMysticLeftArm = Мистик, Левая рука
+marking-HydrakinMysticRightArm = Мистик, Правая рука
+marking-HydrakinMysticLeftLeg = Мистик, Левая нога
+marking-HydrakinMysticRightLeg = Мистик, Правая нога
+
+marking-HydrakinRebelHead = Повстанец, Голова
+marking-HydrakinRebelChest = Повстанец, Грудь
+marking-HydrakinRebelLeftArm = Повстанец, Левая рука
+marking-HydrakinRebelRightArm = Повстанец, Правая рука
+marking-HydrakinRebelLeftLeg = Повстанец, Левая нога
+marking-HydrakinRebelRightLeg = Повстанец, Правая нога
+
+marking-HydrakinTribalHead = Племенной, Голова
+marking-HydrakinTribalChest = Племенной, Грудь
+marking-HydrakinTribalLeftArm = Племенной, Левая рука
+marking-HydrakinTribalRightArm = Племенной, Правая рука
+marking-HydrakinTribalLeftLeg = Племенной, Левая нога
+marking-HydrakinTribalRightLeg = Племенной, Правая нога
diff --git a/Resources/Locale/ru-RU/_corvaxgoob/lathe/recipes.ftl b/Resources/Locale/ru-RU/_corvaxgoob/lathe/recipes.ftl
new file mode 100644
index 00000000000..2cd10810995
--- /dev/null
+++ b/Resources/Locale/ru-RU/_corvaxgoob/lathe/recipes.ftl
@@ -0,0 +1 @@
+lathe-recipe-HydraspeakTranslatorImplanter-subname = Ги'драв'та
diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_einsteinengines/objects/devices/translator_implants.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_einsteinengines/objects/devices/translator_implants.ftl
index 399b26d8394..08ad1f5ebc7 100644
--- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_einsteinengines/objects/devices/translator_implants.ftl
+++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_einsteinengines/objects/devices/translator_implants.ftl
@@ -34,3 +34,5 @@ ent-NewKinPidginTranslatorImplant = имплант "переводчик Ка'р
.desc = Имплант, дающий возможность понимать и говорить на Ка'ракк.
ent-GruntishTranslatorImplant = имплант "Грунтич"
.desc = Имплант, дающий возможность понимать и говорить на Грунтиче.
+ent-HydraspeakTranslatorImplant = имплант "переводчик Ги'драв'та"
+ .desc = Имплант, позволяющий общаться с гидракинами.
diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_einsteinengines/objects/devices/translators.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_einsteinengines/objects/devices/translators.ftl
index 5fb34a52b48..20f9f1f0eab 100644
--- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_einsteinengines/objects/devices/translators.ftl
+++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_einsteinengines/objects/devices/translators.ftl
@@ -43,3 +43,5 @@ ent-SchechiTranslator = переводчик (Шшечи)
.desc = Переводит речь между Шшечи и Межгалактическим. В основном используется Резоми.
ent-GruntishTranslator = переводчик (Грунтич)
.desc = Переводит речь между Грунтич и Межгалактическим. В основном используется Ёкаями.
+ent-HydraspeakTranslator = переводчик (Ги'драв'та)
+ .desc = Переводит речь между Ги'драв'та и Межгалактическим.
diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_einsteinengines/objects/misc/translator_implanters.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_einsteinengines/objects/misc/translator_implanters.ftl
index be3f68325d8..9c1ae397dd9 100644
--- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_einsteinengines/objects/misc/translator_implanters.ftl
+++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_einsteinengines/objects/misc/translator_implanters.ftl
@@ -55,3 +55,6 @@ ent-NewKinPidginTranslatorImplanter = имплантер
ent-GruntishTranslatorImplanter = { ent-BaseTranslatorImplanter }
.suffix = Переводчик Грунтич
.desc = { ent-BaseTranslatorImplanter.desc }
+ent-HydraspeakTranslatorImplanter = { ent-BaseTranslatorImplanter }
+ .suffix = Переводчик Ги'драв'та
+ .desc = { ent-BaseTranslatorImplanter.desc }
diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/rehydrateable.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/rehydrateable.ftl
index 9102ac6734a..95649cb3249 100644
--- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/rehydrateable.ftl
+++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/rehydrateable.ftl
@@ -32,3 +32,11 @@ ent-ChitinidCube = хитинидовый кубик
.desc = { ent-MonkeyCube.desc }
ent-FeroxiCube = ферокси кубик
.desc = { ent-MonkeyCube.desc }
+ent-DemonCube = арканий кубик
+ .desc = { ent-MonkeyCube.desc }
+ent-XenoCube = кубик ксено
+ .desc = { ent-MonkeyCube.desc }
+ent-OniCube = кубик Они
+ .desc = { ent-MonkeyCube.desc }
+ent-HydrakinCube = кубик гидракина
+ .desc = { ent-MonkeyCube.desc }
diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_mono/body/organs/hydra.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_mono/body/organs/hydra.ftl
new file mode 100644
index 00000000000..ad4582bc6b7
--- /dev/null
+++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_mono/body/organs/hydra.ftl
@@ -0,0 +1,12 @@
+ent-BaseHydrakinOrgan = орган гидракина
+ .desc = { ent-BaseItem.desc }
+ent-OrganHydrakinStomach = желудок гидракина
+ .desc = { ent-BaseHydrakinOrgan.desc }
+ent-OrganHydrakinBrain = мозг гидракина
+ .desc = { ent-BaseHydrakinOrgan.desc }
+ent-OrganHydrakinLiver = печень гидракина
+ .desc = { ent-BaseHydrakinOrgan.desc }
+ent-OrganHydrakinHeart = сердце гидракина
+ .desc = { ent-BaseHydrakinOrgan.desc }
+ent-OrganHydrakinLungs = лёгкие гидракина
+ .desc = Лёгкие гидракина, способные дышать любым газом без негативных последствий.
diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_obelisk/actions/types.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_obelisk/actions/types.ftl
new file mode 100644
index 00000000000..78deb66fac3
--- /dev/null
+++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_obelisk/actions/types.ftl
@@ -0,0 +1,2 @@
+ent-ActionHydrakinCoolOff = Охладиться
+ .desc = Вывести лишнее тепло из организма.
diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_obelisk/body/parts/hydrakin.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_obelisk/body/parts/hydrakin.ftl
new file mode 100644
index 00000000000..1739f9b6a53
--- /dev/null
+++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_obelisk/body/parts/hydrakin.ftl
@@ -0,0 +1,24 @@
+ent-PartHydrakin = часть тела гидракина
+ .desc = { ent-BaseItem.desc }
+ent-TorsoHydrakin = грудь гидракина
+ .desc = { ent-PartHydrakin.desc }
+ent-HeadHydrakin = голова гидракина
+ .desc = { ent-PartHydrakin.desc }
+ent-GroinHydrakin = пах гидракина
+ .desc = { ent-PartHydrakin.desc }
+ent-LeftArmHydrakin = левая рука гидракина
+ .desc = { ent-PartHydrakin.desc }
+ent-RightArmHydrakin = правая рука гидракина
+ .desc = { ent-PartHydrakin.desc }
+ent-LeftHandHydrakin = левая кисть гидракина
+ .desc = { ent-PartHydrakin.desc }
+ent-RightHandHydrakin = правая кисть гидракина
+ .desc = { ent-PartHydrakin.desc }
+ent-LeftLegHydrakin = левая нога гидракина
+ .desc = { ent-PartHydrakin.desc }
+ent-RightLegHydrakin = правая нога гидракина
+ .desc = { ent-PartHydrakin.desc }
+ent-LeftFootHydrakin = левая ступня гидракина
+ .desc = { ent-PartHydrakin.desc }
+ent-RightFootHydrakin = левая ступня гидракина
+ .desc = { ent-PartHydrakin.desc }
diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_obelisk/entities/mobs/player/hydrakin.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_obelisk/entities/mobs/player/hydrakin.ftl
new file mode 100644
index 00000000000..c90ba69860d
--- /dev/null
+++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_obelisk/entities/mobs/player/hydrakin.ftl
@@ -0,0 +1,2 @@
+ent-MobHydrakin = Урист МакГидра
+ .desc = { ent-BaseMobHydrakin.desc }
diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_obelisk/entities/mobs/species/hydrakin.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_obelisk/entities/mobs/species/hydrakin.ftl
new file mode 100644
index 00000000000..3ffeb8d4d72
--- /dev/null
+++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_obelisk/entities/mobs/species/hydrakin.ftl
@@ -0,0 +1,4 @@
+ent-BaseMobHydrakin = Урист МакГидра
+ .desc = { ent-BaseMobSpeciesOrganic.desc }
+ent-MobHydrakinDummy = { ent-BaseSpeciesDummy }
+ .desc = { ent-BaseSpeciesDummy.desc }
diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
index 6e6e3a6a48e..35e16ef5426 100644
--- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
+++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
@@ -287,6 +287,7 @@
- Tradeband
- Schechi
- NewKinPidgin
+ - Hydraspeak # Arcane
understands:
- TauCetiBasic
- Canilunzt
@@ -307,6 +308,7 @@
- Sign
- Schechi
- NewKinPidgin
+ - Hydraspeak # Arcane
- type: ProtectedFromStepTriggers
- type: DamageOnInteractProtection
damageProtection:
diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
index a38f17c8a6f..d893925e603 100644
--- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
+++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
@@ -512,6 +512,7 @@
- Tradeband
- Schechi
- NewKinPidgin
+ - Hydraspeak # Arcane
understands:
- TauCetiBasic
- Canilunzt
@@ -533,6 +534,7 @@
- Sign
- Schechi
- NewKinPidgin
+ - Hydraspeak # Arcane
- type: SpeechSynthesis # Corvax-Frontier-Barks
voice: Borg
# Arcane-start
diff --git a/Resources/Prototypes/Entities/Objects/Fun/pai.yml b/Resources/Prototypes/Entities/Objects/Fun/pai.yml
index 492b7c49083..698bb14e5b2 100644
--- a/Resources/Prototypes/Entities/Objects/Fun/pai.yml
+++ b/Resources/Prototypes/Entities/Objects/Fun/pai.yml
@@ -129,6 +129,7 @@
- Tradeband
- Schechi
- NewKinPidgin
+ - Hydraspeak # Arcane
understands:
- TauCetiBasic # Add individual languages so they can understand without understanding animals.
- Canilunzt
@@ -150,6 +151,7 @@
- Sign # Should know it but not speak it, for obvious reasons.
- Schechi
- NewKinPidgin
+ - Hydraspeak # Arcane
# Einstein Engines - Language end
- type: Vocal
sounds:
diff --git a/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml b/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml
index 1129f67a09c..3d3c160f762 100644
--- a/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml
+++ b/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml
@@ -602,6 +602,26 @@
effects:
- !type:SatiateThirst
factor: 3 # Slightly worse for quenching thirst than just straight water
+# Arcane-Start
+ - !type:AdjustTemperature
+ conditions:
+ - !type:TemperatureCondition
+ min: 273.15
+ amount: -500
+ reactiveEffects:
+ Acidic:
+ methods: [ Touch ]
+ effects:
+ - !type:AdjustTemperature
+ conditions:
+ - !type:TemperatureCondition
+ min: 273.15
+ - !type:HasComponentOnEquipmentCondition
+ components:
+ - type: PressureProtection
+ invert: true
+ amount: -500
+# Arcane-End
plantMetabolism:
- !type:PlantAdjustWater
amount: 1 # The internet tells me I should avoid watering plants with ice, but mostly because of temperature, so this value being the same as water should probably be fine?
diff --git a/Resources/Prototypes/_EinsteinEngines/Recipes/Lathes/Packs/language.yml b/Resources/Prototypes/_EinsteinEngines/Recipes/Lathes/Packs/language.yml
index 3e773b6c72b..e2a458c5de5 100644
--- a/Resources/Prototypes/_EinsteinEngines/Recipes/Lathes/Packs/language.yml
+++ b/Resources/Prototypes/_EinsteinEngines/Recipes/Lathes/Packs/language.yml
@@ -20,6 +20,7 @@
- SchechiTranslator
- GruntishTranslator
- YowKriolTranslator # goob edit - yowie language
+ - HydraspeakTranslator # Arcane
- type: latheRecipePack
id: TranslatorImplanters
@@ -43,3 +44,4 @@
- GruntishTranslatorImplanter
- YowKriolTranslatorImplanter # goob edit - yowie language
- SignTranslatorImplanter # goob edit
+ - HydraspeakTranslatorImplanter # Arcane
diff --git a/Resources/Prototypes/_EinsteinEngines/Recipes/Lathes/language.yml b/Resources/Prototypes/_EinsteinEngines/Recipes/Lathes/language.yml
index 15f7edcf06b..4a3f2395173 100644
--- a/Resources/Prototypes/_EinsteinEngines/Recipes/Lathes/language.yml
+++ b/Resources/Prototypes/_EinsteinEngines/Recipes/Lathes/language.yml
@@ -261,6 +261,14 @@
subname: lathe-recipe-SchechiTranslatorImplanter-subname
result: SchechiTranslatorImplanter
+# Arcane-Start
+- type: latheRecipe
+ parent: BaseTranslatorImplanter
+ id: HydraspeakTranslatorImplanter
+ subname: lathe-recipe-HydraspeakTranslatorImplanter-subname
+ result: HydraspeakTranslatorImplanter
+# Arcane-End
+
- type: latheRecipe
parent: BaseTranslatorImplanter
id: NewKinPidginTranslatorImplanter
@@ -286,3 +294,15 @@
Plastic: 100
Gold: 50
Silver: 50
+
+# Arcane-Start
+- type: latheRecipe
+ id: HydraspeakTranslator
+ result: HydraspeakTranslator
+ completetime: 2
+ materials:
+ Steel: 500
+ Glass: 100
+ Plastic: 50
+ Gold: 50
+# Arcane-End
diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/rehydrateable.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/rehydrateable.yml
index 0cd15258a3c..fd8201f3f5d 100644
--- a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/rehydrateable.yml
+++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/rehydrateable.yml
@@ -153,7 +153,7 @@
possibleSpawns:
- MobFeroxiRandom
-# Arcane-Edit-Start
+# Arcane-Start
- type: entity
parent: MonkeyCube
id: DemonCube
@@ -171,4 +171,22 @@
- type: Rehydratable
possibleSpawns:
- MobHumanoidXenoRandom
-# Arcane-Edit-End
+
+- type: entity
+ parent: MonkeyCube
+ id: OniCube
+ name: oni cube
+ components:
+ - type: Rehydratable
+ possibleSpawns:
+ - MobOniRandom
+
+- type: entity
+ parent: MonkeyCube
+ id: HydrakinCube
+ name: hydrakin cube
+ components:
+ - type: Rehydratable
+ possibleSpawns:
+ - MobHydrakinRandom
+# Arcane-End
diff --git a/Resources/Prototypes/_Goobstation/Objects/Devices/translator_implants.yml b/Resources/Prototypes/_Goobstation/Objects/Devices/translator_implants.yml
index dd8f2e137b3..19d7dea004f 100644
--- a/Resources/Prototypes/_Goobstation/Objects/Devices/translator_implants.yml
+++ b/Resources/Prototypes/_Goobstation/Objects/Devices/translator_implants.yml
@@ -44,10 +44,8 @@
- Mouse
- Monkey
- Kobold
- # Orion-Start
- - CorporateCodespeak
- # Orion-End
-
+ - CorporateCodespeak # Orion
+ - Hydraspeak # Arcane
understood:
- TauCetiBasic # Common Languages -
- SolCommon
@@ -84,13 +82,8 @@
- Mouse
- Monkey
- Kobold
- # Orion-Start
- - CorporateCodespeak
- # Orion-End
-
-
-
-
+ - CorporateCodespeak # Orion
+ - Hydraspeak # Arcane
- type: entity
parent: BaseSubdermalImplant
@@ -158,3 +151,20 @@
- Sign
requires:
- TauCetiBasic
+
+# Arcane-Start
+- type: entity
+ parent: BaseSubdermalImplant
+ id: HydraspeakTranslatorImplant
+ name: hydraspeak translator implant
+ description: A translator implant giving the ability to speak with Hydrakin.
+ categories: [ HideSpawnMenu ]
+ components:
+ - type: TranslatorImplant
+ understood:
+ - Hydraspeak
+ spoken:
+ - Hydraspeak
+ requires:
+ - TauCetiBasic
+# Arcane-End
diff --git a/Resources/Prototypes/_Goobstation/Objects/Devices/translators.yml b/Resources/Prototypes/_Goobstation/Objects/Devices/translators.yml
index 9eb7aeded0b..cd1aa35f3fa 100644
--- a/Resources/Prototypes/_Goobstation/Objects/Devices/translators.yml
+++ b/Resources/Prototypes/_Goobstation/Objects/Devices/translators.yml
@@ -14,3 +14,22 @@
requires:
- TauCetiBasic
- YowKriol
+
+# Arcane-Start
+- type: entity
+ id: HydraspeakTranslator
+ parent: [ TranslatorPoweredBase ]
+ name: hydraspeak translator
+ description: Translates speech between Hydraspeak and TauCetiBasic Common.
+ components:
+ - type: HandheldTranslator
+ spoken:
+ - TauCetiBasic
+ - Hydraspeak
+ understood:
+ - TauCetiBasic
+ - Hydraspeak
+ requires:
+ - TauCetiBasic
+ - Hydraspeak
+# Arcane-End
diff --git a/Resources/Prototypes/_Goobstation/Objects/Misc/translator_implanters.yml b/Resources/Prototypes/_Goobstation/Objects/Misc/translator_implanters.yml
index fd5138b16af..d79891b5fa9 100644
--- a/Resources/Prototypes/_Goobstation/Objects/Misc/translator_implanters.yml
+++ b/Resources/Prototypes/_Goobstation/Objects/Misc/translator_implanters.yml
@@ -49,3 +49,13 @@
components:
- type: Implanter
implant: SignTranslatorImplant
+
+# Arcane-Start
+- type: entity
+ id: HydraspeakTranslatorImplanter
+ parent: BaseTranslatorImplanter
+ suffix: Hydraspeak
+ components:
+ - type: Implanter
+ implant: HydraspeakTranslatorImplant
+# Arcane-End
diff --git a/Resources/Prototypes/_Goobstation/Recipes/Lathes/Packs/biofab_cubes.yml b/Resources/Prototypes/_Goobstation/Recipes/Lathes/Packs/biofab_cubes.yml
index da3de23ce86..6050e1100fc 100644
--- a/Resources/Prototypes/_Goobstation/Recipes/Lathes/Packs/biofab_cubes.yml
+++ b/Resources/Prototypes/_Goobstation/Recipes/Lathes/Packs/biofab_cubes.yml
@@ -19,6 +19,12 @@
- ShadowkinCube
- ChitinidCube
- FeroxiCube
+ # Arcane-Start
+ - DemonCube
+ - XenoCube
+ - OniCube
+ - HydrakinCube
+ # Arcane-End
- type: latheRecipePack
id: EmagCubesStatic
diff --git a/Resources/Prototypes/_Goobstation/Recipes/Lathes/rehydrateable.yml b/Resources/Prototypes/_Goobstation/Recipes/Lathes/rehydrateable.yml
index 78e72524c73..8f53c063fd5 100644
--- a/Resources/Prototypes/_Goobstation/Recipes/Lathes/rehydrateable.yml
+++ b/Resources/Prototypes/_Goobstation/Recipes/Lathes/rehydrateable.yml
@@ -135,3 +135,37 @@
materials:
Biomass: 70
Plasma: 250
+
+# Arcane-Start
+- type: latheRecipe
+ id: DemonCube
+ result: DemonCube
+ completetime: 30
+ materials:
+ Biomass: 70
+ Plasma: 250
+
+- type: latheRecipe
+ id: XenoCube
+ result: XenoCube
+ completetime: 30
+ materials:
+ Biomass: 70
+ Plasma: 250
+
+- type: latheRecipe
+ id: OniCube
+ result: OniCube
+ completetime: 30
+ materials:
+ Biomass: 70
+ Plasma: 250
+
+- type: latheRecipe
+ id: HydrakinCube
+ result: HydrakinCube
+ completetime: 30
+ materials:
+ Biomass: 70
+ Plasma: 250
+# Arcane-End
diff --git a/Resources/Prototypes/_Mono/Reagents/medicine.yml b/Resources/Prototypes/_Mono/Reagents/medicine.yml
index 3fd85d696c1..940b2542831 100644
--- a/Resources/Prototypes/_Mono/Reagents/medicine.yml
+++ b/Resources/Prototypes/_Mono/Reagents/medicine.yml
@@ -8,7 +8,7 @@
color: "#8B008B"
metabolisms:
Medicine:
- metabolismRate: 0.02
+ metabolismRate: 0.03 # Arcane
effects:
- !type:HealthChange
damage:
@@ -33,5 +33,5 @@
min: 253.15
- !type:MetabolizerTypeCondition # Fuck you
type: [ Hydrakin ]
- inverted: true
+ # inverted: true # Arcane
amount: -7500
diff --git a/Resources/Prototypes/_Orion/Research/Nodes/research.yml b/Resources/Prototypes/_Orion/Research/Nodes/research.yml
index 44c6cada9d2..fe775290b66 100644
--- a/Resources/Prototypes/_Orion/Research/Nodes/research.yml
+++ b/Resources/Prototypes/_Orion/Research/Nodes/research.yml
@@ -213,6 +213,7 @@
- SchechiTranslator
- GruntishTranslator
- YowKriolTranslator
+ - HydraspeakTranslator # Arcane
position: -1,8
- type: technology
@@ -249,4 +250,5 @@
- GruntishTranslatorImplanter
- YowKriolTranslatorImplanter
- SignTranslatorImplanter
+ - HydraspeakTranslatorImplanter # Arcane
position: -1,9