Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions Content.Server/_Obelisk/Species/Components/HydrakinComponent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,20 @@ public sealed partial class HydrakinComponent : Component

[DataField]
public EntityUid? CoolOffAction;

// Arcane-Start

/// <summary>
/// Temperature at which heat is transferred
/// </summary>
[DataField]
public float HugTransferThreshold = 313.0f;

/// <summary>
/// How much does a hug warm up
/// </summary>
[DataField]
public float WarmUpCoefficient = 0.05f;

// Arcane-End
}
24 changes: 24 additions & 0 deletions Content.Server/_Obelisk/Species/Systems/HydrakinSystem.cs
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -25,6 +26,7 @@ public override void Initialize()
SubscribeLocalEvent<HydrakinComponent, ComponentInit>(OnInit);
SubscribeLocalEvent<HydrakinComponent, HydrakinCoolOffActionEvent>(OnCoolOff);
SubscribeLocalEvent<HydrakinComponent, CoolOffDoAfterEvent>(OnCoolOffDoAfter);
SubscribeLocalEvent<TemperatureComponent, InteractionSuccessEvent>(OnHug); // Arcane
}

private void OnInit(EntityUid uid, HydrakinComponent component, ComponentInit args)
Expand Down Expand Up @@ -74,4 +76,26 @@ private void OnCoolOffDoAfter(Entity<HydrakinComponent> ent, ref CoolOffDoAfterE

args.Handled = true;
}

