много чего

This commit is contained in:
comasqw
2024-12-05 00:41:23 +04:00
parent 86168288a3
commit 685a9616ab
48 changed files with 454 additions and 53 deletions

View File

@@ -1,20 +0,0 @@
using Content.Shared._CP14.ModularCraft.Prototypes;
using Content.Shared._CP14.ModularCraft;
using Content.Shared._CP14.ModularCraft.Components;
using Robust.Shared.Prototypes;
namespace Content.Server._CP14.ModularCraft.Modifiers;
public sealed partial class AddNewSlots : CP14ModularCraftModifier
{
[DataField]
public List<ProtoId<CP14ModularCraftSlotPrototype>> Slots;
public override void Effect(EntityManager entManager, Entity<CP14ModularCraftStartPointComponent> start, Entity<CP14ModularCraftPartComponent>? part)
{
foreach (var slot in Slots)
{
start.Comp.FreeSlots.Add(slot);
}
}
}

View File

@@ -1,7 +1,5 @@
using System.Linq;
using Content.Shared._CP14.ModularCraft;
using Content.Shared._CP14.ModularCraft.Components;
using Content.Shared.Item;
using Content.Shared._CP14.MagicSpellStorage;
using Robust.Shared.Prototypes;

View File

@@ -0,0 +1,35 @@
using Content.Shared._CP14.ModularCraft;
using Content.Shared._CP14.ModularCraft.Components;
using Content.Shared._CP14.MagicManacostModify;
using Content.Shared._CP14.MagicRitual.Prototypes;
using Content.Shared.FixedPoint;
using Content.Shared._CP14.MagicSpellStorage;
using Robust.Shared.Prototypes;
namespace Content.Server._CP14.ModularCraft.Modifiers;
public sealed partial class EditManacostModify : CP14ModularCraftModifier
{
[DataField]
public Dictionary<ProtoId<CP14MagicTypePrototype>, FixedPoint2> Modifiers = new();
public override void Effect(EntityManager entManager, Entity<CP14ModularCraftStartPointComponent> start, Entity<CP14ModularCraftPartComponent>? part)
{
if (!entManager.TryGetComponent<CP14MagicManacostModifyComponent>(start, out var manacostModifyComp))
return;
foreach (var (magicType, modifier) in Modifiers)
{
if (manacostModifyComp.Modifiers.ContainsKey(magicType))
{
if (modifier >= 1f)
manacostModifyComp.Modifiers[magicType] += modifier - 1f;
else
manacostModifyComp.Modifiers[magicType] += 1f - modifier;
}
else
{
manacostModifyComp.Modifiers[magicType] = modifier;
}
}
}
}