diff --git a/Content.Server/Changeling/ChangelingSystem.Abilities.cs b/Content.Server/Changeling/ChangelingSystem.Abilities.cs index ee5b51aa90..55d5eca3f6 100644 --- a/Content.Server/Changeling/ChangelingSystem.Abilities.cs +++ b/Content.Server/Changeling/ChangelingSystem.Abilities.cs @@ -687,7 +687,7 @@ public sealed partial class ChangelingSystem EntityManager.AddComponent(polymorphEntity.Value, toAdd); _implantSystem.TransferImplants(uid, polymorphEntity.Value); - _actionContainerSystem.TransferAllActionsFiltered(uid, polymorphEntity.Value); + _actionContainerSystem.TransferAllActionsFiltered(uid, polymorphEntity.Value, polymorphEntity.Value); _action.GrantContainedActions(polymorphEntity.Value, polymorphEntity.Value); RemoveLesserFormActions(polymorphEntity.Value); @@ -851,7 +851,7 @@ public sealed partial class ChangelingSystem EntityManager.AddComponent(reverted.Value, toAdd); _implantSystem.TransferImplants(uid, reverted.Value); - _actionContainerSystem.TransferAllActionsFiltered(uid, reverted.Value); + _actionContainerSystem.TransferAllActionsFiltered(uid, reverted.Value, reverted.Value); _action.GrantContainedActions(reverted.Value, reverted.Value); if (component.IsLesserForm) diff --git a/Content.Shared/Actions/ActionContainerSystem.cs b/Content.Shared/Actions/ActionContainerSystem.cs index 10f0be4ff4..9f9d570761 100644 --- a/Content.Shared/Actions/ActionContainerSystem.cs +++ b/Content.Shared/Actions/ActionContainerSystem.cs @@ -174,6 +174,7 @@ public sealed class ActionContainerSystem : EntitySystem public void TransferAllActionsFiltered( EntityUid from, EntityUid to, + EntityUid newAttached, ActionsContainerComponent? oldContainer = null, ActionsContainerComponent? newContainer = null) { @@ -189,7 +190,7 @@ public sealed class ActionContainerSystem : EntitySystem if (actions.Select(act => MetaData(act).EntityPrototype?.ID).Any(ext => toAdd == ext)) continue; - TransferAction(action, to, container: newContainer); + TransferActionWithNewAttached(action, to, newAttached, container: newContainer); } } diff --git a/Resources/Prototypes/Entities/Mobs/Species/base.yml b/Resources/Prototypes/Entities/Mobs/Species/base.yml index 3c78d24e15..221ac82df1 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/base.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/base.yml @@ -201,11 +201,11 @@ type: HumanoidMarkingModifierBoundUserInterface - key: enum.StrippingUiKey.Key type: StrippableBoundUserInterface + # WD-EDIT - key: enum.ListViewSelectorUiKeyChangeling.Key type: ListViewSelectorBui - key: enum.TransformStingSelectorUiKey.Key type: TransformStingSelectorBui - # WD-EDIT - key: enum.NameSelectorUIKey.Key type: NameSelectorBUI - key: enum.RuneTeleporterUiKey.Key diff --git a/Resources/Prototypes/Polymorphs/polymorph.yml b/Resources/Prototypes/Polymorphs/polymorph.yml index cc20a36f83..68263832c8 100644 --- a/Resources/Prototypes/Polymorphs/polymorph.yml +++ b/Resources/Prototypes/Polymorphs/polymorph.yml @@ -263,6 +263,28 @@ allowRepeatedMorphs: true inventory: Transfer +- type: polymorph + id: MobHarpy + configuration: + entity: MobHarpy + forced: true + revertOnCrit: false + revertOnDeath: false + transferDamage: true + allowRepeatedMorphs: true + inventory: Transfer + +- type: polymorph + id: MobSkrell + configuration: + entity: MobSkrell + forced: true + revertOnCrit: false + revertOnDeath: false + transferDamage: true + allowRepeatedMorphs: true + inventory: Transfer + - type: polymorph id: ArtifactLuminous configuration: diff --git a/Resources/Prototypes/White/Mobs/Species/harpy.yml b/Resources/Prototypes/White/Mobs/Species/harpy.yml index 0afb6cdf0e..4a91d31b2d 100644 --- a/Resources/Prototypes/White/Mobs/Species/harpy.yml +++ b/Resources/Prototypes/White/Mobs/Species/harpy.yml @@ -31,6 +31,10 @@ - key: enum.StrippingUiKey.Key type: StrippableBoundUserInterface # WD-EDIT + - key: enum.ListViewSelectorUiKeyChangeling.Key + type: ListViewSelectorBui + - key: enum.TransformStingSelectorUiKey.Key + type: TransformStingSelectorBui - key: enum.NameSelectorUIKey.Key type: NameSelectorBUI - key: enum.RuneTeleporterUiKey.Key