Skip to content

Commit

Permalink
Хотфиксы моих обнов (#236)
Browse files Browse the repository at this point in the history
<!-- ЭТО ШАБЛОН ВАШЕГО PULL REQUEST. Текст между стрелками - это
комментарии - они не будут видны в PR. -->
Просто немножко фиксов. 
## Описание PR
<!-- Ниже опишите ваш Pull Request. Что он изменяет? На что еще это
может повлиять? Постарайтесь описать все внесённые вами изменения! -->

**Медиа**
<!-- Если приемлемо, добавьте скриншоты для демонстрации вашего PR. Если
ваш PR представляет собой визуальное изменение, добавьте
скриншоты, иначе он может быть закрыт. -->

**Проверки**
<!-- Выполнение всех следующих действий, если это приемлемо для вида
изменений сильно ускорит разбор вашего PR -->
- [ ] PR полностью завершён и мне не нужна помощь чтобы его закончить.
- [x] Я внимательно просмотрел все свои изменения и багов в них не
нашёл.
- [x] Я запускал локальный сервер со своими изменениями и всё
протестировал.
- [x] Я добавил скриншот/видео демонстрации PR в игре, **или** этот PR
этого не требует.

**Изменения**
<!--
Здесь вы можете написать список изменений, который будет автоматически
добавлен в игру, когда ваш PR будет принят.

В журнал изменений следует помещать только то, что действительно важно
игрокам.

В списке изменений тип значка не является часть предложения, поэтому
явно указывайте - Добавлен, Удалён, Изменён.
плохо: - add: Новый инструмент для инженеров
хорошо: - add: Добавлен новый инструмент для инженеров

Вы можете указать своё имя после символа 🆑 именно оно будет
отображаться в журнале изменений (иначе будет использоваться ваше имя на
GitHub)
Например: 🆑 Ian

-->

🆑 Котя
- fix: Исправлено проигрывание барков на дальних дистанциях
- fix: Исправлена видимость призраков при галлюцинациях
- fix: Исправлены пустые сообщения
  • Loading branch information
FaDeOkno authored Aug 14, 2024
1 parent a33eb33 commit 26e2a2f
Show file tree
Hide file tree
Showing 9 changed files with 47 additions and 27 deletions.
6 changes: 4 additions & 2 deletions Content.Client/ADT/Bark/Systems/SpeechBarksSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -111,14 +111,16 @@ private async void OnEntitySpoke(PlaySpeechBarksEvent ev)
break;
var entity = GetEntity(ev.Source.Value);
if (entity == EntityUid.Invalid || _player.LocalEntity == null)
continue;
break;
if (Deleted(entity) || Terminating(entity))
continue;
break;
if (!HasComp<TransformComponent>(entity) || !HasComp<TransformComponent>(_player.LocalEntity.Value))
continue;
if (Transform(entity).Coordinates.TryDistance(EntityManager, Transform(_player.LocalEntity.Value).Coordinates, out var distance) &&
distance > SharedChatSystem.VoiceRange)
continue;
if (Transform(entity).ParentUid == EntityUid.Invalid)
continue;

_audio.PlayEntity(audioResource.AudioStream, entity, audioParams.WithPitchScale(_random.NextFloat(ev.Pitch - 0.1f, ev.Pitch + 0.1f)));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ private void OnHallucinationsInit(EntityUid uid, HallucinationsComponent compone
UpdatePreset(component);
_eye.SetVisibilityMask(uid, eye.VisibilityMask | (ushort)VisibilityFlags.BaseHallucination, eye);

_eye.SetVisibilityMask(uid, eye.VisibilityMask | component.Layer, eye);
//_eye.SetVisibilityMask(uid, eye.VisibilityMask | component.Layer, eye);
_adminLogger.Add(LogType.Action, LogImpact.Medium,
$"{ToPrettyString(uid):player} began to hallucinate.");
}
Expand All @@ -62,7 +62,7 @@ private void OnHallucinationsDiseaseInit(EntityUid uid, HallucinationsDiseaseCom
return;
_eye.SetVisibilityMask(uid, eye.VisibilityMask | (ushort)VisibilityFlags.BaseHallucination, eye);

_eye.SetVisibilityMask(uid, eye.VisibilityMask | component.Layer, eye);
//_eye.SetVisibilityMask(uid, eye.VisibilityMask | component.Layer, eye);
_adminLogger.Add(LogType.Action, LogImpact.Medium,
$"{ToPrettyString(uid):player} began to hallucinate.");
}
Expand All @@ -87,7 +87,7 @@ private void OnHallucinationsShutdown(EntityUid uid, HallucinationsComponent com
return;
_eye.SetVisibilityMask(uid, eye.VisibilityMask & ~(ushort)VisibilityFlags.BaseHallucination, eye);

_eye.SetVisibilityMask(uid, eye.VisibilityMask & ~component.Layer, eye);
//_eye.SetVisibilityMask(uid, eye.VisibilityMask & ~component.Layer, eye);
_adminLogger.Add(LogType.Action, LogImpact.Medium,
$"{ToPrettyString(uid):player} stopped hallucinating.");
}
Expand All @@ -98,7 +98,7 @@ private void OnHallucinationsDiseaseShutdown(EntityUid uid, HallucinationsDiseas
return;
_eye.SetVisibilityMask(uid, eye.VisibilityMask & ~(ushort)VisibilityFlags.BaseHallucination, eye);

_eye.SetVisibilityMask(uid, eye.VisibilityMask & ~component.Layer, eye);
//_eye.SetVisibilityMask(uid, eye.VisibilityMask & ~component.Layer, eye);
_adminLogger.Add(LogType.Action, LogImpact.Medium,
$"{ToPrettyString(uid):player} stopped hallucinating.");
}
Expand Down
12 changes: 6 additions & 6 deletions Content.Server/ADT/Phantom/EntitySystems/PhantomSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ private void OnStatusEnded(EntityUid uid, PhantomComponent component, StatusEffe
/// <param name="args">Event</param>
private void OnRequestStyleMenu(EntityUid uid, PhantomComponent component, OpenPhantomStylesMenuActionEvent args)
{
if (_entityManager.TryGetComponent<ActorComponent?>(uid, out var actorComponent))
if (_mindSystem.TryGetMind(uid, out _, out var mind) && mind.Session != null)
{
var ev = new RequestPhantomStyleMenuEvent(GetNetEntity(uid));

Expand All @@ -304,7 +304,7 @@ private void OnRequestStyleMenu(EntityUid uid, PhantomComponent component, OpenP
ev.Prototypes.Add(prototype.ID);
}
ev.Prototypes.Sort();
RaiseNetworkEvent(ev, actorComponent.PlayerSession);
RaiseNetworkEvent(ev, mind.Session);
}
}

Expand Down Expand Up @@ -348,7 +348,7 @@ private void OnRequestFreedomMenu(EntityUid uid, PhantomComponent component, Fre
return;
}

if (_entityManager.TryGetComponent<ActorComponent?>(uid, out var actorComponent))
if (_mindSystem.TryGetMind(uid, out _, out var mind) && mind.Session != null)
{
var ev = new RequestPhantomFreedomMenuEvent(GetNetEntity(uid));

Expand All @@ -367,7 +367,7 @@ private void OnRequestFreedomMenu(EntityUid uid, PhantomComponent component, Fre
}
}
ev.Prototypes.Sort();
RaiseNetworkEvent(ev, actorComponent.PlayerSession);
RaiseNetworkEvent(ev, mind.Session);
}

args.Handled = true;
Expand Down Expand Up @@ -423,7 +423,7 @@ private void OnRequestVesselMenu(EntityUid uid, PhantomComponent component, Haun
return;

}
if (_entityManager.TryGetComponent<ActorComponent?>(uid, out var actorComponent))
if (_mindSystem.TryGetMind(uid, out _, out var mind) && mind.Session != null)
{
var ev = new RequestPhantomVesselMenuEvent(GetNetEntity(uid), new());

Expand Down Expand Up @@ -477,7 +477,7 @@ private void OnRequestVesselMenu(EntityUid uid, PhantomComponent component, Haun
ev.Vessels.Add((netEnt, profile, meta.EntityName));
}
ev.Vessels.Sort();
RaiseNetworkEvent(ev, actorComponent.PlayerSession);
RaiseNetworkEvent(ev, mind.Session);
}

args.Handled = true;
Expand Down
24 changes: 12 additions & 12 deletions Content.Server/ADT/Poltergeist/Systems/PoltergeistSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -53,19 +53,19 @@ public override void Initialize()

SubscribeLocalEvent<PoltergeistComponent, AlternativeSpeechEvent>(OnTrySpeak);
SubscribeLocalEvent<PoltergeistComponent, EventHorizonAttemptConsumeEntityEvent>(OnSinguloConsumeAttempt);
SubscribeLocalEvent<PotentialPoltergeistComponent, MobStateChangedEvent>(OnMobState);
}
private void OnMobState(EntityUid uid, PotentialPoltergeistComponent component, MobStateChangedEvent args)
{
if (args.NewMobState == MobState.Dead);
{
if (_mindSystem.TryGetMind(uid, out var mindId, out var mind))
{
var poltergei = Spawn("ADTMobPoltergeist", Transform(uid).Coordinates);
_mindSystem.TransferTo(mindId, poltergei);
}
}
// SubscribeLocalEvent<PotentialPoltergeistComponent, MobStateChangedEvent>(OnMobState);
}
// private void OnMobState(EntityUid uid, PotentialPoltergeistComponent component, MobStateChangedEvent args)
// {
// if (args.NewMobState == MobState.Dead);
// {
// if (_mindSystem.TryGetMind(uid, out var mindId, out var mind))
// {
// var poltergei = Spawn("ADTMobPoltergeist", Transform(uid).Coordinates);
// _mindSystem.TransferTo(mindId, poltergei);
// }
// }
// }

