Мозговой Червь (#17)

* - add: Added Cortic Borer.

* - fix: Removed unnecessary imports, unused fields, variables, methods.

* - fix: Изменён принцип вселения: теперь не создаётся новый энтити с переходом разума, вместо этого хост хранит в себе контейнер для червя, в который последний и погружается

* - fix: Убрано использование устаревших методов и полей, исправлена ошибка, из-за которой при вселении в носителя уровень сахара не проверялся

* - fix: Изменено тестировочное значение добавления очков химикатов

* - fix: Borer can't speak now

* - fix: Some bug and shitcode fixes

* - fix: Some bug and shitcode fixes

* - fix: Added cooldown after releasing the humanoid's body

* - fix: fix

* - add: Added russian localization

* - add: Убрал использование метода _chatManager.ChatMessageToOne в некоторых местах, т.к. popup включает в себя вывод сообщения в чат.

* - fix: fix

* - fix: fix
This commit is contained in:
Ogunefu
2024-02-03 20:31:56 +03:00
committed by GitHub
parent 1594dff648
commit ff26505b11
39 changed files with 1630 additions and 3 deletions

View File

@@ -0,0 +1,79 @@
using Robust.Shared.GameStates;
namespace Content.Shared.Borer;
/// <summary>
/// This is used for...
/// </summary>
[RegisterComponent, NetworkedComponent]
[AutoGenerateComponentState]
public sealed partial class InfestedBorerComponent : Component
{
[DataField("reproduceCost")]
public int ReproduceCost = 100;
[DataField("assumeControlCost")]
public int AssumeControlCost = 250;
[AutoNetworkedField]
[ViewVariables(VVAccess.ReadOnly)]
public bool ControllingBrain = false;
public TimeSpan PointUpdateNext = TimeSpan.Zero;
public TimeSpan PointUpdateRate = TimeSpan.FromSeconds(2);
public readonly int PointUpdateValue = 1;
public string ActionBorerOut = "ActionBorerOut";
public EntityUid? ActionBorerOutEntity;
public string ActionBorerBrainSpeech = "ActionBorerBrainSpeech";
public EntityUid? ActionBorerBrainSpeechEntity;
public string ActionBorerInjectWindowOpen = "ActionBorerInjectWindowOpen";
public EntityUid? ActionBorerInjectWindowOpenEntity;
public string ActionBorerScan = "ActionBorerScan";
public EntityUid? ActionBorerScanEntity;
public string ActionBorerBrainTake = "ActionBorerBrainTake";
public EntityUid? ActionBorerBrainTakeEntity;
public string ActionBorerBrainRelease = "ActionBorerBrainRelease";
public EntityUid? ActionBorerBrainReleaseEntity;
public string ActionBorerBrainResist = "ActionBorerBrainResist";
public EntityUid? ActionBorerBrainResistEntity;
public string ActionBorerReproduce = "ActionBorerReproduce";
public EntityUid? ActionBorerReproduceEntity;
[AutoNetworkedField]
[ViewVariables(VVAccess.ReadOnly)]
public EntityUid? Host;
[AutoNetworkedField]
[ViewVariables(VVAccess.ReadOnly)]
public int Points = 0;
[ViewVariables(VVAccess.ReadOnly)]
public readonly Dictionary<string, int> AvailableReagents = new()
{
{ "Epinephrine", 30 },
{ "Bicaridine", 30 },
{ "Kelotane", 30 },
{ "Dylovene", 30 },
{ "Dexalin", 30 },
{ "SpaceDrugs", 75 },
{ "Leporazine", 75 }
};
}