Skip to content

Commit

Permalink
Merge branch 'master' into test_branch_feature
Browse files Browse the repository at this point in the history
  • Loading branch information
PyotrIgn authored Apr 5, 2024
2 parents a5e32f5 + 99d3239 commit 1bcfde1
Show file tree
Hide file tree
Showing 256 changed files with 1,256 additions and 49 deletions.
2 changes: 1 addition & 1 deletion ADT_STATION
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@ public sealed partial class ChangelingSystem

private void InitializeLingAbilities()
{
//проверяет есть ли активные абилки в виде щита или руки-клинка, удаляет их после смерти.
SubscribeLocalEvent<ChangelingComponent, MobStateChangedEvent>(OnMobState);

SubscribeLocalEvent<ChangelingComponent, LingAbsorbActionEvent>(StartAbsorbing);
SubscribeLocalEvent<ChangelingComponent, AbsorbDoAfterEvent>(OnAbsorbDoAfter);

Expand All @@ -72,6 +75,57 @@ private void InitializeLingAbilities()
SubscribeLocalEvent<ChangelingComponent, TransformationStingEvent>(OnTransformSting);
}

// Метод для удаления BladeEntity
private void RemoveBladeEntity(EntityUid bladeUid, EntityUid uid, ChangelingComponent component)
{
QueueDel(bladeUid);
_audioSystem.PlayPvs(component.SoundFlesh, uid);

var othersMessage = Loc.GetString("changeling-armblade-retract-others", ("user", Identity.Entity(uid, EntityManager)));
_popup.PopupEntity(othersMessage, uid, Filter.PvsExcept(uid), true, PopupType.MediumCaution);

var selfMessage = Loc.GetString("changeling-armblade-retract-self");
_popup.PopupEntity(selfMessage, uid, uid, PopupType.MediumCaution);

component.BladeEntity = new EntityUid?();
}

// Метод для удаления ShieldEntity
private void RemoveShieldEntity(EntityUid shieldUid, EntityUid uid, ChangelingComponent component)
{
QueueDel(shieldUid);
_audioSystem.PlayPvs(component.SoundFlesh, uid);

var othersMessage = Loc.GetString("changeling-armshield-retract-others", ("user", Identity.Entity(uid, EntityManager)));
_popup.PopupEntity(othersMessage, uid, Filter.PvsExcept(uid), true, PopupType.MediumCaution);

var selfMessage = Loc.GetString("changeling-armshield-retract-self");
_popup.PopupEntity(selfMessage, uid, uid, PopupType.MediumCaution);

component.ShieldEntity = new EntityUid?();
}

private void OnMobState(EntityUid uid, ChangelingComponent component, MobStateChangedEvent args)
{
if (args.NewMobState == MobState.Dead)
{
// Проверяем наличие BladeEntity и удаляем его
if (component.BladeEntity != null)
{
RemoveBladeEntity(component.BladeEntity.Value, uid, component);
}
// Снимаем флаг активации руки-клинка
component.ArmBladeActive = false;

// Проверяем наличие ShieldEntity и удаляем его
if (component.ShieldEntity != null)
{
RemoveShieldEntity(component.ShieldEntity.Value, uid, component);
}
// Снимаем флаг активации щита
component.ArmShieldActive = false;
}
}

