* data initalizing * modular assembling * grips and blades sprites * first prototypes * jewerly decoration * disassemble modular weapon * grip start stats * blade modifiers * inhand sprites generation * resprites inhand, add sickle, add attempt modify size * auto inhand sprite parsing * icon default parsing * spear blade * mace ball * sword blade * sharedization + autonetwork hotswipe * wielding sprite support! * iron long grip * wielded sickle, fix ERROR sprite if state not added * Update grips.yml * wielded spear + ruby rework * wielding damage bonus modifier * modular size fix * fix storedOffset rotation * parts offset * fix inheriting modifiers * some bugfix and balance tweaks * DPS Meter * fix dividing by zero * rebalance * replace baseknife to modular knife. Delete ice knife spell * sickle and mace modular replace * modular spear & sword replacement. add wielded icons * Update CP14DPSMeterSystem.cs * back to serverization * grip disassemble drop again * clothing sprite generation code * back slot long grips and mace * remove jewerly slot, add more clothing states * finish clothing states * shovel modular * YEEEEE * anvil modular craft * bugfixes * more integration check fixes
52 lines
1.4 KiB
C#
52 lines
1.4 KiB
C#
using Content.Shared._CP14.ModularCraft.Components;
|
|
using Content.Shared.DoAfter;
|
|
using Content.Shared.Interaction;
|
|
using Robust.Shared.Serialization;
|
|
|
|
namespace Content.Shared._CP14.ModularCraft;
|
|
|
|
public abstract class CP14SharedModularCraftSystem : EntitySystem
|
|
{
|
|
[Dependency] private readonly SharedDoAfterSystem _doAfter = default!;
|
|
|
|
public override void Initialize()
|
|
{
|
|
base.Initialize();
|
|
|
|
SubscribeLocalEvent<CP14ModularCraftPartComponent, AfterInteractEvent>(OnAfterInteractPart);
|
|
}
|
|
|
|
private void OnAfterInteractPart(Entity<CP14ModularCraftPartComponent> start, ref AfterInteractEvent args)
|
|
{
|
|
if (args.Handled || args.Target is null)
|
|
return;
|
|
|
|
if (!HasComp<CP14ModularCraftStartPointComponent>(args.Target))
|
|
return;
|
|
|
|
var xform = Transform(args.Target.Value);
|
|
if (xform.GridUid != xform.ParentUid)
|
|
return;
|
|
|
|
_doAfter.TryStartDoAfter(new DoAfterArgs(EntityManager,
|
|
args.User,
|
|
start.Comp.DoAfter,
|
|
new CP14ModularCraftAddPartDoAfter(),
|
|
args.Target,
|
|
args.Target,
|
|
start)
|
|
{
|
|
BreakOnDamage = true,
|
|
BreakOnMove = true,
|
|
BreakOnDropItem = true,
|
|
});
|
|
|
|
args.Handled = true;
|
|
}
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public sealed partial class CP14ModularCraftAddPartDoAfter : SimpleDoAfterEvent
|
|
{
|
|
}
|