Fixes mostly (#292)

* - fix: Fix animals standing.

* - fix: Stuff drop from hands on stun or death even if lying.

* - tweak: Tentacle gun no longer stuns.

* - fix: Space cleaner now evaporates.

* - remove: No crew monitor objective.

* - fix: Fix time beacon.

* - tweak: Revert neuro implant buff.

* - tweak: Nerf dagger.

* - fix: Fix void adaptation not working.
This commit is contained in:
Aviu00
2024-04-23 22:20:16 +09:00
committed by GitHub
parent d6a25fc39a
commit 9a72a48c4b
13 changed files with 76 additions and 25 deletions

View File

@@ -264,6 +264,17 @@ public sealed partial class StoreSystem
RaiseLocalEvent(buyer, listing.ProductEvent);
}
// WD START
foreach (var name in listing.Components)
{
if (EntityManager.HasComponent(buyer, EntityManager.ComponentFactory.GetRegistration(name).Type))
continue;
var newComp = (Component) EntityManager.ComponentFactory.GetComponent(name);
EntityManager.AddComponent(buyer, newComp);
}
// WD END
//log dat shit.
_admin.Add(LogType.StorePurchase, LogImpact.Low,
$"{ToPrettyString(buyer):player} purchased listing \"{ListingLocalisationHelpers.GetLocalisedNameOrEntityName(listing, _prototypeManager)}\" from {ToPrettyString(uid)}");

View File

@@ -4,11 +4,11 @@ namespace Content.Server._White.Other.CritSystem;
public sealed partial class BloodLustComponent : Component
{
[ViewVariables(VVAccess.ReadWrite)]
public float SprintModifier = 1.4f;
public float SprintModifier = 1.2f;
[ViewVariables(VVAccess.ReadWrite)]
public float WalkModifier = 1.3f;
public float WalkModifier = 1.2f;
[ViewVariables(VVAccess.ReadWrite)]
public float AttackRateModifier = 1.5f;
public float AttackRateModifier = 1.3f;
}

View File

@@ -95,25 +95,41 @@ public sealed class CritSystem : EntitySystem
return;
var ohio = 0;
var absorbed = 0;
if (component.IsBloodDagger)
{
var bruteGroup = _prototypeManager.Index<DamageGroupPrototype>("Brute");
var burnGroup = _prototypeManager.Index<DamageGroupPrototype>("Burn");
var airlossGroup = _prototypeManager.Index<DamageGroupPrototype>("Airloss");
ohio = _random.Next(1, 21);
if (args.Direction != null) // Heavy attack
ohio = (int) MathF.Round(ohio * 0.7f);
foreach (var target in args.HitEntities)
{
if (!TryComp(target, out BloodstreamComponent? bloodstream))
continue;
var blood = bloodstream.BloodSolution;
if (blood == null)
continue;
var bloodLevel = blood.Value.Comp.Solution.Volume.Int();
if (!_bloodstream.TryModifyBloodLevel(target, -ohio, bloodstream, false))
continue;
_bloodstream.TryModifyBloodLevel(args.User, ohio);
_damageableSystem.TryChangeDamage(args.User, new DamageSpecifier(bruteGroup, -ohio));
_damageableSystem.TryChangeDamage(args.User, new DamageSpecifier(burnGroup, -ohio));
var toHeal = Math.Min(ohio, bloodLevel);
absorbed += toHeal;
_bloodstream.TryModifyBloodLevel(args.User, toHeal);
_damageableSystem.TryChangeDamage(args.User, new DamageSpecifier(bruteGroup, -toHeal));
_damageableSystem.TryChangeDamage(args.User, new DamageSpecifier(burnGroup, -toHeal));
_damageableSystem.TryChangeDamage(args.User, new DamageSpecifier(airlossGroup, -toHeal));
}
}
@@ -122,7 +138,9 @@ public sealed class CritSystem : EntitySystem
args.BonusDamage = new DamageSpecifier(_prototypeManager.Index<DamageTypePrototype>("Slash"),
damage - args.BaseDamage.GetTotal());
_popup.PopupEntity($"Crit! {damage}", args.User, args.User, PopupType.MediumCaution);
var extra = component.IsBloodDagger ? $" Высосано крови: {absorbed}" : "";
_popup.PopupEntity($"Crit! {damage}" + extra, args.User, args.User, PopupType.MediumCaution);
}
private bool IsCriticalHit(CritComponent component)

View File

@@ -6,6 +6,7 @@ using Content.Shared.Movement.Pulling.Systems;
using Content.Shared.Popups;
using Robust.Server.Audio;
using Robust.Server.GameObjects;
using Robust.Shared.Map;
using Robust.Shared.Timing;
namespace Content.Server._White.TimeBeacon;
@@ -13,6 +14,7 @@ namespace Content.Server._White.TimeBeacon;
public sealed class TimeBeaconSystem : EntitySystem
{
[Dependency] private readonly IGameTiming _timing = default!;
[Dependency] private readonly IMapManager _mapManager = default!;
[Dependency] private readonly PopupSystem _popup = default!;
[Dependency] private readonly AudioSystem _audio = default!;
[Dependency] private readonly TransformSystem _transform = default!;
@@ -42,7 +44,8 @@ public sealed class TimeBeaconSystem : EntitySystem
if (!TryComp(ent, out TransformComponent? xform) || !TryComp(entity, out TransformComponent? entXform))
return;
if (xform.MapID != entXform.MapID)
// If entity polymorphed or something
if (_mapManager.IsMapPaused(entXform.MapID))
return;
// break pulls before portal enter so we dont break shit