private void StartAbsorbing(EntityUid uid, ChangelingComponent component, LingAbsorbActionEvent args) // Начало поглощения
{
Expand Down Expand Up @@ -327,17 +381,7 @@ private void OnArmBladeAction(EntityUid uid, ChangelingComponent component, ArmB
{
if (component.BladeEntity != null)
{

QueueDel(component.BladeEntity.Value);
_audioSystem.PlayPvs(component.SoundFlesh, uid);

var othersMessage = Loc.GetString("changeling-armshield-retract-others", ("user", Identity.Entity(uid, EntityManager)));
_popup.PopupEntity(othersMessage, uid, Filter.PvsExcept(uid), true, PopupType.MediumCaution);

var selfMessage = Loc.GetString("changeling-armshield-retract-self");
_popup.PopupEntity(selfMessage, uid, uid, PopupType.MediumCaution);

component.BladeEntity = new EntityUid?();
RemoveBladeEntity(component.BladeEntity.Value, uid, component);
}

component.ArmBladeActive = false;
Expand Down Expand Up @@ -394,16 +438,7 @@ private void OnArmShieldAction(EntityUid uid, ChangelingComponent component, Arm
{
if (component.ShieldEntity != null)
{
QueueDel(component.ShieldEntity.Value);
_audioSystem.PlayPvs(component.SoundFlesh, uid);

var othersMessage = Loc.GetString("changeling-armshield-retract-others", ("user", Identity.Entity(uid, EntityManager)));
_popup.PopupEntity(othersMessage, uid, Filter.PvsExcept(uid), true, PopupType.MediumCaution);

var selfMessage = Loc.GetString("changeling-armshield-retract-self");
_popup.PopupEntity(selfMessage, uid, uid, PopupType.MediumCaution);

component.ShieldEntity = new EntityUid?();
RemoveShieldEntity(component.ShieldEntity.Value, uid, component);
}

component.ArmShieldActive = false;
Expand Down
7 changes: 5 additions & 2 deletions Resources/Changelog/ChangelogADT.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1545,7 +1545,7 @@ Entries:
- { message: "Удалён скафандр чемпиона.", type: Remove}
id: 55715 #костыль отображения в Обновлениях
time: '2024-03-28T08:20:00.0000000+00:00'

- author: Котя
changes:
- {message: "Добавлена система коллективного разума для дион, боргов, генокрадов и ксеноморфов.", type: Add}
Expand All @@ -1568,5 +1568,8 @@ Entries:
- author: Шрёдингер
changes:
- {message: "Теперь антагонисты и игроки определенных ролей при просмотре некоторых предметов могут видеть дополнительную информацию на основе страницы контрабанды из википедии.", type: Add}
id: 55719 #костыль отображения в Обновлениях
- { message: "После смерти генокрада, его активированные абилки в виде щита или руки-клинка будут обратно исчезать.", type: Fix}
- { message: "Убрал метательный урон у фальшивой руки-клинка.", type: Fix}
- { message: "Убрал отражение пуль и лазеров у руки-клинка.", type: Tweak}
id: 55719
time: '2024-04-03T08:20:00.0000000+00:00'
3 changes: 3 additions & 0 deletions Resources/Locale/ru-RU/ADT/Objects/Misc/misc.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ ent-PetCarrier = переноска для домашних животных
.desc = Вместительный стакан для точного смешивания напитков
.suffix = { "" }
ent-ADTWardenHandsCuffs = наручники смотрителя
.desc = Розовые наручники смотрителя, созданные с особой любовью, для любимых пермовцев.
ent-InvisibleCrate = стальной ящик
.desc = Большой контейнер для предметов.
.suffix = { "" }
Expand Down
14 changes: 14 additions & 0 deletions Resources/Locale/ru-RU/ADT/Objects/Mobs/xenos.ftl
Original file line number Diff line number Diff line change
@@ -1,2 +1,16 @@
ent-ADTMobXenoBritsh = ксено британец
.desc = Дружелюбный ксеноморф который любит пить чай, ничего не обычного.
ent-ADTMobXenoDrone = дрон британец
.desc = Дружелюбный ксеноморф который любит пить чай, ничего не обычного.
ent-ADTMobXenoQueen = королева британцев
.desc = Дружелюбный ксеноморф который любит пить чай, ничего не обычного.
ent-ADTMobXenoRavager = британец опустошитель
.desc = Дружелюбный ксеноморф который любит пить чай, ничего не обычного.
ent-ADTMobXenoRunner = британец бегун
.desc = Дружелюбный ксеноморф который любит пить чай, ничего не обычного.
ent-ADTMobXenoRouny = британец руни
.desc = Дружелюбный ксеноморф который любит пить чай, ничего не обычного.
ent-ADTMobXenoSpitter = британец плевальщик
.desc = Дружелюбный ксеноморф который любит пить чай, ничего не обычного.
ent-ADTMobXenoBurrower = британец ксеноморф
.desc = Дружелюбный ксеноморф который любит пить чай, ничего не обычного.
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ ent-ZiptiesBroken = порванные кабельные стяжки
ent-CablecuffsBroken = порванные самодельные наручники
.desc = Провода разорваны в нескольких местах и не кажутся пригодными.
ent-ClothingOuterStraightjacket = смирительная рубашка
.desc = Используется для удержания тех, кто пытается причинить вред себе или окружающим.
.desc = Используется для удержания тех, кто пытается причинить вред себе или окружающим.
2 changes: 1 addition & 1 deletion Resources/Prototypes/ADT/Entities/Clothing/Masks/mask.yml
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@
- type: BreathMask

- type: entity
parent: ClothingMaskGas
parent: ClothingMaskGasSecurity
id: ADTClothingMaskGasLapkeeSet
name: white sec mask
description: white sec mask
Expand Down
Loading

0 comments on commit 1bcfde1

Please sign in to comment.