Psionic Prosthetics (#4689)
* AAAAAAAAA * consistency * add to emag packs * add blacklist system and blacklist high risk items and bags thank you javadocs * add DeltaV comments * make comment better fit comment standards
This commit is contained in:
parent
40332af3b1
commit
2679bb238a
|
|
@ -1,4 +1,5 @@
|
|||
using Robust.Shared.GameStates;
|
||||
using Content.Shared.Whitelist; // DeltaV
|
||||
|
||||
namespace Content.Shared.ItemRecall;
|
||||
|
||||
|
|
@ -40,4 +41,10 @@ public sealed partial class ItemRecallComponent : Component
|
|||
/// </summary>
|
||||
[DataField, AutoNetworkedField]
|
||||
public EntityUid? MarkedEntity;
|
||||
|
||||
/// <summary>
|
||||
// DeltaV - Prevent steal target items from being marked.
|
||||
/// <summary>
|
||||
[DataField]
|
||||
public EntityWhitelist? MarkedEntityBlacklist = new();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ using Content.Shared.Hands.EntitySystems;
|
|||
using Content.Shared.IdentityManagement;
|
||||
using Content.Shared.Popups;
|
||||
using Content.Shared.Projectiles;
|
||||
using Content.Shared.Whitelist; //DeltaV
|
||||
using Robust.Shared.GameStates;
|
||||
using Robust.Shared.Player;
|
||||
|
||||
|
|
@ -22,6 +23,7 @@ public abstract partial class SharedItemRecallSystem : EntitySystem
|
|||
[Dependency] private readonly MetaDataSystem _metaData = default!;
|
||||
[Dependency] private readonly SharedPopupSystem _popups = default!;
|
||||
[Dependency] private readonly SharedProjectileSystem _proj = default!;
|
||||
[Dependency] private readonly EntityWhitelistSystem _whitelistSystem = default!; // DeltaV
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
|
|
@ -60,9 +62,11 @@ public abstract partial class SharedItemRecallSystem : EntitySystem
|
|||
return;
|
||||
}
|
||||
|
||||
_popups.PopupClient(Loc.GetString("item-recall-item-marked", ("item", markItem.Value)), args.Performer, args.Performer);
|
||||
TryMarkItem(ent, markItem.Value);
|
||||
// DeltaV
|
||||
if (TryMarkItem(ent, markItem.Value))
|
||||
_popups.PopupClient(Loc.GetString("item-recall-item-marked", ("item", markItem.Value)), args.Performer, args.Performer);
|
||||
return;
|
||||
// DeltaV
|
||||
}
|
||||
|
||||
RecallItem(ent.Comp.MarkedEntity.Value);
|
||||
|
|
@ -96,13 +100,20 @@ public abstract partial class SharedItemRecallSystem : EntitySystem
|
|||
TryUnmarkItem(ent);
|
||||
}
|
||||
|
||||
private void TryMarkItem(Entity<ItemRecallComponent> ent, EntityUid item)
|
||||
// DeltaV - Change to return bool and add blacklist check
|
||||
private bool TryMarkItem(Entity<ItemRecallComponent> ent, EntityUid item)
|
||||
{
|
||||
if (_actions.GetAction(ent.Owner) is not {} action)
|
||||
return;
|
||||
return false;
|
||||
|
||||
if (action.Comp.AttachedEntity is not {} user)
|
||||
return;
|
||||
return false;
|
||||
|
||||
if (_whitelistSystem.IsBlacklistPass(ent.Comp.MarkedEntityBlacklist, item))
|
||||
{
|
||||
_popups.PopupClient(Loc.GetString("item-recall-item-steal-target", ("item", item)), user, user);
|
||||
return false;
|
||||
}
|
||||
|
||||
AddToPvsOverride(item, user);
|
||||
|
||||
|
|
@ -114,7 +125,9 @@ public abstract partial class SharedItemRecallSystem : EntitySystem
|
|||
Dirty(item, marker);
|
||||
|
||||
UpdateActionAppearance((action, action, ent));
|
||||
return true;
|
||||
}
|
||||
// END DeltaV
|
||||
|
||||
private void TryUnmarkItem(EntityUid item)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
item-recall-item-steal-target = {CAPITALIZE(THE($item))}'s potential rejects the mark.
|
||||
|
|
@ -9,6 +9,7 @@ research-technology-engineering-eva = EVA PPE Suits
|
|||
# Experimental
|
||||
research-technology-cloning = Cloning
|
||||
research-technology-artifact-display = Artifact Display Technology
|
||||
research-technology-psionic-prosthetics = Psionic Prosthetics
|
||||
|
||||
# Civilian
|
||||
research-technology-civilian-mechs = Civilian Mechs
|
||||
|
|
@ -29,3 +30,4 @@ research-technology-robust-melee = Robust Melee
|
|||
research-technology-incendiary-laser-weapons = Incendiary Laser Weapons
|
||||
research-technology-security-eva = EVA Armored Suits
|
||||
research-technology-salvage-eva = EVA Xeno-fighting Suits
|
||||
research-technology-offensive-psionic-prosthetics = Offensive Psionic Prosthetics
|
||||
|
|
|
|||
|
|
@ -345,6 +345,7 @@
|
|||
- MechEquipment
|
||||
- Surgery # DeltaV - Share Surgery Parts between Epi and Med.
|
||||
- CyberneticsRobotics # DeltaV - Share Surgery Parts between Epi and Med.
|
||||
- PsionicProsthetics # DeltaV
|
||||
- type: EmagLatheRecipes # DeltaV
|
||||
emagStaticPacks:
|
||||
- RoboticsEmagStatic
|
||||
|
|
@ -357,6 +358,7 @@
|
|||
- SalvageHardsuits
|
||||
- ParamedicHardsuit
|
||||
- EngineeringHardsuits
|
||||
- AdvancedPsionicProsthetics
|
||||
# End DeltaV Additions
|
||||
- type: MaterialStorage
|
||||
whitelist:
|
||||
|
|
@ -455,6 +457,7 @@
|
|||
- SecurityWeapons
|
||||
- SpecOpsGoogles # DeltaV
|
||||
#- SecurityDisablers # DeltaV - made roundstart
|
||||
- AdvancedPsionicProsthetics # DeltaV
|
||||
- type: MaterialStorage
|
||||
whitelist:
|
||||
tags:
|
||||
|
|
|
|||
|
|
@ -21,3 +21,7 @@
|
|||
- type: InstantAction
|
||||
event: !type:OnItemRecallActionEvent
|
||||
- type: ItemRecall
|
||||
markedEntityBlacklist: # DeltaV
|
||||
tags:
|
||||
- HighRiskItem
|
||||
- Backpack
|
||||
|
|
|
|||
|
|
@ -0,0 +1,64 @@
|
|||
- type: entity
|
||||
parent: LeftArmCyberneticBase
|
||||
id: ForcewallLeftArm
|
||||
name: FWL left arm
|
||||
description: A prosthetic arm made by blending advanced cybernetics and powerful psionics. This one grants the use of the ability forcewall.
|
||||
components:
|
||||
- type: BodyPart
|
||||
onAdd:
|
||||
- type: ActionGrant
|
||||
actions:
|
||||
- ActionForceWall
|
||||
- type: Psionic
|
||||
|
||||
- type: entity
|
||||
parent: LeftArmCyberneticBase
|
||||
id: RecallLeftArm
|
||||
name: RCL left arm
|
||||
description: A prosthetic arm made by blending advanced cybernetics and powerful psionics. This one grants the use of the ability Recall.
|
||||
components:
|
||||
- type: BodyPart
|
||||
onAdd:
|
||||
- type: ActionGrant
|
||||
actions:
|
||||
- ActionItemRecall
|
||||
- type: Psionic
|
||||
|
||||
- type: entity
|
||||
parent: LeftArmCyberneticBase
|
||||
id: DispelLeftArm
|
||||
name: DSP left arm
|
||||
description: A prosthetic arm made by blending advanced cybernetics and powerful psionics. This one grants the use of the ability Dispel.
|
||||
components:
|
||||
- type: BodyPart
|
||||
onAdd:
|
||||
- type: ActionGrant
|
||||
actions:
|
||||
- ActionDispel
|
||||
- type: Psionic
|
||||
|
||||
- type: entity
|
||||
parent: LeftArmCyberneticBase
|
||||
id: PyroLeftArm
|
||||
name: BRN left arm
|
||||
description: A prosthetic arm made by blending advanced cybernetics and powerful psionics. This one grants the use of the ability Pyrokinesis.
|
||||
components:
|
||||
- type: BodyPart
|
||||
onAdd:
|
||||
- type: ActionGrant
|
||||
actions:
|
||||
- ActionPyrokinesis
|
||||
- type: Psionic
|
||||
|
||||
- type: entity
|
||||
parent: LeftArmCyberneticBase
|
||||
id: ZapLeftArm
|
||||
name: ZAP left arm
|
||||
description: A prosthetic arm made by blending advanced cybernetics and powerful psionics. This one grants the use of the ability Noospheric Zap.
|
||||
components:
|
||||
- type: BodyPart
|
||||
onAdd:
|
||||
- type: ActionGrant
|
||||
actions:
|
||||
- ActionNoosphericZap
|
||||
- type: Psionic
|
||||
|
|
@ -76,3 +76,10 @@
|
|||
- AugmentBotanyPanelElectronics
|
||||
- AugmentSurgeryPanelElectronics
|
||||
- AugmentPaperworkPanelElectronics
|
||||
|
||||
- type: latheRecipePack
|
||||
id: PsionicProsthetics
|
||||
recipes:
|
||||
- DispelLeftArm
|
||||
- RecallLeftArm
|
||||
- ForcewallLeftArm
|
||||
|
|
|
|||
|
|
@ -100,3 +100,9 @@
|
|||
recipes:
|
||||
- ClothingOuterHardsuitEVAPrisoner
|
||||
- ClothingHeadHelmetEVALarge
|
||||
|
||||
- type: latheRecipePack
|
||||
id: AdvancedPsionicProsthetics
|
||||
recipes:
|
||||
- PyroLeftArm
|
||||
- ZapLeftArm
|
||||
|
|
|
|||
|
|
@ -242,3 +242,39 @@
|
|||
Plasma: 1000
|
||||
Plastic: 1000
|
||||
Gold: 500
|
||||
|
||||
- type: latheRecipe
|
||||
id: ForcewallLeftArm
|
||||
result: ForcewallLeftArm
|
||||
categories:
|
||||
- Robotics
|
||||
completetime: 5
|
||||
materials:
|
||||
Steel: 1500
|
||||
Silver: 100
|
||||
Plasma: 500
|
||||
Bluespace: 300
|
||||
|
||||
- type: latheRecipe
|
||||
id: DispelLeftArm
|
||||
result: DispelLeftArm
|
||||
categories:
|
||||
- Robotics
|
||||
completetime: 5
|
||||
materials:
|
||||
Steel: 1500
|
||||
Silver: 100
|
||||
Plasma: 500
|
||||
Bluespace: 300
|
||||
|
||||
- type: latheRecipe
|
||||
id: RecallLeftArm
|
||||
result: RecallLeftArm
|
||||
categories:
|
||||
- Robotics
|
||||
completetime: 5
|
||||
materials:
|
||||
Steel: 1500
|
||||
Silver: 100
|
||||
Plasma: 500
|
||||
Bluespace: 300
|
||||
|
|
|
|||
|
|
@ -352,3 +352,27 @@
|
|||
Silver: 1500
|
||||
Gold: 500
|
||||
Wood: 300
|
||||
|
||||
- type: latheRecipe
|
||||
id: PyroLeftArm
|
||||
result: PyroLeftArm
|
||||
categories:
|
||||
- Robotics
|
||||
completetime: 5
|
||||
materials:
|
||||
Steel: 1500
|
||||
Silver: 100
|
||||
Plasma: 500
|
||||
Bluespace: 300
|
||||
|
||||
- type: latheRecipe
|
||||
id: ZapLeftArm
|
||||
result: ZapLeftArm
|
||||
categories:
|
||||
- Robotics
|
||||
completetime: 5
|
||||
materials:
|
||||
Steel: 1500
|
||||
Silver: 100
|
||||
Plasma: 500
|
||||
Bluespace: 300
|
||||
|
|
|
|||
|
|
@ -151,3 +151,16 @@
|
|||
- TelescopicShield
|
||||
- BorgModuleSecurityEscalate
|
||||
- BorgModuleSecurityBastion
|
||||
|
||||
- type: technology
|
||||
id: OffensivePsionicProsthetics
|
||||
name: research-technology-offensive-psionic-prosthetics
|
||||
icon:
|
||||
sprite: _DV/Interface/Actions/actions_psionics.rsi
|
||||
state: pyrokinesis
|
||||
discipline: Arsenal
|
||||
tier: 2
|
||||
cost: 12500
|
||||
recipeUnlocks:
|
||||
- PyroLeftArm
|
||||
- ZapLeftArm
|
||||
|
|
|
|||
|
|
@ -9,3 +9,17 @@
|
|||
cost: 5000
|
||||
recipeUnlocks:
|
||||
- ArtifactDisplayCaseMachineCircuitBoard
|
||||
|
||||
- type: technology
|
||||
id: PsionicProsthetics
|
||||
name: research-technology-psionic-prosthetics
|
||||
icon:
|
||||
sprite: _DV/Interface/Actions/actions_psionics.rsi
|
||||
state: dispel
|
||||
discipline: Experimental
|
||||
tier: 2
|
||||
cost: 10000
|
||||
recipeUnlocks:
|
||||
- DispelLeftArm
|
||||
- RecallLeftArm
|
||||
- ForcewallLeftArm
|
||||
|
|
|
|||
Loading…
Reference in New Issue