private void OnMapInit(EntityUid uid, PoltergeistComponent component, MapInitEvent args)
{
Expand Down
9 changes: 8 additions & 1 deletion Content.Server/Chat/Systems/ChatSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,7 @@ public void DispatchStationAnnouncement(
#endregion

#region Private API

private void SendEntitySpeak(
EntityUid source,
string originalMessage,
Expand Down Expand Up @@ -460,6 +460,10 @@ private void SendEntitySpeak(
}
// ADT Languages end

if (string.IsNullOrEmpty(FormattedMessage.EscapeText(coloredMessage))) // ADT Chat fix
return;


name = FormattedMessage.EscapeText(name);
var wrappedMessage = Loc.GetString(speech.Bold ? "chat-manager-entity-say-bold-wrap-message" : "chat-manager-entity-say-wrap-message",
("entityName", name),
Expand Down Expand Up @@ -597,6 +601,9 @@ private void SendEntityWhisper(
language = _language.GetCurrentLanguage(source);
// ADT Languages end

if (string.IsNullOrEmpty(FormattedMessage.EscapeText(coloredMessage))) // ADT Chat fix
return;

foreach (var (session, data) in GetRecipients(source, WhisperMuffledRange))
{
EntityUid listener;
Expand Down
10 changes: 9 additions & 1 deletion Content.Server/Ghost/GhostSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
using Content.Server.Roles.Jobs;
using Content.Server.Warps;
using Content.Shared.Actions;
using Content.Shared.ADT.Poltergeist;
using Content.Shared.Examine;
using Content.Shared.Eye;
using Content.Shared.Follower;
Expand Down Expand Up @@ -447,7 +448,14 @@ private bool IsValidSpawnPosition(EntityCoordinates? spawnPosition)
_minds.TransferTo(mind.Owner, null, createGhost: false, mind: mind.Comp);
return null;
}

// ADT Poltergeist start
if (HasComp<PotentialPoltergeistComponent>(mind.Comp.OwnedEntity))
{
var polter = SpawnAtPosition("ADTMobPoltergeist", spawnPosition.Value);
_minds.TransferTo(mind.Owner, polter, mind: mind.Comp);
return polter;
}
// ADT Poltergeist end
var ghost = SpawnAtPosition(GameTicker.ObserverPrototypeName, spawnPosition.Value);
var ghostComponent = Comp<GhostComponent>(ghost);

Expand Down
2 changes: 1 addition & 1 deletion Content.Shared/Eye/VisibilityFlags.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public enum VisibilityFlags : int
Normal = 1 << 0,
Ghost = 1 << 1, // ADT Phantom
PhantomVessel = 2 << 1, // ADT Phantom
BaseHallucination = 3 << 1, // ADT Phantom
BaseHallucination = 4 << 1, // ADT Phantom

}
}
2 changes: 2 additions & 0 deletions Resources/Prototypes/ADT/StatusEffects/starvation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- type: statusEffect
id: ADTStarvation
1 change: 1 addition & 0 deletions Resources/Prototypes/Entities/Mobs/Species/base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@
- StaminaModifier
- Flashed
- ADTHallucinations
- ADTStarvation
- type: Body
prototype: Human
requiredLegs: 2
Expand Down

0 comments on commit 26e2a2f

Please sign in to comment.