Фиксы в основном (#495)
* - fix: No concealed rune interaction. * - fix: Wizard rule min players. * - add: Holosign stuff. * - add: Don't despawn dragon. * - tweak: Implants. * - fix: Hijack. * - remove: Hardsuit objective. * - fix: Holosigns. * - fix: Fix chair rotation. * - fix: No shooting while delayed. * - fix: Changeling felinid polymorph. * - fix: Fix stuck in container in container. * - fix: Fix flash in containers. * - fix: Whistle chameleon. * - fix: Loc. * - fix: No shooting in body bags. * - fix: Error. * - fix: Ling felinid fix attempt 2.
This commit is contained in:
@@ -4,6 +4,7 @@ using Content.Server._White.Cult.GameRule;
|
||||
using Content.Server._White.Mood;
|
||||
using Content.Server._White.Other.FastAndFuriousSystem;
|
||||
using Content.Server._White.Wizard;
|
||||
using Content.Server.Abilities.Felinid;
|
||||
using Content.Server.Administration.Systems;
|
||||
using Content.Server.Bible.Components;
|
||||
using Content.Server.Body.Components;
|
||||
@@ -1008,6 +1009,12 @@ public sealed partial class ChangelingSystem
|
||||
_actionContainerSystem.TransferAllActionsFiltered(target, polymorphEntity.Value, polymorphEntity.Value);
|
||||
_action.GrantContainedActions(polymorphEntity.Value, polymorphEntity.Value);
|
||||
|
||||
if (!TryComp(polymorphEntity.Value, out FelinidComponent? felinid))
|
||||
return polymorphEntity;
|
||||
|
||||
_action.SetCharges(felinid.HairballAction, 0);
|
||||
_action.SetEnabled(felinid.HairballAction, false);
|
||||
|
||||
return polymorphEntity;
|
||||
}
|
||||
|
||||
|
||||
@@ -78,6 +78,8 @@ public sealed partial class DragonSystem : EntitySystem
|
||||
}
|
||||
}
|
||||
|
||||
continue; // WD EDIT, Don't despawn dragon
|
||||
|
||||
// At max rifts
|
||||
if (comp.Rifts.Count >= RiftsAllowed)
|
||||
continue;
|
||||
|
||||
@@ -17,7 +17,9 @@ using Content.Shared.Traits.Assorted;
|
||||
using Content.Shared.Weapons.Melee.Events;
|
||||
using Content.Shared.StatusEffect;
|
||||
using Content.Shared.Examine;
|
||||
using Content.Shared.Hands.Components;
|
||||
using Robust.Server.Audio;
|
||||
using Robust.Server.Containers;
|
||||
using Robust.Server.GameObjects;
|
||||
using Robust.Shared.Audio;
|
||||
using Robust.Shared.Random;
|
||||
@@ -40,6 +42,7 @@ namespace Content.Server.Flash
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
[Dependency] private readonly StatusEffectsSystem _statusEffectsSystem = default!;
|
||||
[Dependency] private readonly FlashSoundSuppressionSystem _flashSoundSuppressionSystem = default!;
|
||||
[Dependency] private readonly ContainerSystem _container = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
@@ -162,6 +165,14 @@ namespace Content.Server.Flash
|
||||
var statusEffectsQuery = GetEntityQuery<StatusEffectsComponent>();
|
||||
var damagedByFlashingQuery = GetEntityQuery<DamagedByFlashingComponent>();
|
||||
|
||||
// WD START
|
||||
var flashInContainer =
|
||||
_container.TryGetOuterContainer(source.Owner, transform, out var flashContainer);
|
||||
|
||||
if (flashInContainer && HasComp<HandsComponent>(flashContainer!.Owner))
|
||||
flashInContainer = false;
|
||||
// WD END
|
||||
|
||||
foreach (var entity in _entityLookup.GetEntitiesInRange(transform.Coordinates, range))
|
||||
{
|
||||
if (!_random.Prob(probability))
|
||||
@@ -171,6 +182,16 @@ namespace Content.Server.Flash
|
||||
if (!statusEffectsQuery.HasComponent(entity) && !damagedByFlashingQuery.HasComponent(entity))
|
||||
continue;
|
||||
|
||||
// WD START
|
||||
var entityInContainer = _container.TryGetContainingContainer(entity, out var entityContainer);
|
||||
|
||||
if (flashInContainer != entityInContainer)
|
||||
continue;
|
||||
|
||||
if (flashInContainer && flashContainer != entityContainer)
|
||||
continue;
|
||||
// WD END
|
||||
|
||||
// Check for entites in view
|
||||
// put damagedByFlashingComponent in the predicate because shadow anomalies block vision.
|
||||
if (!_examine.InRangeUnOccluded(entity, mapPosition, range, predicate: (e) => damagedByFlashingQuery.HasComponent(e)))
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace Content.Server.Holosign
|
||||
/// How much charge a single use expends.
|
||||
/// </summary>
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField]
|
||||
public int Uses = 10;
|
||||
public int Uses = 6;
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField]
|
||||
public List<EntityUid?> Signs = new();
|
||||
|
||||
@@ -5,6 +5,7 @@ using Content.Shared.Interaction;
|
||||
using Content.Shared.Interaction.Events;
|
||||
using Content.Shared.Popups;
|
||||
using Content.Shared.Storage;
|
||||
using Content.Shared.Timing;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Content.Server.Holosign;
|
||||
@@ -13,6 +14,7 @@ public sealed class HolosignSystem : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly SharedTransformSystem _transform = default!;
|
||||
[Dependency] private readonly PopupSystem _popupSystem = default!;
|
||||
[Dependency] private readonly UseDelaySystem _useDelay = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
@@ -61,7 +63,10 @@ public sealed class HolosignSystem : EntitySystem
|
||||
return;
|
||||
}
|
||||
|
||||
if (args.Handled || !args.CanReach || HasComp<StorageComponent>(args.Target))
|
||||
if (args.Handled || !args.CanReach || args.Target != null)
|
||||
return;
|
||||
|
||||
if (TryComp(uid, out UseDelayComponent? useDelay) && !_useDelay.TryResetDelay((uid, useDelay), true))
|
||||
return;
|
||||
|
||||
if (component.Signs.Count >= component.Uses) // wd edit
|
||||
|
||||
@@ -102,6 +102,8 @@ public sealed partial class ImplanterSystem : SharedImplanterSystem
|
||||
BreakOnDamage = true,
|
||||
BreakOnMove = true,
|
||||
NeedHand = true,
|
||||
BreakOnHandChange = true, // WD EDIT
|
||||
MovementThreshold = 0.01f,
|
||||
};
|
||||
|
||||
if (!_doAfter.TryStartDoAfter(args))
|
||||
|
||||
@@ -82,7 +82,7 @@ public sealed class HijackShuttleConditionSystem : EntitySystem
|
||||
if (!isHumanoid) // Only humanoids count as enemies
|
||||
continue;
|
||||
|
||||
var isAntagonist = _role.MindIsAntagonist(mindId);
|
||||
var isAntagonist = _role.MindIsAntagonist(crewMindId);
|
||||
if (isAntagonist) // Allow antagonist
|
||||
continue;
|
||||
|
||||
|
||||
@@ -75,6 +75,13 @@ public sealed class WizardRuleSystem : GameRuleSystem<WizardRuleComponent>
|
||||
_sawmill = _logManager.GetSawmill("Wizard");
|
||||
}
|
||||
|
||||
protected override void Added(EntityUid uid, WizardRuleComponent component, GameRuleComponent gameRule, GameRuleAddedEvent args)
|
||||
{
|
||||
base.Added(uid, component, gameRule, args);
|
||||
|
||||
gameRule.MinPlayers = component.MinPlayers;
|
||||
}
|
||||
|
||||
private void OnObjectivesTextGetInfo(Entity<WizardRuleComponent> ent, ref ObjectivesTextGetInfoEvent args)
|
||||
{
|
||||
args.Minds = ent.Comp.WizardMinds;
|
||||
|
||||
Reference in New Issue
Block a user