Alchemy + Guidebook initialization (#124)

* remove Guidebook

* water and blood

* localization things

* added vital extract

* some fixes

* added bloodgrass

* guidebook localization

* fixes icons and remove unnecesary fields

* added inhand cauldron

* fix wallmount board

* Update bonfire.yml

* Update bonfire.yml

* alchemy furnace + mist

* fixes

* Guidebook localization

* Update drinks.yml

* Revert "remove Guidebook"

This reverts commit 7924cf235f.

* fix filtering guidebook

* test fix

* Update heater.yml
This commit is contained in:
Ed
2024-05-02 20:41:11 +03:00
committed by GitHub
parent 2c34befbcb
commit 4c692d7d4a
128 changed files with 1949 additions and 154 deletions

View File

@@ -136,6 +136,7 @@ public sealed partial class GuidebookWindow : FancyWindow, ILinkClickHandler
TreeItem? parent = forcedRoot == null ? null : AddEntry(forcedRoot, null, addedEntries);
foreach (var entry in GetSortedEntries(roots))
{
if (!entry.CrystallPunkAllowed) continue; //CrystallPunk guidebook filter
AddEntry(entry.Id, parent, addedEntries);
}
Tree.SetAllExpanded(true);

View File

@@ -39,6 +39,9 @@ public class GuideEntry
/// If the guide is the child of some other guide, the order simply determined by the order of children in <see cref="Children"/>.
/// </summary>
[DataField("priority")] public int Priority = 0;
[DataField]
public bool CrystallPunkAllowed = false;
}
[Prototype("guideEntry")]

View File

@@ -13,6 +13,7 @@ using Robust.Shared.Audio;
using Robust.Shared.Audio.Systems;
using Robust.Shared.Map;
using Robust.Shared.Player;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing;
using Robust.Shared.Utility;
@@ -31,6 +32,8 @@ public sealed class GuidebookSystem : EntitySystem
[Dependency] private readonly SharedPointLightSystem _pointLightSystem = default!;
[Dependency] private readonly TagSystem _tags = default!;
[Dependency] private readonly IPrototypeManager _proto = default!; //CrystallPunk guidebook filter
public event Action<List<string>, List<string>?, string?, bool, string?>? OnGuidebookOpen;
public const string GuideEmbedTag = "GuideEmbeded";
@@ -39,6 +42,7 @@ public sealed class GuidebookSystem : EntitySystem
/// <inheritdoc/>
public override void Initialize()
{
SubscribeLocalEvent<GuideHelpComponent, MapInitEvent>(OnCrystallPunkMapInit); //CrystallPunk guidebook filter
SubscribeLocalEvent<GuideHelpComponent, GetVerbsEvent<ExamineVerb>>(OnGetVerbs);
SubscribeLocalEvent<GuideHelpComponent, ActivateInWorldEvent>(OnInteract);
@@ -48,6 +52,21 @@ public sealed class GuidebookSystem : EntitySystem
OnGuidebookControlsTestGetAlternateVerbs);
}
//CrystallPunk guidebook filter
private void OnCrystallPunkMapInit(Entity<GuideHelpComponent> ent, ref MapInitEvent args)
{
foreach (var guide in ent.Comp.Guides)
{
var guideProto = _proto.Index<GuideEntryPrototype>(guide);
if (!guideProto.CrystallPunkAllowed) //REMOVE unnecessary guidebook
{
RemComp<GuideHelpComponent>(ent);
return;
}
}
}
//CrystallPunk guidebook filter end
/// <summary>
/// Gets a user entity to use for verbs and examinations. If the player has no attached entity, this will use a
/// dummy client-side entity so that users can still use the guidebook when not attached to anything (e.g., in the

View File

@@ -1,3 +1,5 @@
using Content.Server._CP14.Temperature;
using Content.Server.Atmos.Components;
using Content.Server.Chemistry.Components;
using Content.Server.Chemistry.Containers.EntitySystems;
using Content.Server.Power.Components;
@@ -92,5 +94,26 @@ public sealed class SolutionHeaterSystem : EntitySystem
}
}
}
//CrystallPunk bonfire
var flammablequery = EntityQueryEnumerator<CP14FlammableSolutionHeaterComponent, ItemPlacerComponent, FlammableComponent>();
while (flammablequery.MoveNext(out _, out var heater, out var placer, out var flammable))
{
foreach (var heatingEntity in placer.PlacedEntities)
{
if (!flammable.OnFire)
return;
if (!TryComp<SolutionContainerManagerComponent>(heatingEntity, out var container))
continue;
var energy = flammable.FireStacks * frameTime * 300;
foreach (var (_, soln) in _solutionContainer.EnumerateSolutions((heatingEntity, container)))
{
_solutionContainer.AddThermalEnergy(soln, energy);
}
}
}
//CrystallPunk bonfire end
}
}

View File