// Arcane-Start
private void OnHug(EntityUid uid, TemperatureComponent component, ref InteractionSuccessEvent args)
{
if (!TryComp<HydrakinComponent>(args.User, out var hydrakinComp) ||
!TryComp<TemperatureComponent>(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<HydrakinComponent>(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
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ chat-language-Sign-name = Жесты
chat-language-Marish-name = Мариш
chat-language-Chittin-name = Хитин
chat-language-Xeeplian-name = Ксиплианский
chat-language-Hydraspeak-name = Ги'драв'та

# Дополнительные языки

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ language-Chittin-name = Хитинновый
language-Chittin-description = Язык щелчков и жужжания, требующий антенн для полноценного воспроизведения.
language-Xeeplian-name = Ксиплианский
language-Xeeplian-description = Наш язык высокоразвит, эффективен и точен. В погоне за Целями Мы переняли некоторые элементы лепета низших форм жизни.
language-Hydraspeak-name = Ги'драв'та
language-Hydraspeak-description = Необычный язык из чириканья, дрожания и щебетаний с резкими тональными сдвигами и сменой высоты тона. Из-за птичьей природы гидракинов одно слово может одновременно означать миллион других вещей, что делает этот язык практически непостижимым даже для других птицеподобных рас.

# Animal Languages

Expand Down
1 change: 1 addition & 0 deletions Resources/Locale/ru-RU/_Mono/metabolizer-types.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
metabolizer-type-hydrakin = Гидракин
2 changes: 2 additions & 0 deletions Resources/Locale/ru-RU/_Mono/reagents/medicine.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
reagent-name-peranol = перанол
reagent-desc-peranol = Более стабильная версия лепоразина, снижающая температуру тела и лечащая термические ожоги. Оказывает усиленное воздействие на гидракинов.
1 change: 1 addition & 0 deletions Resources/Locale/ru-RU/_Obelisk/abilities/hydrakin.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
hydrakin-cool-off-emote = {THE($name)} начинает излучать тепло.
31 changes: 31 additions & 0 deletions Resources/Locale/ru-RU/_Obelisk/datasets/names/hydrakin.ftl
Original file line number Diff line number Diff line change
@@ -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 = Мерва
71 changes: 71 additions & 0 deletions Resources/Locale/ru-RU/_Obelisk/markings/hydrakin.ftl
Original file line number Diff line number Diff line change
@@ -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 = Племенной, Правая нога
1 change: 1 addition & 0 deletions Resources/Locale/ru-RU/_corvaxgoob/lathe/recipes.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
lathe-recipe-HydraspeakTranslatorImplanter-subname = Ги'драв'та
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,5 @@ ent-NewKinPidginTranslatorImplant = имплант "переводчик Ка'р
.desc = Имплант, дающий возможность понимать и говорить на Ка'ракк.
ent-GruntishTranslatorImplant = имплант "Грунтич"
.desc = Имплант, дающий возможность понимать и говорить на Грунтиче.
ent-HydraspeakTranslatorImplant = имплант "переводчик Ги'драв'та"
.desc = Имплант, позволяющий общаться с гидракинами.
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,5 @@ ent-SchechiTranslator = переводчик (Шшечи)
.desc = Переводит речь между Шшечи и Межгалактическим. В основном используется Резоми.
ent-GruntishTranslator = переводчик (Грунтич)
.desc = Переводит речь между Грунтич и Межгалактическим. В основном используется Ёкаями.
ent-HydraspeakTranslator = переводчик (Ги'драв'та)
.desc = Переводит речь между Ги'драв'та и Межгалактическим.
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,6 @@ ent-NewKinPidginTranslatorImplanter = имплантер
ent-GruntishTranslatorImplanter = { ent-BaseTranslatorImplanter }
.suffix = Переводчик Грунтич
.desc = { ent-BaseTranslatorImplanter.desc }
ent-HydraspeakTranslatorImplanter = { ent-BaseTranslatorImplanter }
.suffix = Переводчик Ги'драв'та
.desc = { ent-BaseTranslatorImplanter.desc }
Original file line number Diff line number Diff line change
Expand Up @@ -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 }
Original file line number Diff line number Diff line change
@@ -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 = Лёгкие гидракина, способные дышать любым газом без негативных последствий.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ent-ActionHydrakinCoolOff = Охладиться
.desc = Вывести лишнее тепло из организма.
Original file line number Diff line number Diff line change
@@ -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 }
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ent-MobHydrakin = Урист МакГидра
.desc = { ent-BaseMobHydrakin.desc }
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
ent-BaseMobHydrakin = Урист МакГидра
.desc = { ent-BaseMobSpeciesOrganic.desc }
ent-MobHydrakinDummy = { ent-BaseSpeciesDummy }
.desc = { ent-BaseSpeciesDummy.desc }
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,7 @@
- Tradeband
- Schechi
- NewKinPidgin
- Hydraspeak # Arcane
understands:
- TauCetiBasic
- Canilunzt
Expand All @@ -307,6 +308,7 @@
- Sign
- Schechi
- NewKinPidgin
- Hydraspeak # Arcane
- type: ProtectedFromStepTriggers
- type: DamageOnInteractProtection
damageProtection:
Expand Down
2 changes: 2 additions & 0 deletions Resources/Prototypes/Entities/Mobs/Player/silicon.yml
Original file line number Diff line number Diff line change
Expand Up @@ -512,6 +512,7 @@
- Tradeband
- Schechi
- NewKinPidgin
- Hydraspeak # Arcane
understands:
- TauCetiBasic
- Canilunzt
Expand All @@ -533,6 +534,7 @@
- Sign
- Schechi
- NewKinPidgin
- Hydraspeak # Arcane
- type: SpeechSynthesis # Corvax-Frontier-Barks
voice: Borg
# Arcane-start
Expand Down
2 changes: 2 additions & 0 deletions Resources/Prototypes/Entities/Objects/Fun/pai.yml
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@
- Tradeband
- Schechi
- NewKinPidgin
- Hydraspeak # Arcane
understands:
- TauCetiBasic # Add individual languages so they can understand without understanding animals.
- Canilunzt
Expand All @@ -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:
Expand Down
20 changes: 20 additions & 0 deletions Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
- SchechiTranslator
- GruntishTranslator
- YowKriolTranslator # goob edit - yowie language
- HydraspeakTranslator # Arcane

- type: latheRecipePack
id: TranslatorImplanters
Expand All @@ -43,3 +44,4 @@
- GruntishTranslatorImplanter
- YowKriolTranslatorImplanter # goob edit - yowie language
- SignTranslatorImplanter # goob edit
- HydraspeakTranslatorImplanter # Arcane
20 changes: 20 additions & 0 deletions Resources/Prototypes/_EinsteinEngines/Recipes/Lathes/language.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Loading
Loading