cleanup changeling namespaces and prototypes (#39794)
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
using Content.Shared.Changeling.Transform;
|
using Content.Shared.Changeling.Systems;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
using Robust.Client.UserInterface;
|
using Robust.Client.UserInterface;
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
using System.Numerics;
|
using System.Numerics;
|
||||||
using Content.Client.UserInterface.Controls;
|
using Content.Client.UserInterface.Controls;
|
||||||
using Content.Shared.Changeling.Transform;
|
using Content.Shared.Changeling.Systems;
|
||||||
using Robust.Client.AutoGenerated;
|
using Robust.Client.AutoGenerated;
|
||||||
using Robust.Client.UserInterface.Controls;
|
using Robust.Client.UserInterface.Controls;
|
||||||
using Robust.Client.UserInterface.XAML;
|
using Robust.Client.UserInterface.XAML;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
using Content.Shared.DoAfter;
|
using Content.Shared.DoAfter;
|
||||||
using Robust.Shared.Serialization;
|
using Robust.Shared.Serialization;
|
||||||
|
|
||||||
namespace Content.Shared.Changeling.Devour;
|
namespace Content.Shared.Changeling;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Action event for Devour, someone has initiated a devour on someone, begin to windup.
|
/// Action event for Devour, someone has initiated a devour on someone, begin to windup.
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
using Content.Shared.DoAfter;
|
using Content.Shared.DoAfter;
|
||||||
using Robust.Shared.Serialization;
|
using Robust.Shared.Serialization;
|
||||||
|
|
||||||
namespace Content.Shared.Changeling.Transform;
|
namespace Content.Shared.Changeling;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Action event for opening the changeling transformation radial menu.
|
/// Action event for opening the changeling transformation radial menu.
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using Content.Shared.Changeling.Systems;
|
||||||
using Content.Shared.Damage;
|
using Content.Shared.Damage;
|
||||||
using Content.Shared.Damage.Prototypes;
|
using Content.Shared.Damage.Prototypes;
|
||||||
using Content.Shared.FixedPoint;
|
using Content.Shared.FixedPoint;
|
||||||
@@ -7,7 +8,7 @@ using Robust.Shared.GameStates;
|
|||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
|
||||||
|
|
||||||
namespace Content.Shared.Changeling.Devour;
|
namespace Content.Shared.Changeling.Components;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Component responsible for Changelings Devour attack. Including the amount of damage
|
/// Component responsible for Changelings Devour attack. Including the amount of damage
|
||||||
@@ -2,7 +2,7 @@ using Content.Shared.Cloning;
|
|||||||
using Robust.Shared.GameStates;
|
using Robust.Shared.GameStates;
|
||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
|
|
||||||
namespace Content.Shared.Changeling;
|
namespace Content.Shared.Changeling.Components;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The storage component for Changelings, it handles the link between a changeling and its consumed identities
|
/// The storage component for Changelings, it handles the link between a changeling and its consumed identities
|
||||||
@@ -29,6 +29,7 @@ public sealed partial class ChangelingIdentityComponent : Component
|
|||||||
/// The cloning settings passed to the CloningSystem, contains a list of all components to copy or have handled by their
|
/// The cloning settings passed to the CloningSystem, contains a list of all components to copy or have handled by their
|
||||||
/// respective systems.
|
/// respective systems.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[DataField]
|
||||||
public ProtoId<CloningSettingsPrototype> IdentityCloningSettings = "ChangelingCloningSettings";
|
public ProtoId<CloningSettingsPrototype> IdentityCloningSettings = "ChangelingCloningSettings";
|
||||||
|
|
||||||
public override bool SendOnlyToOwner => true;
|
public override bool SendOnlyToOwner => true;
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using Robust.Shared.GameStates;
|
using Robust.Shared.GameStates;
|
||||||
using Robust.Shared.Player;
|
using Robust.Shared.Player;
|
||||||
|
|
||||||
namespace Content.Shared.Changeling;
|
namespace Content.Shared.Changeling.Components;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Marker component for cloned identities devoured by a changeling.
|
/// Marker component for cloned identities devoured by a changeling.
|
||||||
@@ -1,9 +1,10 @@
|
|||||||
|
using Content.Shared.Changeling.Systems;
|
||||||
using Content.Shared.Cloning;
|
using Content.Shared.Cloning;
|
||||||
using Robust.Shared.Audio;
|
using Robust.Shared.Audio;
|
||||||
using Robust.Shared.GameStates;
|
using Robust.Shared.GameStates;
|
||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
|
|
||||||
namespace Content.Shared.Changeling.Transform;
|
namespace Content.Shared.Changeling.Components;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The component containing information about Changelings Transformation action
|
/// The component containing information about Changelings Transformation action
|
||||||
@@ -3,6 +3,7 @@ using Content.Shared.Administration.Logs;
|
|||||||
using Content.Shared.Armor;
|
using Content.Shared.Armor;
|
||||||
using Content.Shared.Atmos.Rotting;
|
using Content.Shared.Atmos.Rotting;
|
||||||
using Content.Shared.Body.Components;
|
using Content.Shared.Body.Components;
|
||||||
|
using Content.Shared.Changeling.Components;
|
||||||
using Content.Shared.Damage;
|
using Content.Shared.Damage;
|
||||||
using Content.Shared.Database;
|
using Content.Shared.Database;
|
||||||
using Content.Shared.DoAfter;
|
using Content.Shared.DoAfter;
|
||||||
@@ -19,7 +20,7 @@ using Robust.Shared.Network;
|
|||||||
using Robust.Shared.Random;
|
using Robust.Shared.Random;
|
||||||
using Robust.Shared.Timing;
|
using Robust.Shared.Timing;
|
||||||
|
|
||||||
namespace Content.Shared.Changeling.Devour;
|
namespace Content.Shared.Changeling.Systems;
|
||||||
|
|
||||||
public sealed class ChangelingDevourSystem : EntitySystem
|
public sealed class ChangelingDevourSystem : EntitySystem
|
||||||
{
|
{
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
using System.Numerics;
|
using System.Numerics;
|
||||||
|
using Content.Shared.Changeling.Components;
|
||||||
using Content.Shared.Cloning;
|
using Content.Shared.Cloning;
|
||||||
using Content.Shared.Humanoid;
|
using Content.Shared.Humanoid;
|
||||||
using Content.Shared.Mind.Components;
|
using Content.Shared.Mind.Components;
|
||||||
@@ -9,7 +10,7 @@ using Robust.Shared.Network;
|
|||||||
using Robust.Shared.Player;
|
using Robust.Shared.Player;
|
||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
|
|
||||||
namespace Content.Shared.Changeling;
|
namespace Content.Shared.Changeling.Systems;
|
||||||
|
|
||||||
public sealed class ChangelingIdentitySystem : EntitySystem
|
public sealed class ChangelingIdentitySystem : EntitySystem
|
||||||
{
|
{
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
using Robust.Shared.Serialization;
|
using Robust.Shared.Serialization;
|
||||||
|
|
||||||
namespace Content.Shared.Changeling.Transform;
|
namespace Content.Shared.Changeling.Systems;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Send when a player selects an intentity to transform into in the radial menu.
|
/// Send when a player selects an intentity to transform into in the radial menu.
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
using Content.Shared.Actions;
|
using Content.Shared.Actions;
|
||||||
using Content.Shared.Administration.Logs;
|
using Content.Shared.Administration.Logs;
|
||||||
|
using Content.Shared.Changeling.Components;
|
||||||
using Content.Shared.Cloning;
|
using Content.Shared.Cloning;
|
||||||
using Content.Shared.Database;
|
using Content.Shared.Database;
|
||||||
using Content.Shared.DoAfter;
|
using Content.Shared.DoAfter;
|
||||||
@@ -10,7 +11,7 @@ using Robust.Shared.Audio.Systems;
|
|||||||
using Robust.Shared.Network;
|
using Robust.Shared.Network;
|
||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
|
|
||||||
namespace Content.Shared.Changeling.Transform;
|
namespace Content.Shared.Changeling.Systems;
|
||||||
|
|
||||||
public sealed partial class ChangelingTransformSystem : EntitySystem
|
public sealed partial class ChangelingTransformSystem : EntitySystem
|
||||||
{
|
{
|
||||||
@@ -20,3 +20,25 @@
|
|||||||
retractSounds:
|
retractSounds:
|
||||||
collection: gib # Placeholder
|
collection: gib # Placeholder
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: ActionChangelingDevour
|
||||||
|
name: "[color=red]Devour[/color]"
|
||||||
|
description: Consume the essence of your victims and subsume their identity and mind into your own.
|
||||||
|
components:
|
||||||
|
- type: Action
|
||||||
|
icon: { sprite : Interface/Actions/changeling.rsi, state: "devour" }
|
||||||
|
iconOn: { sprite : Interface/Actions/changeling.rsi, state: "devour_on" }
|
||||||
|
priority: 1
|
||||||
|
- type: TargetAction
|
||||||
|
- type: EntityTargetAction
|
||||||
|
event: !type:ChangelingDevourActionEvent
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: ActionChangelingTransform
|
||||||
|
name: "[color=red]Transform[/color]"
|
||||||
|
description: Transform and assume the identities of those you have devoured.
|
||||||
|
components:
|
||||||
|
- type: Action
|
||||||
|
icon: { sprite : Interface/Actions/changeling.rsi, state: "transform" }
|
||||||
|
- type: InstantAction
|
||||||
|
event: !type:ChangelingTransformActionEvent
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
- type: entity
|
|
||||||
parent: MobHuman
|
|
||||||
id: MobLing
|
|
||||||
name: Urist McLing
|
|
||||||
suffix: Non-Antag
|
|
||||||
components:
|
|
||||||
- type: ChangelingDevour
|
|
||||||
- type: ChangelingIdentity
|
|
||||||
- type: ChangelingTransform
|
|
||||||
- type: ActionGrant
|
|
||||||
actions:
|
|
||||||
- ActionRetractableItemArmBlade # Temporary addition, will inevitably be a purchasable in the bio-store
|
|
||||||
|
|
||||||
- type: entity
|
|
||||||
id: ActionChangelingDevour
|
|
||||||
name: "[color=red]Devour[/color]"
|
|
||||||
description: Consume the essence of your victims and subsume their identity and mind into your own.
|
|
||||||
components:
|
|
||||||
- type: Action
|
|
||||||
icon: { sprite : Interface/Actions/changeling.rsi, state: "devour" }
|
|
||||||
iconOn: { sprite : Interface/Actions/changeling.rsi, state: "devour_on" }
|
|
||||||
priority: 1
|
|
||||||
- type: TargetAction
|
|
||||||
- type: EntityTargetAction
|
|
||||||
event: !type:ChangelingDevourActionEvent
|
|
||||||
|
|
||||||
- type: entity
|
|
||||||
id: ActionChangelingTransform
|
|
||||||
name: "[color=red]Transform[/color]"
|
|
||||||
description: Transform and assume the identities of those you have devoured.
|
|
||||||
components:
|
|
||||||
- type: Action
|
|
||||||
icon: { sprite : Interface/Actions/changeling.rsi, state: "transform" }
|
|
||||||
- type: InstantAction
|
|
||||||
event: !type:ChangelingTransformActionEvent
|
|
||||||
12
Resources/Prototypes/Entities/Mobs/Player/changeling.yml
Normal file
12
Resources/Prototypes/Entities/Mobs/Player/changeling.yml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
- type: entity
|
||||||
|
parent: MobHuman
|
||||||
|
id: MobLing
|
||||||
|
name: Urist McLing
|
||||||
|
suffix: Non-Antag
|
||||||
|
components:
|
||||||
|
- type: ChangelingDevour
|
||||||
|
- type: ChangelingIdentity
|
||||||
|
- type: ChangelingTransform
|
||||||
|
- type: ActionGrant
|
||||||
|
actions:
|
||||||
|
- ActionRetractableItemArmBlade # Temporary addition, will inevitably be a purchasable in the bio-store
|
||||||
Reference in New Issue
Block a user