@@ -122,8 +122,12 @@ public sealed class TemperatureSystem : EntitySystem
public void ChangeHeat(EntityUid uid, float heatAmount, bool ignoreHeatResistance = false,
TemperatureComponent? temperature = null)
{
if (!Resolve(uid, ref temperature))
//CrystallPunk may try place on heater and entity, and solutions
//if (!Resolve(uid, ref temperature))
// return;
if (temperature == null)
return;
//CrystallPunk may try place on heater and entity, and solutions END
if (!ignoreHeatResistance)
{

View File

@@ -9,5 +9,5 @@ namespace Content.Server._CP14.Temperature;
public sealed partial class CP14FlammableEntityHeaterComponent : Component
{
[DataField]
public float EnergyPerFireStack = 1000f;
public float EnergyPerFireStack = 300f;
}

View File

@@ -0,0 +1,11 @@
using Content.Server.Chemistry.EntitySystems;
namespace Content.Server._CP14.Temperature;
/// <summary>
/// Adds thermal energy from FlammableComponent to solutions placed on it.
/// </summary>
[RegisterComponent, Access(typeof(SolutionHeaterSystem))]
public sealed partial class CP14FlammableSolutionHeaterComponent : Component
{
}

View File

@@ -4,6 +4,8 @@ using System.Linq;
using Content.Shared.ActionBlocker;
using Content.Shared.Administration;
using Content.Shared.Administration.Managers;
using Content.Shared.Chemistry.Components;
using Content.Shared.Chemistry.Components.SolutionManager;
using Content.Shared.Containers.ItemSlots;
using Content.Shared.Destructible;
using Content.Shared.DoAfter;
@@ -358,6 +360,9 @@ public abstract class SharedStorageSystem : EntitySystem
if (HasComp<PlaceableSurfaceComponent>(uid))
return;
if (HasComp<SolutionContainerManagerComponent>(uid) && !storageComp.CP14CanStorageSolutionManagers) //CP14 bandage
return;
PlayerInsertHeldEntity(uid, args.User, storageComp);
// Always handle it, even if insertion fails.
// We don't want to trigger any AfterInteract logic here.

View File

@@ -124,6 +124,14 @@ namespace Content.Shared.Storage
[DataField, ViewVariables(VVAccess.ReadWrite)]
public StorageDefaultOrientation? DefaultStorageOrientation;
/// <summary>
/// CrystallPunk bandage. We need to put in both objects and liquids.
/// This avoids situations where a player puts a bucket into the cauldron
/// instead of pouring liquid from the bucket into the cauldron.
/// </summary>
[DataField]
public bool CP14CanStorageSolutionManagers = true;
[Serializable, NetSerializable]
public enum StorageUiKey : byte
{

View File

@@ -0,0 +1,8 @@
# Base
cp14-flavor-base-metallic = metallic
cp14-flavor-base-invigorating = invigorating
# Complex
cp14-flavor-complex-water = like water

View File

@@ -0,0 +1,6 @@
cp14-guide-entry-russian = Russian guidebook
cp14-guide-entry-english = English guidebook
cp14-guide-entry-alchemy = Alchemy
cp14-guide-entry-basic-alchemy = Basic alchemical reagents
cp14-guide-entry-biological = Biological

View File

@@ -1,12 +1,12 @@
marking-CP14marking-CP14HumanHair80s = Shoulder Length
marking-CP14HumanHair80s = Shoulder Length
marking-CP14HumanHairA = Short Haircut
marking-CP14HumanHairAntenna = Unruly Strands
marking-CP14HumanHairB = Boring Parting
marking-CP14HP14HumanHairBedhead = Bedhead
marking-CP14HP14HumanHairBedheadV2 = Bedhead 2
marking-CP14HumanHairBedhead = Bedhead
marking-CP14HumanHairBedheadV2 = Bedhead 2
marking-CP14HumanHairBeeHive = Aristocratic
marking-CP14HP14HumanHairBigBraid = Full Braid
marking-CP14HumanHairBigBraid = Full Braid
marking-CP14HumanHairBigDoubleBun = Double Bun
marking-CP14HumanHP14HumanHairBigPompadour = Bard
marking-CP14HumanHP14HumanHairCrazyBald = CrazyBald
marking-CP14HumanHumanHairBigPompadour = Bard
marking-CP14HumanHumanHairCrazyBald = CrazyBald
marking-CP14HumanHairBob = Bob

View File

@@ -0,0 +1,8 @@
cp14-reagent-name-vital-extract = vital extract
cp14-reagent-desc-vital-extract = Liquid, unprocessed embodiment of the desire for life. In small doses can be used as a weak medicine, but in large doses can have irreversible effects on the body.
cp14-reagent-vital-extract-feeling-1 = You feel your heart begin to beat more often.
cp14-reagent-vital-extract-feeling-2 = You feel your whole body tingle.
cp14-reagent-vital-extract-feeling-3 = Your whole body starts to pinch and scratch.
cp14-reagent-vital-extract-feeling-4 = You feel strange...
cp14-reagent-vital-extract-feeling-5 = You feel as if something inside you is growing and dying...

View File

@@ -0,0 +1,2 @@
cp14-reagent-name-blood = blood
cp14-reagent-desc-blood = The life energy of a living warm-blooded creatures.

View File

@@ -0,0 +1,2 @@
cp14-reagent-name-water = water
cp14-reagent-desc-water = A colorless liquid so essential to the survival of living things.

View File

@@ -0,0 +1,2 @@
cp14-reagent-physical-desc-ferrous = ferrous
cp14-reagent-physical-desc-scarlet = shimmering scarlet

View File

@@ -1,10 +0,0 @@
ent-Wrench = moersleutel
.desc = Een veelgebruikt stuk gereedschap voor montage en demontage.
.suffix = Test
ent-Crowbar = koevoet
.desc = Een multifunctioneel stuk gereedschap om deuren open te wrikken en interdimensionale indringers te bestrijden.
ent-CrowbarRed =
.desc = Een multifunctioneel stuk gereedschap om deuren open te wrikken en interdimensionale indringers te bestrijden. Deze is bedoeld voor Noodgevallen.
.suffix = Noodgeval

View File

@@ -0,0 +1,8 @@
# Basic
cp14-flavor-base-metallic = металлически
cp14-flavor-base-invigorating = живительно
# Complex
cp14-flavor-complex-water = как вода

View File

@@ -0,0 +1,6 @@
cp14-guide-entry-russian = Русское руководство
cp14-guide-entry-english = Английское руководство
cp14-guide-entry-alchemy = Алхимия
cp14-guide-entry-basic-alchemy = Базовые алхимические элементы
cp14-guide-entry-biological = Биологические вещества

View File

@@ -0,0 +1,8 @@
cp14-reagent-name-vital-extract = живительный экстракт
cp14-reagent-desc-vital-extract = Жидкое, необработанное воплощение стремления к жизни. В малых дозах может использоваться как слабое лекарство, но при больших дозах может оказать необратимые последствия на организм.
cp14-reagent-vital-extract-feeling-1 = Вы чувствуете, как ваше сердце начинает биться чаще
cp14-reagent-vital-extract-feeling-2 = Вы чувствуете дрожь во всем теле
cp14-reagent-vital-extract-feeling-3 = Все ваше тело начинает щипать и почесывать
cp14-reagent-vital-extract-feeling-4 = Вы чувствуете себя странно...
cp14-reagent-vital-extract-feeling-5 = Вы чувствуете словно внутри вам что-то растет и умирает...

View File

@@ -0,0 +1,5 @@
cp14-reagent-name-blood = кровь
cp14-reagent-desc-blood = Жизненная энергия живого теплокровного существа.
cp14-reagent-name-bloodgrasssap = сок кровьтравы
cp14-reagent-desc-bloodgrasssap = Выжимка из повсеместно растущей кровьтравы. Не имеет особых примечательных качеств, но при должной сноровке может быть приготовлена в питательную пищу.

View File

@@ -0,0 +1,2 @@
cp14-reagent-name-water = вода
cp14-reagent-desc-water = Бесцветная жидкость, столь необходимая для выживания живых существ.

View File

@@ -0,0 +1,2 @@
cp14-reagent-physical-desc-ferrous = черно-металлическое
cp14-reagent-physical-desc-scarlet = мерцающе алое

View File

@@ -0,0 +1,29 @@
## UI
injector-draw-text = Забор
injector-inject-text = Введение
injector-invalid-injector-toggle-mode = Неверный режим
injector-volume-label = Объём: [color=white]{ $currentVolume }/{ $totalVolume }[/color]
Режим: [color=white]{ $modeString }[/color] ([color=white]{ $transferVolume } ед.[/color])
## Entity
injector-component-drawing-text = Содержимое набирается
injector-component-injecting-text = Содержимое вводится
injector-component-cannot-transfer-message = Вы не можете ничего переместить в { $target }!
injector-component-cannot-draw-message = Вы не можете ничего набрать из { $target }!
injector-component-cannot-inject-message = Вы не можете ничего ввести в { $target }!
injector-component-inject-success-message = Вы вводите { $amount }ед. в { $target }!
injector-component-transfer-success-message = Вы перемещаете { $amount }ед. в { $target }.
injector-component-draw-success-message = Вы набираете { $amount }ед. из { $target }.
injector-component-target-already-full-message = { $target } полон!
injector-component-target-is-empty-message = { $target } пуст!
injector-component-cannot-toggle-draw-message = Больше не набрать!
injector-component-cannot-toggle-inject-message = Нечего вводить!
## mob-inject doafter messages
injector-component-drawing-user = Вы начинаете набирать шприц.
injector-component-injecting-user = Вы начинаете вводить содержимое шприца.
injector-component-drawing-target = { CAPITALIZE($user) } начинает набирать шприц из вас!
injector-component-injecting-target = { CAPITALIZE($user) } начинает вводить содержимое шприца в вас!

View File

@@ -0,0 +1,13 @@
# Types
mixing-verb-default-mix = смешивание
mixing-verb-default-grind = измельчение
mixing-verb-default-juice = выжимание
mixing-verb-default-condense = конденсирование
mixing-verb-centrifuge = центрифугирование
mixing-verb-electrolysis = электролиз
mixing-verb-holy = благословение
## Entity
default-mixing-success = Вы смешиваете { $mixed } при помощи { $mixer }
bible-mixing-success = Вы благословляете { $mixed } при помощи { $mixer }

View File

@@ -0,0 +1 @@
rehydratable-component-expands-message = { $owner } расширяется!

View File

@@ -0,0 +1 @@
scoopable-component-popup = Вы зачёрпываете { $scooped } при помощи { $beaker }.

View File

@@ -0,0 +1,3 @@
solution-container-mixer-activate = Активировать
solution-container-mixer-no-power = Нет энергии!
solution-container-mixer-popup-nothing-to-mix = Внутри пусто!

View File

@@ -0,0 +1,5 @@
scannable-solution-verb-text = Раствор
scannable-solution-verb-message = Изучить химический состав.
scannable-solution-main-text = Содержит следующие химические вещества:
scannable-solution-empty-container = Не содержит химических веществ.
scannable-solution-chemical = - { $amount }ед. [color={ $color }]{ $type }[/color]

View File

@@ -0,0 +1,3 @@
spike-solution-generic = Вы толчёте { $spiked-entity } в { $spike-entity }.
spike-solution-empty-generic = Вам не удаётся разбить { $spike-entity } в { $spiked-entity }.
spike-solution-egg = Вы разбиваете { $spike-entity } в { $spiked-entity }.

View File

@@ -0,0 +1,20 @@
### Solution transfer component
comp-solution-transfer-fill-normal = Вы перемещаете { $amount } ед. из { $owner } в { $target }.
comp-solution-transfer-fill-fully = Вы наполняете { $target } до краёв, переместив { $amount } ед. из { $owner }.
comp-solution-transfer-transfer-solution = Вы перемещаете { $amount } ед. в { $target }.
## Displayed when trying to transfer to a solution, but either the giver is empty or the taker is full
comp-solution-transfer-is-empty = { $target } пуст!
comp-solution-transfer-is-full = { $target } полон!
## Displayed in change transfer amount verb's name
comp-solution-transfer-verb-custom-amount = Своё кол-во
comp-solution-transfer-verb-amount = { $amount } ед.
comp-solution-transfer-verb-toggle = Переключить на { $amount } ед.
## Displayed after you successfully change a solution's amount using the BUI
comp-solution-transfer-set-amount = Перемещаемое количество установлено на { $amount } ед.

View File

@@ -0,0 +1 @@
transformable-container-component-glass = стакан { $name }

View File

@@ -0,0 +1,8 @@
shared-solution-container-component-on-examine-empty-container = Не содержит вещества.
shared-solution-container-component-on-examine-main-text = Содержит [color={ $color }]{ $desc }[/color] { $wordedAmount }
shared-solution-container-component-on-examine-worded-amount-one-reagent = вещество.
shared-solution-container-component-on-examine-worded-amount-multiple-reagents = смесь веществ.
examinable-solution-has-recognizable-chemicals = В этом растворе вы можете распознать { $recognizedString }.
examinable-solution-recognized-first = [color={ $color }]{ $chemical }[/color]
examinable-solution-recognized-next = , [color={ $color }]{ $chemical }[/color]
examinable-solution-recognized-last = и [color={ $color }]{ $chemical }[/color]

View File

@@ -0,0 +1,267 @@
flavor-profile = На вкус { $flavor }.
flavor-profile-multiple = На вкус { $flavors } и { $lastFlavor }.
flavor-profile-unknown = Вкус неописуем.
# Base flavors. Use these when you can't think of anything.
# These are specifically flavors that are placed in front
# of other flavors. When the flavors are processed, these
# will go in front so you don't get this like "Tastes like tomatoes, sweet and spicy",
# instead, you get "Tastes sweet, spicy and like tomatoes".
flavor-base-savory = жгуче
flavor-base-sweet = сладко
flavor-base-salty = солено
flavor-base-sour = кисло
flavor-base-bitter = горько
flavor-base-spicy = остро
flavor-base-metallic = металлически
flavor-base-meaty = мясисто
flavor-base-fishy = рыбно
flavor-base-crabby = крабово
flavor-base-cheesy = сырно
flavor-base-funny = забавно
flavor-base-tingly = покалывающе
flavor-base-acid = кислотно
flavor-base-leafy = лиственно
flavor-base-minty = мятно
flavor-base-nutty = орехово
flavor-base-chalky = мелово
flavor-base-oily = масляно
flavor-base-peppery = перечно
flavor-base-slimy = скользко
flavor-base-magical = волшебно
flavor-base-fiber = волокнисто
flavor-base-cold = холодно
flavor-base-spooky = страшно
flavor-base-smokey = дымчато
flavor-base-fruity = фруктово
flavor-base-creamy = сливочно
flavor-base-fizzy = шипуче
flavor-base-shocking = шокирующе
flavor-base-cheap = дёшево
flavor-base-piquant = пикантно
flavor-base-sharp = резко
flavor-base-syrupy = сиропово
flavor-base-spaceshroom = таинственно
flavor-base-clean = чисто
flavor-base-alkaline = щёлочно
flavor-base-holy = свято
flavor-base-horrible = ужасно
# lmao
flavor-base-terrible = ужасающе
flavor-base-mindful = разумно
# Complex flavors. Put a flavor here when you want something that's more
# specific.
flavor-complex-nothing = как ничто
flavor-complex-honey = как мёд
# Food-specific flavors.
flavor-complex-ketchunaise = как помидоры и майонез
flavor-complex-mayonnaise = как майонез
flavor-complex-mustard = как горчица
## Food chemicals. In case you get something that has this inside.
flavor-complex-nutriment = как питательные вещества
flavor-complex-vitamin = как витамины
flavor-complex-protein = как протеины
## Generic food taste. This should be replaced with an actual flavor profile,
## if you have food that looks like this.
flavor-complex-food = как еда
## Basic foodstuffs (ingredients, generic flavors)
flavor-complex-bun = как булочка
flavor-complex-bread = как хлеб
flavor-complex-batter = как тесто для торта
flavor-complex-butter = как сливочное масло
flavor-complex-egg = как яйца
flavor-complex-raw-egg = как сырые яйца
flavor-complex-bacon = как бекон
flavor-complex-chicken = как курочка
flavor-complex-duck = как уточка
flavor-complex-chocolate = как шоколад
flavor-complex-pasta = как паста
flavor-complex-rice = как рис
flavor-complex-oats = как овёс
flavor-complex-jelly = как желе
flavor-complex-soy = как соя
flavor-complex-ice-cream = как мороженое
flavor-complex-dough = как тесто
flavor-complex-sweet-dough = как сладкое тесто
flavor-complex-tofu = как тофу
flavor-complex-miso = как мисо
flavor-complex-lemoon = как лавр
flavor-complex-muffin = как маффин
flavor-complex-peas = как горох
flavor-complex-pineapple = как ананас
flavor-complex-onion = как лук
flavor-complex-eggplant = как баклажан
flavor-complex-carrot = как морковь
flavor-complex-cabbage = как капуста
flavor-complex-potatoes = как картофель
flavor-complex-pumpkin = как тыква
flavor-complex-mushroom = как грибы
flavor-complex-tomato = как помидоры
flavor-complex-corn = как кукуруза
flavor-complex-banana = как бананы
flavor-complex-apple = как яблоки
flavor-complex-cotton = как хлопок
flavor-complex-bungo = как бунго
flavor-complex-raisins = как сушеный виноград
flavor-complex-orange = как апельсины
flavor-complex-watermelon = как арбуз
flavor-complex-garlic = как чеснок
flavor-complex-grape = как виноград
flavor-complex-berry = как ягоды
flavor-complex-meatballs = как фрикадельки
flavor-complex-nettles = как крапива
flavor-complex-jungle = как джунгли
flavor-complex-vegetables = как овощи
## Complex foodstuffs (cooked foods, joke flavors, etc)
flavor-complex-pink = как розовый
flavor-complex-curry = как карри
flavor-complex-borsch-1 = как борщ
flavor-complex-borsch-2 = как бортщ
flavor-complex-borsch-3 = как борстч
flavor-complex-borsch-4 = как борш
flavor-complex-borsch-5 = как борщч
flavor-complex-mre-brownie = как дешевый брауни
flavor-complex-fortune-cookie = как случайность
flavor-complex-nutribrick = как будто вы воюете в джунглях.
flavor-complex-cheap-noodles = как дешёвая лапша
flavor-complex-syndi-cakes = как сытный фруктовый пирог
flavor-complex-sus-jerky = как сас
flavor-complex-boritos = как гейминг
flavor-complex-nachos = как начос
flavor-complex-donk = как дешёвая пицца
flavor-complex-copypasta = как повторяющаяся шутка
flavor-complex-memory-leek = как форк-бомба
flavor-complex-bad-joke = как плохая шутка
flavor-complex-gunpowder = как порох
flavor-complex-validhunting = как валидхантинг
# Drink-specific flavors.
flavor-complex-people = как люди
flavor-complex-cat = как кошка
flavor-complex-homerun = как хоум-ран
flavor-complex-grass = как трава
flavor-complex-flare = как дымовая шашка
flavor-complex-cobwebs = как паутина
flavor-complex-sadness = как тоска
flavor-complex-hope = как надежда
flavor-complex-chaos = как хаос
flavor-complex-squirming = как шевеление
flavor-complex-electrons = как электроны
flavor-complex-parents = как чьи-то родители
flavor-complex-plastic = как пластик
flavor-complex-glue = как клей
flavor-complex-spaceshroom-cooked = как космический умами
flavor-complex-lost-friendship = как прошедшая дружба
flavor-complex-light = как угасший свет
## Generic alcohol/soda taste. This should be replaced with an actual flavor profile.
flavor-complex-profits = как прибыль
flavor-complex-fishops = как страшная рыбья операция
flavor-complex-violets = как фиалки
flavor-complex-alcohol = как алкоголь
flavor-complex-soda = как газировка
flavor-complex-juice = как сок
## Basic drinks
flavor-complex-rocksandstones = как скалы и камни
flavor-complex-water = как вода
flavor-complex-beer = как моча
flavor-complex-ale = как хлеб
flavor-complex-cola = как кола
flavor-complex-cognac = как сухой пряный алкоголь
flavor-complex-mead = как забродивший мёд
flavor-complex-vermouth = как виноградная мякоть
flavor-complex-vodka = как забродившее зерно
flavor-complex-tonic-water = как озлобленная вода
flavor-complex-tequila = как забродившая смерть
flavor-complex-energy-drink = как аккумуляторная кислота
flavor-complex-dr-gibb = как халатность
flavor-complex-ginger-soda = как имбирь
flavor-complex-grape-soda = как виноградная газировка
flavor-complex-lemon-lime-soda = как лимонно-лаймовая газировка
flavor-complex-pwr-game-soda = как гейминг
flavor-complex-root-beer-soda = как рутбир
flavor-complex-citrus-soda = как цитрусовая газировка
flavor-complex-space-up-soda = как космос
flavor-complex-starkist-soda = как апельсиновая газировка
flavor-complex-fourteen-loko-soda = как сладкий солод
flavor-complex-sake = как сладкий, алкогольный рис
flavor-complex-rum = как забродивший сахар
flavor-complex-coffee-liquor = как крепкий, горький кофе
flavor-complex-whiskey = как патока
flavor-complex-coconut-rum = как ореховый ферментированный сахар
flavor-complex-shitty-wine = как виноградная кожура
flavor-complex-iced-tea = как холодный чай
flavor-complex-champagne = как свежеиспечённый хлеб
flavor-complex-coffee = как кофе
flavor-complex-milk = как молоко
flavor-complex-tea = как чай
flavor-complex-ice = как лёд
## Cocktails
flavor-complex-mopwata = как застоявшаяся грязная вода
flavor-complex-long-island = подозрительно похож на холодный чай
flavor-complex-three-mile-island = как чай, заваренный в ядерных отходах
flavor-complex-arnold-palmer = как попадание в лунку с первого удара
flavor-complex-blue-hawaiian = как тропики
flavor-complex-cosmopolitan = сладко и терпко
flavor-complex-painkiller = как шипучий ананасовый сок
flavor-complex-pina-colada = как тропическое солнце
flavor-complex-whiskey-cola = как газированная патока
flavor-complex-singulo = как бездонная дыра
flavor-complex-syndie-bomb = как горький виски
flavor-complex-root-beer-float = как мороженое в рутбире
flavor-complex-black-russian = как алкогольный кофе
flavor-complex-white-russian = как подслащенный алкогольный кофе
flavor-complex-moonshine = как чистый алкоголь
flavor-complex-tequila-sunrise = как мексиканское утро
flavor-complex-irish-coffee = как пробуждение алкоголика
flavor-complex-iced-beer = как ледяная моча
flavor-complex-gargle-blaster = как будто кто-то ударил вас по голове золотым слитком, покрытым лимоном.
flavor-complex-bloody-mary = как тяжелое похмелье
flavor-complex-beepsky = как нефть и виски
flavor-complex-banana-honk = как банановый милкшейк
flavor-complex-atomic-bomb = как ядерная пустошь
flavor-complex-atomic-cola = как накопление бутылочных крышек
flavor-complex-cuba-libre = как крепкая кола
flavor-complex-gin-tonic = как крепкая газировка с лимоном и лаймом
flavor-complex-screwdriver = как крепкий апельсиновый сок
flavor-complex-cogchamp = как латунь
flavor-complex-themartinez = как фиалки и лимонная водка
flavor-complex-irish-car-bomb = как шипучая пенка колы
### This is exactly what pilk tastes like. I'm not even joking. I might've been a little drunk though
flavor-complex-white-gilgamesh = как слегка газированные сливки
flavor-complex-antifreeze = как тепло
flavor-complex-pilk = как сладкое молоко
# Medicine/chemical-specific flavors.
## Generic flavors.
flavor-complex-medicine = как лекарство
flavor-complex-carpet = как горсть шерсти
flavor-complex-bee = беспчеловечно
flavor-complex-sax = как джаз
flavor-complex-bottledlightning = как молния в бутылке
flavor-complex-punishment = как наказание
flavor-weh = как вех

View File

@@ -0,0 +1,47 @@
reagent-effect-condition-guidebook-total-damage =
{ $max ->
[2147483648] тело имеет по крайней мере { NATURALFIXED($min, 2) } общего урона
*[other]
{ $min ->
[0] имеет не более { NATURALFIXED($max, 2) } общего урона
*[other] имеет между { NATURALFIXED($min, 2) } и { NATURALFIXED($max, 2) } общего урона
}
}
reagent-effect-condition-guidebook-reagent-threshold =
{ $max ->
[2147483648] в кровеносной системе имеется по крайней мере { NATURALFIXED($min, 2) }ед. { $reagent }
*[other]
{ $min ->
[0] имеется не более { NATURALFIXED($max, 2) }ед. { $reagent }
*[other] имеет между { NATURALFIXED($min, 2) }ед. и { NATURALFIXED($max, 2) }ед. { $reagent }
}
}
reagent-effect-condition-guidebook-mob-state-condition = пациент в { $state }
reagent-effect-condition-guidebook-solution-temperature =
температура раствора составляет { $max ->
[2147483648] не менее { NATURALFIXED($min, 2) }k
*[other]
{ $min ->
[0] не более { NATURALFIXED($max, 2) }k
*[other] между { NATURALFIXED($min, 2) }k и { NATURALFIXED($max, 2) }k
}
}
reagent-effect-condition-guidebook-body-temperature =
температура тела составляет { $max ->
[2147483648] не менее { NATURALFIXED($min, 2) }k
*[other]
{ $min ->
[0] не более { NATURALFIXED($max, 2) }k
*[other] между { NATURALFIXED($min, 2) }k и { NATURALFIXED($max, 2) }k
}
}
reagent-effect-condition-guidebook-organ-type =
метаболизирующий орган { $shouldhave ->
[true] это
*[false] это не
} { $name } орган
reagent-effect-condition-guidebook-has-tag =
цель { $invert ->
[true] не имеет
*[false] имеет
} метку { $tag }

View File

@@ -0,0 +1,30 @@
guidebook-reagent-effect-description =
{ $chance ->
[1] { $effect }
*[other] Имеет { NATURALPERCENT($chance, 2) } шанс { $effect }
}{ $conditionCount ->
[0] .
*[other] { " " }, пока { $conditions }.
}
guidebook-reagent-name = [bold][color={ $color }]{ CAPITALIZE($name) }[/color][/bold]
guidebook-reagent-recipes-header = Рецепт
guidebook-reagent-recipes-reagent-display = [bold]{ $reagent }[/bold] \[{ $ratio }\]
guidebook-reagent-sources-header = Источники
guidebook-reagent-sources-ent-wrapper = [bold]{ $name }[/bold] \[1\]
guidebook-reagent-sources-gas-wrapper = [bold]{ $name } (газ)[/bold] \[1\]
guidebook-reagent-effects-header = Эффекты
guidebook-reagent-effects-metabolism-group-rate = [bold]{ $group }[/bold] [color=gray]({ $rate } единиц в секунду)[/color]
guidebook-reagent-recipes-mix-info =
{ $minTemp ->
[0]
{ $hasMax ->
[true] { CAPITALIZE($verb) } ниже { $maxTemp }K
*[false] { CAPITALIZE($verb) }
}
*[other]
{ CAPITALIZE($verb) } { $hasMax ->
[true] между { $minTemp }K и { $maxTemp }K
*[false] выше { $minTemp }K
}
}
guidebook-reagent-physical-description = [italic]На вид вещество { $description }.[/italic].

View File

@@ -0,0 +1,318 @@
-create-3rd-person =
{ $chance ->
[1] Создаёт
*[other] создают
}
-cause-3rd-person =
{ $chance ->
[1] Вызывает
*[other] вызывают
}
-satiate-3rd-person =
{ $chance ->
[1] Насыщает
*[other] насыщают
}
reagent-effect-guidebook-create-entity-reaction-effect =
{ $chance ->
[1] Создаёт
*[other] создают
} { $amount ->
[1] { $entname }
*[other] { $amount } { $entname }
}
reagent-effect-guidebook-explosion-reaction-effect =
{ $chance ->
[1] Вызывает
*[other] вызывают
} взрыв
reagent-effect-guidebook-emp-reaction-effect =
{ $chance ->
[1] Вызывает
*[other] вызывают
} электромагнитный импульс
reagent-effect-guidebook-foam-area-reaction-effect =
{ $chance ->
[1] Создаёт
*[other] создают
} большое количество пены
reagent-effect-guidebook-foam-area-reaction-effect =
{ $chance ->
[1] Создаёт
*[other] создают
} большое количество дыма
reagent-effect-guidebook-satiate-thirst =
{ $chance ->
[1] Утоляет
*[other] утоляют
} { $relative ->
[1] жажду средне
*[other] жажду на { NATURALFIXED($relative, 3) }x от обычного
}
reagent-effect-guidebook-satiate-hunger =
{ $chance ->
[1] Насыщает
*[other] насыщают
} { $relative ->
[1] голод средне
*[other] голод на { NATURALFIXED($relative, 3) }x от обычного
}
reagent-effect-guidebook-health-change =
{ $chance ->
[1]
{ $healsordeals ->
[heals] Излечивает
[deals] Наносит
*[both] Изменяет здоровье на
}
*[other]
{ $healsordeals ->
[heals] излечивать
[deals] наносить
*[both] изменяют здоровье на
}
} { $changes }
reagent-effect-guidebook-status-effect =
{ $type ->
[add]
{ $chance ->
[1] Вызывает
*[other] вызывают
} { LOC($key) } минимум на { NATURALFIXED($time, 3) }, эффект накапливается
*[set]
{ $chance ->
[1] Вызывает
*[other] вызывают
} { LOC($key) } минимум на { NATURALFIXED($time, 3) }, эффект не накапливается
[remove]
{ $chance ->
[1] Удаляет
*[other] удаляют
} { NATURALFIXED($time, 3) } от { LOC($key) }
}
reagent-effect-guidebook-activate-artifact =
{ $chance ->
[1] Пытается
*[other] пытаются
} активировать артефакт
reagent-effect-guidebook-set-solution-temperature-effect =
{ $chance ->
[1] Устанавливает
*[other] устанавливают
} температуру раствора точно { NATURALFIXED($temperature, 2) }k
reagent-effect-guidebook-adjust-solution-temperature-effect =
{ $chance ->
[1]
{ $deltasign ->
[1] Добавляет
*[-1] Удаляет
}
*[other]
{ $deltasign ->
[1] добавляют
*[-1] удаляют
}
} тепло из раствора, пока температура не достигнет { $deltasign ->
[1] не более { NATURALFIXED($maxtemp, 2) }k
*[-1] не менее { NATURALFIXED($mintemp, 2) }k
}
reagent-effect-guidebook-adjust-reagent-reagent =
{ $chance ->
[1]
{ $deltasign ->
[1] Добавляют
*[-1] Удаляет
}
*[other]
{ $deltasign ->
[1] добавляют
*[-1] удаляют
}
} { NATURALFIXED($amount, 2) }ед. от { $reagent } { $deltasign ->
[1] к
*[-1] из
} раствора
reagent-effect-guidebook-adjust-reagent-group =
{ $chance ->
[1]
{ $deltasign ->
[1] Добавляет
*[-1] Удаляет
}
*[other]
{ $deltasign ->
[1] добавляют
*[-1] удаляют
}
} { NATURALFIXED($amount, 2) }ед реагентов в группе { $group } { $deltasign ->
[1] к
*[-1] из
} раствора
reagent-effect-guidebook-adjust-temperature =
{ $chance ->
[1]
{ $deltasign ->
[1] Добавляют
*[-1] Удаляют
}
*[other]
{ $deltasign ->
[1] добавляют
*[-1] удаляют
}
} { POWERJOULES($amount) } тепла { $deltasign ->
[1] к телу
*[-1] из тела
}, в котором он метабилизируется
reagent-effect-guidebook-chem-cause-disease =
{ $chance ->
[1] Вызывает
*[other] вызывают
} болезнь { $disease }
reagent-effect-guidebook-chem-cause-random-disease =
{ $chance ->
[1] Вызывает
*[other] вызывают
} болезнь { $diseases }
reagent-effect-guidebook-jittering =
{ $chance ->
[1] Вызывает
*[other] вызывают
} тряску
reagent-effect-guidebook-chem-clean-bloodstream =
{ $chance ->
[1] Очищает
*[other] очищают
} кровеносную систему от других веществ
reagent-effect-guidebook-cure-disease =
{ $chance ->
[1] Излечивает
*[other] излечивают
} болезнь
reagent-effect-guidebook-cure-eye-damage =
{ $chance ->
[1]
{ $deltasign ->
[1] Наносит
*[-1] Излечивает
}
*[other]
{ $deltasign ->
[1] наносят
*[-1] излечивают
}
} повреждения глаз
reagent-effect-guidebook-chem-vomit =
{ $chance ->
[1] Вызывает
*[other] вызывают
} рвоту
reagent-effect-guidebook-create-gas =
{ $chance ->
[1] Создаёт
*[other] создают
} { $moles } { $moles ->
[1] моль
*[other] моль
} газа { $gas }
reagent-effect-guidebook-drunk =
{ $chance ->
[1] Вызывает
*[other] вызывают
} опьянение
reagent-effect-guidebook-electrocute =
{ $chance ->
[1] Бьёт током
*[other] бьют током
} употребившего в течении { NATURALFIXED($time, 3) }
reagent-effect-guidebook-extinguish-reaction =
{ $chance ->
[1] Гасит
*[other] гасят
} огонь
reagent-effect-guidebook-flammable-reaction =
{ $chance ->
[1] Повышает
*[other] повышают
} воспламеняемость
reagent-effect-guidebook-ignite =
{ $chance ->
[1] Поджигает
*[other] поджигают
} употребившего
reagent-effect-guidebook-make-sentient =
{ $chance ->
[1] Делает
*[other] делают
} употребившего разумным
reagent-effect-guidebook-make-polymorph =
{ $chance ->
[1] Превращает
*[other] превращают
} употребившего в { $entityname }
reagent-effect-guidebook-modify-bleed-amount =
{ $chance ->
[1]
{ $deltasign ->
[1] Усиливает
*[-1] Ослабляет
}
*[other]
{ $deltasign ->
[1] усиливают
*[-1] ослабляют
}
} кровотечение
reagent-effect-guidebook-modify-blood-level =
{ $chance ->
[1]
{ $deltasign ->
[1] Повышает
*[-1] Понижает
}
*[other]
{ $deltasign ->
[1] повышают
*[-1] понижают
}
} уровень крови в организме
reagent-effect-guidebook-paralyze =
{ $chance ->
[1] Парализует
*[other] парализуют
} употребившего минимум на { NATURALFIXED($time, 3) }
reagent-effect-guidebook-movespeed-modifier =
{ $chance ->
[1] Делает
*[other] делают
} скорость передвижения { NATURALFIXED($walkspeed, 3) }x от стандартной минимум на { NATURALFIXED($time, 3) }
reagent-effect-guidebook-reset-narcolepsy =
{ $chance ->
[1] Предотвращает
*[other] предотвращают
} приступы нарколепсии
reagent-effect-guidebook-wash-cream-pie-reaction =
{ $chance ->
[1] Смывает
*[other] смывают
} кремовый пирог с лица
reagent-effect-guidebook-cure-zombie-infection =
{ $chance ->
[1] Лечит
*[other] лечат
} зомби-вирус
reagent-effect-guidebook-cause-zombie-infection =
{ $chance ->
[1] Заражает
*[other] заражают
} человека зомби-вирусом
reagent-effect-guidebook-innoculate-zombie-infection =
{ $chance ->
[1] Лечит
*[other] лечат
} зомби-вирус и обеспечивает иммунитет к нему в будущем
reagent-effect-guidebook-missing =
{ $chance ->
[1] Вызывает
*[other] вызывают
} неизвестный эффект, так как никто еще не написал об этом эффекте

View File

@@ -0,0 +1,5 @@
health-change-display =
{ $deltasign ->
[-1] [color=green]{ NATURALFIXED($amount, 2) }[/color] ед. { $kind }
*[1] [color=red]{ NATURALFIXED($amount, 2) }[/color] ед. { $kind }
}

View File

@@ -0,0 +1,13 @@
reagent-effect-status-effect-Stun = оглушение
reagent-effect-status-effect-KnockedDown = нокдаун
reagent-effect-status-effect-Jitter = дрожь
reagent-effect-status-effect-TemporaryBlindness = слепота
reagent-effect-status-effect-SeeingRainbows = галлюцинации
reagent-effect-status-effect-Muted = неспособность разговаривать
reagent-effect-status-effect-Stutter = заикание
reagent-effect-status-effect-ForcedSleep = потеря сознания
reagent-effect-status-effect-Drunk = опьянение
reagent-effect-status-effect-PressureImmunity = невосприимчивость к давлению
reagent-effect-status-effect-Pacified = принудительный пацифизм
reagent-effect-status-effect-RatvarianLanguage = паттерны ратварского языка
reagent-effect-status-effect-StaminaModifier = модифицированная выносливость

View File

@@ -0,0 +1,6 @@
guidebook-window-title = Руководство
guidebook-placeholder-text = Выберите запись.
guidebook-placeholder-text-2 = Если вы новичок, то начните с самой верхней записи.
guidebook-filter-placeholder-text = Фильтр
guidebook-monkey-unspin = Отперевернуть обезьяну
guidebook-monkey-disco = Диско обезьяна

View File

@@ -0,0 +1,72 @@
guide-entry-engineering = Инженерное дело
guide-entry-construction = Строительство
guide-entry-airlock-security = Улучшение шлюзов
guide-entry-atmospherics = Атмосфера
guide-entry-botany = Ботаника
guide-entry-fires = Пожары и разгерметизации
guide-entry-shuttle-craft = Шаттлостроение
guide-entry-networking = Сетевые соединения
guide-entry-network-configurator = Конфигуратор сетей
guide-entry-access-configurator = Конфигуратор доступа
guide-entry-power = Электропитание
guide-entry-portable-generator = Портативные генераторы
guide-entry-ame = Двигатель антиматерии (ДАМ)
guide-entry-singularity = Сингулярный двигатель
guide-entry-teg = Термоэлектрический генератор (ТЭГ)
guide-entry-rtg = РИТЭГ
guide-entry-science = Научный отдел
guide-entry-radio = Радиосвязь
guide-entry-machine-upgrading = Улучшение оборудования
guide-entry-cargo = Отдел снабжения
guide-entry-cargo-bounties = Запросы отдела снабжения
guide-entry-salvage = Утилизация обломков
guide-entry-controls = Управление
guide-entry-chemicals = Химические вещества
guide-entry-elements = Элементы
guide-entry-narcotics = Наркотики
guide-entry-pyrotechnics = Пиротехника
guide-entry-toxins = Токсины
guide-entry-foods = Пищевые
guide-entry-biological = Биологические
guide-entry-others = Другие
guide-entry-botanical = Ботанические
guide-entry-jobs = Должности
guide-entry-janitorial = Уборка станции
guide-entry-bartender = Бармен
guide-entry-chef = Шеф-повар
guide-entry-foodrecipes = Рецепты еды
guide-entry-medical = Медицинский отдел
guide-entry-medicaldoctor = Врач
guide-entry-chemist = Химик
guide-entry-medicine = Медицина
guide-entry-brute =
Продвинутое лечение
механических повреждений
guide-entry-botanicals = Ботаника
guide-entry-cloning = Клонирование
guide-entry-cryogenics = Криогеника
guide-entry-survival = Выживание
guide-entry-technologies = Технологии
guide-entry-anomalous-research = Исследование аномалий
guide-entry-scanners-and-vessels = Сканеры и сосуды
guide-entry-ape = М.А.К.А.К.
guide-entry-xenoarchaeology = Ксеноархеология
guide-entry-artifact-reports = Отчёты об артефактах
guide-entry-traversal-distorter = Поперечный искатель
guide-entry-ss14 = Космическая станция 14
guide-entry-robotics = Робототехника
guide-entry-cyborgs = Киборги
guide-entry-security = Безопасность станции
guide-entry-forensics = Криминалистика
guide-entry-defusal = Обезвреживание крупной бомбы
guide-entry-criminal-records = Криминальные записи
guide-entry-species = Расы
guide-entry-antagonists = Антагонисты
guide-entry-nuclear-operatives = Ядерные оперативники
guide-entry-traitors = Предатели
guide-entry-zombies = Зомби
guide-entry-revolutionaries = Революционеры
guide-entry-minor-antagonists = Малые антагонисты
guide-entry-space-ninja = Космический ниндзя
guide-entry-writing = Разметка письма
guide-entry-glossary = Словарь терминов

View File

@@ -0,0 +1 @@
guide-help-verb = Помощь

View File

@@ -0,0 +1,3 @@
infant-name-prefix = детёныш { $name }
reproductive-birth-popup = { CAPITALIZE($parent) } родила!
reproductive-laid-egg-popup = { CAPITALIZE($parent) } отложила яйцо!

View File

@@ -0,0 +1,23 @@
drink-component-on-use-is-empty = { $owner } пуст!
drink-component-on-examine-is-empty = [color=gray]Пусто[/color]
drink-component-on-examine-is-opened = [color=yellow]Открыто[/color]
drink-component-on-examine-is-sealed = Пломба не повреждена.
drink-component-on-examine-is-unsealed = Пломба разорвана.
drink-component-on-examine-is-full = Полон
drink-component-on-examine-is-mostly-full = Почти полон
drink-component-on-examine-is-half-full = Наполовину полон
drink-component-on-examine-is-half-empty = Наполовину пуст
drink-component-on-examine-is-mostly-empty = Почти пуст
drink-component-on-examine-exact-volume = Полон на { $amount }ед.
drink-component-try-use-drink-not-open = Сначала откройте { $owner }!
drink-component-try-use-drink-is-empty = { $entity } пуст!
drink-component-try-use-drink-cannot-drink = Вы не можете ничего пить!
drink-component-try-use-drink-had-enough = Вы не можете выпить больше!
drink-component-try-use-drink-cannot-drink-other = Они не могут ничего пить!
drink-component-try-use-drink-had-enough-other = Они не могут выпить больше!
drink-component-try-use-drink-success-slurp = Сёрб
drink-component-try-use-drink-success-slurp-taste = Сёрб. { $flavors }
drink-component-force-feed = { CAPITALIZE($user) } пытается вас чем-то напоить!
drink-component-force-feed-success = { CAPITALIZE($user) } вас чем-то напоил! { $flavors }
drink-component-force-feed-success-user = Вы успешно напоили { $target }
drink-system-verb-drink = Пить

View File

@@ -0,0 +1,23 @@
### Interaction Messages
food-you-need-to-hold-utensil = Вы должны держать { $utensil }, чтобы съесть это!
food-nom = Ням. { $flavors }
food-swallow = Вы проглатываете { $food }. { $flavors }
food-has-used-storage = Вы не можете съесть { $food } пока внутри что-то есть.
food-system-remove-mask = Сначала вам нужно снять { $entity }.
## System
food-system-you-cannot-eat-any-more = В вас больше не лезет!
food-system-you-cannot-eat-any-more-other = В них больше не лезет!
food-system-try-use-food-is-empty = В { $entity } пусто!
food-system-wrong-utensil = Вы не можете есть { $food } с помощью { $utensil }.
food-system-cant-digest = Вы не можете переварить { $entity }!
food-system-cant-digest-other = Они не могут переварить { $entity }!
food-system-verb-eat = Съесть
## Force feeding
food-system-force-feed = { CAPITALIZE($user) } пытается вам что-то скормить!
food-system-force-feed-success = { CAPITALIZE($user) } вам что-то скормил! { $flavors }
food-system-force-feed-success-user = Вы успешно накормили { $target }

View File

@@ -0,0 +1,2 @@
openable-component-verb-open = Открыть
openable-component-verb-close = Закрыть

View File

@@ -0,0 +1,9 @@
sliceable-food-component-on-examine-remaining-slices-text =
{ $remainingCount ->
[one] Остался
*[other] Осталось
} { $remainingCount } { $remainingCount ->
[one] кусочек
[few] кусочка
*[other] кусочков
}.

View File

@@ -5,8 +5,8 @@
id: DummyMix
verbText: mixing-verb-default-mix
icon:
sprite: Objects/Specific/Chemistry/beaker_large.rsi
state: beakerlarge
sprite: _CP14/Structures/Specific/Alchemy/alchemy_vat.rsi
state: full
- type: mixingCategory
id: DummyGrind

View File

@@ -0,0 +1,33 @@
- type: entity
parent: BaseFoam
id: CP14Mist
name: mist
components:
- type: Sprite
sprite: _CP14/Effects/mist.rsi
state: chemmist
- type: TimedDespawn
lifetime: 20
- type: Tag
tags:
- HideContextMenu
- type: SolutionContainerManager
solutions:
solutionArea:
maxVol: 100
- type: entity
parent: CP14Mist
id: CP14MistVitalExtract
components:
- type: Sprite
sprite: _CP14/Effects/mist.rsi
layers:
- state: chemmist
color: "#db2a2a"
- type: SolutionContainerManager
solutions:
solutionArea:
reagents:
- ReagentId: CP14VitalExtract
Quantity: 10

View File

@@ -4,75 +4,73 @@
save: false
abstract: true
components:
- type: Sprite
layers:
- map: [ "enum.HumanoidVisualLayers.Chest" ]
- map: [ "enum.HumanoidVisualLayers.Head" ]
- map: [ "enum.HumanoidVisualLayers.Snout" ]
- map: [ "enum.HumanoidVisualLayers.Eyes" ]
- map: [ "enum.HumanoidVisualLayers.RArm" ]
- map: [ "enum.HumanoidVisualLayers.LArm" ]
- map: [ "enum.HumanoidVisualLayers.RLeg" ]
- map: [ "enum.HumanoidVisualLayers.LLeg" ]
- shader: StencilClear
sprite: Mobs/Species/Human/parts.rsi #PJB on stencil clear being on the left leg: "...this is 'fine'" -https://github.com/space-wizards/space-station-14/pull/12217#issuecomment-1291677115
# its fine, but its still very stupid that it has to be done like this instead of allowing sprites to just directly insert a stencil clear.
# sprite refactor when
state: l_leg
- shader: StencilMask
map: [ "enum.HumanoidVisualLayers.StencilMask" ]
sprite: Mobs/Customization/masking_helpers.rsi
state: unisex_full
visible: false
- map: [ "jumpsuit" ]
- map: [ "pants" ]
- map: [ "shirt" ]
- map: [ "enum.HumanoidVisualLayers.LFoot" ]
- map: [ "enum.HumanoidVisualLayers.RFoot" ]
- map: [ "enum.HumanoidVisualLayers.LHand" ]
- map: [ "enum.HumanoidVisualLayers.RHand" ]
- map: [ "gloves" ]
- map: [ "shoes" ]
- map: [ "ears" ]
- map: [ "outerClothing" ]
- map: [ "eyes" ]
- map: [ "belt" ]
- map: [ "id" ]
- map: [ "neck" ]
- map: [ "cloak" ]
- map: [ "back" ]
- map: [ "enum.HumanoidVisualLayers.FacialHair" ]
- map: [ "enum.HumanoidVisualLayers.Hair" ]
- map: [ "enum.HumanoidVisualLayers.HeadSide" ]
- map: [ "enum.HumanoidVisualLayers.HeadTop" ]
- map: [ "enum.HumanoidVisualLayers.Tail" ]
- map: [ "mask" ]
- map: [ "head" ]
- map: [ "pocket1" ]
- map: [ "pocket2" ]
- map: ["enum.HumanoidVisualLayers.Handcuffs"]
color: "#ffffff"
sprite: Objects/Misc/handcuffs.rsi
state: body-overlay-2
visible: false
- map: [ "clownedon" ] # Dynamically generated
sprite: "Effects/creampie.rsi"
state: "creampie_human"
visible: false
- type: HumanoidAppearance
species: CP14Human
- type: Body
prototype: CP14Human
requiredLegs: 2
- type: Sprite
layers:
- map: [ "enum.HumanoidVisualLayers.Chest" ]
- map: [ "enum.HumanoidVisualLayers.Head" ]
- map: [ "enum.HumanoidVisualLayers.Snout" ]
- map: [ "enum.HumanoidVisualLayers.Eyes" ]
- map: [ "enum.HumanoidVisualLayers.RArm" ]
- map: [ "enum.HumanoidVisualLayers.LArm" ]
- map: [ "enum.HumanoidVisualLayers.RLeg" ]
- map: [ "enum.HumanoidVisualLayers.LLeg" ]
- shader: StencilClear
sprite: Mobs/Species/Human/parts.rsi
state: l_leg
- shader: StencilMask
map: [ "enum.HumanoidVisualLayers.StencilMask" ]
sprite: Mobs/Customization/masking_helpers.rsi
state: unisex_full
visible: false
- map: [ "pants" ]
- map: [ "shirt" ]
- map: [ "enum.HumanoidVisualLayers.LFoot" ]
- map: [ "enum.HumanoidVisualLayers.RFoot" ]
- map: [ "enum.HumanoidVisualLayers.LHand" ]
- map: [ "enum.HumanoidVisualLayers.RHand" ]
- map: [ "gloves" ]
- map: [ "shoes" ]
- map: [ "ears" ]
- map: [ "eyes" ]
- map: [ "belt1" ]
- map: [ "belt2" ]
- map: [ "neck" ]
- map: [ "cloak" ]
- map: [ "back" ]
- map: [ "enum.HumanoidVisualLayers.FacialHair" ]
- map: [ "enum.HumanoidVisualLayers.Hair" ]
- map: [ "enum.HumanoidVisualLayers.HeadSide" ]
- map: [ "enum.HumanoidVisualLayers.HeadTop" ]
- map: [ "enum.HumanoidVisualLayers.Tail" ]
- map: [ "mask" ]
- map: [ "head" ]
- map: [ "pocket1" ]
- map: [ "pocket2" ]
- map: ["enum.HumanoidVisualLayers.Handcuffs"]
color: "#ffffff"
sprite: Objects/Misc/handcuffs.rsi
state: body-overlay-2
visible: false
- map: [ "clownedon" ] # Dynamically generated
sprite: "Effects/creampie.rsi"
state: "creampie_human"
visible: false
- type: HumanoidAppearance
species: CP14Human
- type: Body
prototype: CP14Human
requiredLegs: 2
- type: entity
parent: BaseMobSpeciesOrganic
id: CP14BaseMobSpeciesOrganic
save: false
abstract: true
#components:
# - type: FireVisuals
# alternateState: Standing #TO DO - custom visual
components:
- type: Bloodstream
bloodReagent: CP14Blood
# - type: FireVisuals
# alternateState: Standing #TO DO - custom visual
- type: entity
save: false
@@ -105,7 +103,6 @@
sprite: Mobs/Customization/masking_helpers.rsi
state: unisex_full
visible: false
- map: ["jumpsuit"]
- map: ["enum.HumanoidVisualLayers.LFoot"]
- map: ["enum.HumanoidVisualLayers.RFoot"]
- map: ["enum.HumanoidVisualLayers.LHand"]
@@ -120,11 +117,9 @@
- map: [ "ring2" ]
- map: [ "shoes" ]
- map: [ "ears" ]
- map: [ "outerClothing" ]
- map: [ "eyes" ]
- map: [ "belt1" ]
- map: [ "belt2" ]
- map: [ "id" ]
- map: [ "keys" ]
- map: [ "neck" ]
- map: [ "back" ]

View File

@@ -0,0 +1,70 @@
- type: entity
parent: BaseItem
id: CP14Cauldron
name: cauldron
description: A heavy cauldron. It is not as bulky as a vat, but can be carried in your hands.
components:
- type: Item
size: Ginormous
- type: MultiHandedItem
- type: ClothingSpeedModifier
walkModifier: 0.6
sprintModifier: 0.6
- type: HeldSpeedModifier
- type: Sprite
sprite: _CP14/Objects/Specific/Alchemy/cauldron.rsi
layers:
- state: icon
- state: liq-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: SolutionContainerManager
solutions:
vat:
maxVol: 100
- type: Spillable
solution: vat
- type: DrainableSolution
solution: vat
- type: ExaminableSolution
solution: vat
- type: MixableSolution
solution: vat
- type: RefillableSolution
solution: vat
- type: DrawableSolution
solution: vat
- type: DumpableSolution
solution: vat
- type: SolutionItemStatus
solution: vat
- type: Drink
solution: vat
- type: Injector
solutionName: vat
injectOnly: false
ignoreMobs: true
minTransferAmount: 10
maxTransferAmount: 100
transferAmount: 50
toggleState: 1 # draw
- type: UserInterface
interfaces:
enum.TransferAmountUiKey.Key:
type: TransferAmountBoundUserInterface
- type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 5
fillBaseName: liq-
inHandsMaxFillLevels: 5
inHandsFillBaseName: -fill
- type: DamageOtherOnHit
damage:
types:
Blunt: 5
- type: DamageOnHighSpeedImpact
minimumSpeed: 2
damage:
types:
Blunt: 5

View File

@@ -0,0 +1,37 @@
- type: entity
id: CP14BloodGrass
parent: FoodProduceBase
name: bloodgrass
description: The dullest and most common plant to be found in the wild is the dark brown grass.
components:
- type: Item
size: Tiny
- type: Produce
- type: Sprite
sprite: _CP14/Objects/Specific/Alchemy/Herbal/bloodgrass.rsi
layers:
- state: base1
map: ["random"]
- type: RandomSprite
available:
- random:
base1: ""
base2: ""
base3: ""
base4: ""
base5: ""
- type: FlavorProfile
flavors:
- CP14Metallic
- type: Extractable
juiceSolution:
reagents:
- ReagentId: CP14BloodGrassSap
Quantity: 5
- type: SolutionContainerManager
solutions:
food:
maxVol: 20
reagents:
- ReagentId: CP14BloodGrassSap
Quantity: 5

View File

@@ -134,4 +134,19 @@
maxVol: 10
- type: SolutionContainerVisuals
maxFillLevels: 5
fillBaseName: liq-
fillBaseName: liq-
# Filled
- type: entity
id: CP14VialSmallVitalExtract
parent: CP14VialSmall
suffix: Vital extract
components:
- type: SolutionContainerManager
solutions:
vial:
reagents:
- ReagentId: CP14VitalExtract
Quantity: 10

View File

@@ -3,7 +3,7 @@
id: CP14Bucket
name: bucket
description: It's a boring old bucket.
suffix: CP14
suffix: CP14, need resprite
components:
- type: Drink
solution: bucket

View File

@@ -75,10 +75,8 @@
barrel:
maxVol: 300
- type: SolutionContainerVisuals
maxFillLevels: 7
maxFillLevels: 5
fillBaseName: liq
- type: Spillable
solution: barrel
- type: DrainableSolution
solution: barrel
- type: ExaminableSolution
@@ -103,17 +101,17 @@
solutions:
barrel:
reagents:
- ReagentId: Water
- ReagentId: CP14Water
Quantity: 300
- type: entity
id: CP14BarrelBeer
parent: CP14BaseBarrel
suffix: Beer
suffix: Blood
components:
- type: SolutionContainerManager
solutions:
barrel:
reagents:
- ReagentId: Beer
- ReagentId: CP14Blood
Quantity: 300

View File

@@ -1,6 +1,6 @@
- type: entity
id: CP14Bonfire
parent: BaseStructure
parent: CP14BaseFireplace
name: bonfire
description: A pile of logs stacked together, ready to burst into flames at the slightest spark.
components:
@@ -15,20 +15,6 @@
- type: Construction
graph: CP14Bonfire
node: CP14Bonfire
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.45,-0.45,0.45,0.45"
density: 55
mask:
- TabletopMachineMask
layer:
- Impassable
- MidImpassable
- LowImpassable
hard: false
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Wood
@@ -36,25 +22,10 @@
thresholds:
- trigger:
!type:DamageTrigger
damage: 80
damage: 20
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTypeTrigger
damageType: Heat
damage: 50
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: CP14FlammableAmbientSound
- type: AmbientSound
enabled: false
volume: -5
range: 5
sound:
path: /Audio/Ambience/Objects/fireplace.ogg
- type: Appearance
- type: GenericVisualizer
visuals:
enum.FireplaceFuelVisuals.Status:
@@ -62,30 +33,13 @@
Empty: { visible: false }
Medium: { visible: true, state: full1 }
Full: { visible: true, state: full2 }
- type: Reactive
groups:
Flammable: [ Touch ]
Extinguish: [ Touch ]
- type: Flammable
fireSpread: true
canResistFire: false
alwaysCombustible: true
canExtinguish: true
firestacksOnIgnite: 0.5
damage:
types:
Heat: 0
- type: FireVisuals
sprite: _CP14/Structures/Furniture/bonfire.rsi
normalState: burning
- type: ItemPlacer
maxEntities: 4
- type: CP14FlammableEntityHeater
- type: CP14Fireplace
- type: entity
id: CP14Stick
parent: CP14Bucket
name: Stick!!!
components:
- type: CP14FireplaceFuel
- type: CP14FireplaceFuel

View File

@@ -0,0 +1,113 @@
- type: entity
id: CP14BaseFireplace
parent: BaseStructure
abstract: true
components:
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.45,-0.45,0.45,0.45"
density: 55
mask:
- TabletopMachineMask
layer:
- Impassable
- MidImpassable
- LowImpassable
hard: false
- type: CP14FlammableAmbientSound
- type: AmbientSound
enabled: false
volume: -5
range: 5
sound:
path: /Audio/Ambience/Objects/fireplace.ogg
- type: Appearance
- type: Reactive
groups:
Flammable: [ Touch ]
Extinguish: [ Touch ]
- type: Flammable
fireSpread: true
canResistFire: false
alwaysCombustible: true
canExtinguish: true
firestacksOnIgnite: 0.5
damage:
types:
Heat: 0
- type: ItemPlacer
maxEntities: 4
- type: CP14FlammableEntityHeater
- type: CP14FlammableSolutionHeater
- type: CP14Fireplace
- type: entity
id: CP14AlchemyFurnaceDebug
parent: CP14AlchemyFurnace
suffix: DEBUG
components:
- type: CP14Fireplace
currentFuel: 100
fuelDrainingPerUpdate: 0
- type: entity
id: CP14AlchemyFurnace
name: alchemy furnace
parent: CP14BaseFireplace
description: A furnace fueled by wood, coal, or any other burning material. Handy for heating your alchemical potions.
components:
- type: Sprite
sprite: _CP14/Structures/Specific/Alchemy/alchemy_furnace.rsi
layers:
- state: base
- state: fuel1
visible: false
map: ["fuel"]
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 80
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: GenericVisualizer
visuals:
enum.FireplaceFuelVisuals.Status:
fuel:
Empty: { visible: false }
Medium: { visible: true, state: fuel1 }
Full: { visible: true, state: fuel2 }
- type: FireVisuals
sprite: _CP14/Structures/Specific/Alchemy/alchemy_furnace.rsi
normalState: burning
- type: Climbable
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.45,-0.45,0.45,0.45"
density: 55
mask:
- TabletopMachineMask
layer:
- Impassable
- MidImpassable
- LowImpassable
hard: false
fix2:
shape:
!type:PhysShapeAabb
bounds: "-0.45,-0.45,0.45,0.45"
density: 55
mask:
- TableMask
layer:
- TableLayer

View File

@@ -2,8 +2,8 @@
id: CP14BaseVat
parent:
- BaseStructureDynamic
name: vat
description: VATVATVAT
name: big vat
description: A very large vat for storing huge amounts of liquid. Heavy, uncomfortable to carry.
placement:
mode: PlaceFree
components:
@@ -18,7 +18,7 @@
shape:
!type:PhysShapeAabb
bounds: "-0.3,-0.3,0.3,0.3"
density: 155
density: 666 # >:)
mask:
- MachineMask
layer:
@@ -67,8 +67,6 @@
solution: vat
- type: DumpableSolution
solution: vat
- type: Spillable
solution: vat
- type: Drink
solution: vat
- type: UserInterface
@@ -81,6 +79,7 @@
- type: ThrowInsertContainer
containerId: storagebase
- type: Storage
cP14CanStorageSolutionManagers: false
grid:
- 0,0,4,3
blacklist:

View File

@@ -0,0 +1,18 @@
# Basic
- type: flavor
id: CP14Metallic
flavorType: Base
description: cp14-flavor-base-metallic
- type: flavor
id: CP14Invigorating
flavorType: Base
description: cp14-flavor-base-invigorating
# Complex
- type: flavor
id: CP14Water
flavorType: Complex
description: cp14-flavor-complex-water

View File

@@ -0,0 +1,23 @@
- type: guideEntry
crystallPunkAllowed: true
id: CP14_EN_Alchemy
name: cp14-guide-entry-alchemy
text: "/ServerInfo/_CP14/Guidebook_EN/Alchemy.xml"
children:
- CP14_EN_BasicAlchemy
- CP14_EN_Biological
filterEnabled: True
- type: guideEntry
crystallPunkAllowed: true
id: CP14_EN_BasicAlchemy
name: cp14-guide-entry-basic-alchemy
text: "/ServerInfo/_CP14/Guidebook_EN/AlchemyTabs/BasicAlchemy.xml"
filterEnabled: True
- type: guideEntry
crystallPunkAllowed: true
id: CP14_EN_Biological
name: cp14-guide-entry-biological
text: "/ServerInfo/_CP14/Guidebook_EN/AlchemyTabs/Biological.xml"
filterEnabled: True

View File

@@ -0,0 +1,23 @@
- type: guideEntry
crystallPunkAllowed: true
id: CP14_RU_Alchemy
name: cp14-guide-entry-alchemy
text: "/ServerInfo/_CP14/Guidebook_RU/Alchemy.xml"
children:
- CP14_RU_BasicAlchemy
- CP14_RU_Biological
filterEnabled: True
- type: guideEntry
crystallPunkAllowed: true
id: CP14_RU_BasicAlchemy
name: cp14-guide-entry-basic-alchemy
text: "/ServerInfo/_CP14/Guidebook_RU/AlchemyTabs/BasicAlchemy.xml"
filterEnabled: True
- type: guideEntry
crystallPunkAllowed: true
id: CP14_RU_Biological
name: cp14-guide-entry-biological
text: "/ServerInfo/_CP14/Guidebook_RU/AlchemyTabs/Biological.xml"
filterEnabled: True

View File

@@ -0,0 +1,15 @@
- type: guideEntry
crystallPunkAllowed: true
id: CP14_EN
name: cp14-guide-entry-english
text: "/ServerInfo/_CP14/Guidebook_EN/Welcome.xml"
children:
- CP14_EN_Alchemy
- type: guideEntry
crystallPunkAllowed: true
id: CP14_RU
name: cp14-guide-entry-russian
text: "/ServerInfo/_CP14/Guidebook_RU/Welcome.xml"
children:
- CP14_RU_Alchemy

View File

@@ -0,0 +1,7 @@
- type: reagent
parent: Water
id: CP14Water
name: cp14-reagent-name-water
desc: cp14-reagent-desc-water
flavor: CP14Water
color: "#75b1f0"

View File

@@ -0,0 +1,65 @@
# 13-1 rule
# There should be 12 basic alchemical extracts, and 1 forbidden one, for antagonists only
# 1) Vital extract
# 2) Death extract
# 3) Fire extract
# 4) Ice extract
# 5) Light extract
# 6) Void/Dark extract
# 7) Air extract
# 8) Earth extract
# 9) Lightning extract
# 10)
# 11)
# 12)
# 13)
- type: reagent
id: CP14VitalExtract
group: CP14BasicAlchemy
name: cp14-reagent-name-vital-extract
desc: cp14-reagent-desc-vital-extract
flavor: CP14Invigorating
color: "#db2a2a"
physicalDesc: cp14-reagent-physical-desc-scarlet
footstepSound:
collection: FootstepBlood
params:
volume: 6
metabolisms:
Medicine:
effects:
- !type:HealthChange
conditions:
- !type:ReagentThreshold
min: 0
max: 7
damage:
groups:
Burn: -0.1
Toxin: -0.1
Brute: -0.1
- !type:HealthChange
conditions:
- !type:ReagentThreshold
min: 7
damage:
groups:
Burn: -0.2
Toxin: -0.2
Brute: -0.2
types:
Cellular: 0.25
- !type:PopupMessage
conditions:
- !type:ReagentThreshold
min: 10
visualType: Medium
messages:
- cp14-reagent-vital-extract-feeling-1
- cp14-reagent-vital-extract-feeling-2
- cp14-reagent-vital-extract-feeling-3
- cp14-reagent-vital-extract-feeling-4
- cp14-reagent-vital-extract-feeling-5
type: Local
probability: 0.05

View File

@@ -0,0 +1,64 @@
- type: reagent
id: CP14Blood
group: CP14Biological
name: cp14-reagent-name-blood
desc: cp14-reagent-desc-blood
flavor: CP14Metallic
color: "#800000"
recognizable: true
physicalDesc: cp14-reagent-physical-desc-ferrous
slippery: false
footstepSound:
collection: FootstepBlood
params:
volume: 6
# metabolisms:
# Drink:
# effects:
# - !type:SatiateThirst
# factor: 1.5
# conditions:
# - !type:OrganType
# type: Human
# shouldHave: false
# Food:
# effects:
# - !type:AdjustReagent
# reagent: UncookedAnimalProteins
# amount: 0.5
# Medicine:
# effects:
# - !type:HealthChange
# conditions:
# - !type:OrganType
# type: Bloodsucker
# damage:
# groups:
# Brute: -3
# Burn: -1.25
- type: reagent
id: CP14BloodGrassSap
group: CP14Biological
name: cp14-reagent-name-bloodgrasssap
desc: cp14-reagent-desc-bloodgrasssap
flavor: CP14Metallic
color: "#5c1f0a"
physicalDesc: cp14-reagent-physical-desc-ferrous
slippery: false
footstepSound:
collection: FootstepBlood
params:
volume: 6
metabolisms:
Food:
effects:
- !type:SatiateHunger
factor: 0.5
Medicine:
effects:
- !type:HealthChange
damage:
types:
Poison: 0.25

View File

@@ -0,0 +1,23 @@
- type: reaction
id: CP14VitalExtract
minTemp: 350
reactants:
CP14Blood:
amount: 1
CP14BloodGrassSap:
amount: 2
products:
CP14VitalExtract: 3
- type: reaction
id: CP14VitalExtractOverheating
minTemp: 450
reactants:
CP14VitalExtract:
amount: 1
effects:
- !type:AreaReactionEffect
duration: 20
prototypeId: CP14MistVitalExtract
sound:
path: /Audio/Effects/smoke.ogg

View File

@@ -0,0 +1,13 @@
<Document>
# Alchemy
There are a large number of reagents in the game. Some of them can be extracted from living creatures, some of them can be found in the wild, or you can use alchemy to get new reagents by mixing them together under certain conditions.
Knowing different types of chemicals and their effects is important for being able to manage injury and danger.
## Basic alchemical reagents
<GuideReagentGroupEmbed Group="CP14BasicAlchemy"/>
## Biological
<GuideReagentGroupEmbed Group="CP14Biological"/>
</Document>

View File

@@ -0,0 +1,9 @@
<Document>
# Basic alchemical reagents
In the world of Eberron, there are 12 basic alchemical reagents called Extracts. They can be obtained in a variety of ways, and act as starting points for more complex alchemical recipes.
<GuideReagentGroupEmbed Group="CP14BasicAlchemy"/>
</Document>

View File

@@ -0,0 +1,9 @@
<Document>
# Biological
There are a large number of biological substances - extracted from plants or living things. Knowledge of their characteristics may be useful to you many times.
<GuideReagentGroupEmbed Group="CP14Biological"/>
</Document>

View File

@@ -0,0 +1,12 @@
<Document>
# Welcome to the pre-alpha version of CrystallPunk!
This guide is designed to help you understand how all the mechanics in the game work.
Be prepared for a lot of text - CP14 is a very large game with a lot of deep mechanics. We hope you will find these guides interesting.
## What is CrystallPunk?
CrystallPunk is an offshoot of the Space Station 14 game... Eeee, I don't think there's much to write about at this point. We'll fill that in later.
## Where to start?
No idea, good luck. (This block needs to be rewritten too)
</Document>

View File

@@ -0,0 +1,13 @@
<Document>
# Алхимия
В игре существует большое количество реагентов. Некоторые из них можно добыть из живых существ, некоторые - найти в природе, а другие получить при помощи исскуств алхимии.
Знание различных типов химикатов и их эффектов важно для того, чтобы уметь справляться с травмами и опасностями.
## Базовые алхимические реагенты
<GuideReagentGroupEmbed Group="CP14BasicAlchemy"/>
## Биологические вещества
<GuideReagentGroupEmbed Group="CP14Biological"/>
</Document>

View File

@@ -0,0 +1,9 @@
<Document>
# Основные алхимические реагенты
В мире Эберрона существует 12 базовых алхимических реагентов, называемых экстрактами. Они могут быть получены различными способами и служат отправной точкой для более сложных алхимических рецептов.
<GuideReagentGroupEmbed Group="CP14BasicAlchemy"/>
</Document>

View File

@@ -0,0 +1,9 @@
<Document>
# Биологические вещества
Существует большое количество биологических веществ - добытых из растений или живых существ. Знание их свойств может не раз пригодиться.
<GuideReagentGroupEmbed Group="CP14Biological"/>
</Document>

View File

@@ -0,0 +1,12 @@
<Document>
# Добро пожаловать в пре-альфа версию игры CrystallPunk!
Данное руководство создано, чтобы помочь вам разобраться в работе всех существующих в игре механик.
Будьте готовы, что здесь будет очень много текста - ведь CP14 очень большая игра с большим количеством глубоких механик. Мы надеемся, что вам будет интересно читать эти руководства.
## Что такое CrystallPunk?
CrystallPunk - ответвление от игры Space Station 14... Иии, я пока считаю что тут не о чем писать. Мы заполним этот блок позже.
## С чего начать?
Без понятия, удачи. (Этот блок тоже нужно переписать)
</Document>

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

View File

@@ -0,0 +1,37 @@
{
"version": 1,
"size": {
"x": 96,
"y": 96
},
"license": "CC-BY-SA-3.0",
"copyright": "Taken from https://github.com/discordia-space/CEV-Eris/blob/81b3a082ccdfb425f36bbed6e5bc1f0faed346ec/icons/effects/chemsmoke.dmi and modified with lowered opacity",
"states": [
{
"name": "chemmist",
"directions": 4,
"delays": [
[
0.2,
0.2,
0.2
],
[
0.2,
0.2,
0.2
],
[
0.2,
0.2,
0.2
],
[
0.2,
0.2,
0.2
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 503 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 523 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 B

View File

@@ -0,0 +1,26 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "Created by TheShuEd (Github) for CrystallPunk14",
"states": [
{
"name": "base1"
},
{
"name": "base2"
},
{
"name": "base3"
},
{
"name": "base4"
},
{
"name": "base5"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 649 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 B

Some files were not shown because too many files have changed in this diff Show More