Merge branch 'master' into MagicWands

This commit is contained in:
comasqw
2024-12-02 12:34:39 +04:00
192 changed files with 1347 additions and 155 deletions

View File

@@ -11,8 +11,7 @@ public sealed partial class EditDamageableModifier : CP14ModularCraftModifier
public override void Effect(EntityManager entManager, Entity<CP14ModularCraftStartPointComponent> start, Entity<CP14ModularCraftPartComponent>? part)
{
if (!entManager.TryGetComponent<CP14DamageableModifierComponent>(start, out var damageable))
return;
var damageable = entManager.EnsureComponent<CP14DamageableModifierComponent>(start);
damageable.Modifier *= Multiplier;
entManager.Dirty(start);

View File

@@ -0,0 +1,25 @@
using Content.Shared._CP14.ModularCraft;
using Content.Shared._CP14.ModularCraft.Components;
using Content.Shared._CP14.ModularCraft.Prototypes;
using Robust.Shared.Prototypes;
namespace Content.Server._CP14.ModularCraft.Modifiers;
public sealed partial class EditModularSlots : CP14ModularCraftModifier
{
[DataField]
public HashSet<ProtoId<CP14ModularCraftSlotPrototype>> AddSlots = new();
[DataField]
public HashSet<ProtoId<CP14ModularCraftSlotPrototype>> RemoveSlots = new();
public override void Effect(EntityManager entManager, Entity<CP14ModularCraftStartPointComponent> start, Entity<CP14ModularCraftPartComponent>? part)
{
start.Comp.FreeSlots.AddRange(AddSlots);
foreach (var slot in RemoveSlots)
{
if (start.Comp.FreeSlots.Contains(slot))
start.Comp.FreeSlots.Remove(slot);
}
}
}

View File

@@ -0,0 +1,18 @@
using Content.Shared._CP14.MeleeWeapon.Components;
using Content.Shared._CP14.ModularCraft;
using Content.Shared._CP14.ModularCraft.Components;
namespace Content.Server._CP14.ModularCraft.Modifiers;
public sealed partial class EditSharpened : CP14ModularCraftModifier
{
[DataField]
public float SharpnessDamageMultiplier = 1f;
public override void Effect(EntityManager entManager, Entity<CP14ModularCraftStartPointComponent> start, Entity<CP14ModularCraftPartComponent>? part)
{
if (!entManager.TryGetComponent<CP14SharpenedComponent>(start, out var sharpened))
return;
sharpened.SharpnessDamageBy1Damage *= SharpnessDamageMultiplier;
}
}