diff --git a/Content.Shared/Xenoarchaeology/Artifact/Components/XenoArtifactNodeComponent.cs b/Content.Shared/Xenoarchaeology/Artifact/Components/XenoArtifactNodeComponent.cs index b18f9cb69d..0f467f3d57 100644 --- a/Content.Shared/Xenoarchaeology/Artifact/Components/XenoArtifactNodeComponent.cs +++ b/Content.Shared/Xenoarchaeology/Artifact/Components/XenoArtifactNodeComponent.cs @@ -1,12 +1,13 @@ using Content.Shared.Destructible.Thresholds; using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; namespace Content.Shared.Xenoarchaeology.Artifact.Components; /// /// Stores metadata about a particular artifact node /// -[RegisterComponent, NetworkedComponent, Access(typeof(SharedXenoArtifactSystem)), AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, Access(typeof(SharedXenoArtifactSystem)), AutoGenerateComponentState, EntityCategory("XenoArtifactEffects")] public sealed partial class XenoArtifactNodeComponent : Component { /// diff --git a/Resources/Locale/en-US/entity-categories.ftl b/Resources/Locale/en-US/entity-categories.ftl index 8a4ea73d92..3ed481333e 100644 --- a/Resources/Locale/en-US/entity-categories.ftl +++ b/Resources/Locale/en-US/entity-categories.ftl @@ -5,5 +5,6 @@ entity-category-name-roles = Mind Roles entity-category-name-mapping = Mapping entity-category-name-donotmap = Do not map entity-category-name-status-effects = Status Effects +entity-category-name-xeno-artifact-effects = Xeno Artifact Effects entity-category-suffix-donotmap = DO NOT MAP diff --git a/Resources/Prototypes/Entities/categories.yml b/Resources/Prototypes/Entities/categories.yml index aaf77989cd..4fb30f9ef0 100644 --- a/Resources/Prototypes/Entities/categories.yml +++ b/Resources/Prototypes/Entities/categories.yml @@ -31,4 +31,9 @@ - type: entityCategory id: StatusEffects name: entity-category-name-status-effects - hideSpawnMenu: true \ No newline at end of file + hideSpawnMenu: true + +- type: entityCategory + id: XenoArtifactEffects + name: entity-category-name-xeno-artifact-effects + hideSpawnMenu: true diff --git a/Resources/Prototypes/XenoArch/effects.yml b/Resources/Prototypes/XenoArch/effects.yml index 40908d14c0..b9e70a8d41 100644 --- a/Resources/Prototypes/XenoArch/effects.yml +++ b/Resources/Prototypes/XenoArch/effects.yml @@ -145,7 +145,6 @@ id: BaseXenoArtifactEffect name: effect description: Unknown - categories: [ HideSpawnMenu ] abstract: true components: - type: XenoArtifactNode @@ -153,11 +152,10 @@ group: XenoArtifactNode - type: entity - id: BaseOneTimeXenoArtifactEffect parent: BaseXenoArtifactEffect + id: BaseOneTimeXenoArtifactEffect name: one-time-effect description: Unknown - categories: [ HideSpawnMenu ] abstract: true components: - type: XenoArtifactNode @@ -169,8 +167,8 @@ group: XenoArtifactNode - type: entity - id: XenoArtifactEffectUniversalIntercom parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactEffectUniversalIntercom description: Obtains ability of long-distance communication device components: - type: XAEApplyComponents @@ -198,8 +196,8 @@ - Supply - type: entity - id: XenoArtifactBecomeRandomInstrument parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactBecomeRandomInstrument description: Obtains ability of musical instrument components: - type: XAEApplyComponents @@ -211,8 +209,8 @@ key: enum.InstrumentUiKey.Key - type: entity - id: XenoArtifactStorage parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactStorage description: Obtains ability of hidden storage components: - type: XAEApplyComponents @@ -225,15 +223,15 @@ - 0,0,10,5 - type: entity - id: XenoArtifactPhasing parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactPhasing description: Becomes phased components: - type: XAERemoveCollision - type: entity - id: XenoArtifactWandering parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactWandering description: Starts to move sporadically components: - type: XAEApplyComponents @@ -245,8 +243,8 @@ maxStepCooldown: 3 - type: entity - id: XenoArtifactSolutionStorage parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactSolutionStorage description: Obtains ability of container for chemical solutions components: - type: XAEApplyComponents @@ -276,8 +274,8 @@ utensil: None - type: entity - id: XenoArtifactSpeedUp parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactSpeedUp description: Improves holder movement speed components: - type: XAEApplyComponents @@ -287,8 +285,8 @@ sprintModifier: 1.3 - type: entity - id: XenoArtifactDrill parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactDrill description: Obtains ability of drill components: - type: XAEApplyComponents @@ -305,8 +303,8 @@ - Slicing - type: entity - id: XenoArtifactGenerateEnergy parent: BaseOneTimeXenoArtifactEffect # todo - increment power, but only once per node + id: XenoArtifactGenerateEnergy description: Produces power components: - type: XAEApplyComponents @@ -321,8 +319,8 @@ nodeGroupID: HVPower - type: entity - id: XenoArtifactGun parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactGun description: Obtains ability of firearm components: - type: XAEApplyComponents @@ -352,8 +350,8 @@ path: /Audio/Weapons/Guns/Gunshots/revolver.ogg - type: entity - id: XenoArtifactGhost parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactGhost description: Becomes sentient components: - type: XAEApplyComponents @@ -372,8 +370,8 @@ - type: GhostTakeoverAvailable - type: entity - id: XenoArtifactOmnitool parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactOmnitool description: Obtains ability of omnitool components: - type: XAEApplyComponents @@ -419,8 +417,8 @@ path: /Audio/Items/change_drill.ogg - type: entity - id: XenoArtifactEffectBadFeeling parent: BaseXenoArtifactEffect + id: XenoArtifactEffectBadFeeling description: Broadcasts sublime message components: - type: XAETelepathic @@ -449,8 +447,8 @@ - badfeeling-artifact-drastic-6 - type: entity - id: XenoArtifactEffectGoodFeeling parent: BaseXenoArtifactEffect + id: XenoArtifactEffectGoodFeeling description: Broadcasts sublime message components: - type: XAETelepathic @@ -478,8 +476,8 @@ - goodfeeling-artifact-drastic-6 - type: entity - id: XenoArtifactEffectJunkSpawn parent: BaseXenoArtifactEffect + id: XenoArtifactEffectJunkSpawn description: Create recyclable junk components: - type: XAEApplyComponents @@ -500,15 +498,15 @@ weight: 1 - type: entity - id: XenoArtifactEffectLightFlicker parent: BaseXenoArtifactEffect + id: XenoArtifactEffectLightFlicker description: Minor electromagnetic interference components: - type: XAELightFlicker - type: entity - id: XenoArtifactPotassiumWave parent: BaseXenoArtifactEffect + id: XenoArtifactPotassiumWave description: Produces potassium components: - type: XAEApplyComponents @@ -534,8 +532,8 @@ - Potassium - type: entity - id: XenoArtifactFloraSpawn parent: BaseXenoArtifactEffect + id: XenoArtifactFloraSpawn description: Produces flora components: - type: XAEApplyComponents @@ -549,8 +547,8 @@ - id: RandomFloraTree - type: entity - id: XenoArtifactChemicalPuddle parent: BaseXenoArtifactEffect + id: XenoArtifactChemicalPuddle description: Produces puddle of chemical mixture # todo: make description say what exact chemical is produced, maybe add mixes into possible chemicals components: - type: XAECreatePuddle @@ -585,31 +583,31 @@ - Sulfur - type: entity - id: XenoArtifactThrowThingsAround parent: BaseXenoArtifactEffect + id: XenoArtifactThrowThingsAround description: Minor implosion components: - type: XAEThrowThingsAround - type: entity - id: XenoArtifactColdWave parent: BaseXenoArtifactEffect + id: XenoArtifactColdWave description: Cools down surrounding gas components: - type: XAETemperature targetTemp: 50 - type: entity - id: XenoArtifactHeatWave parent: BaseXenoArtifactEffect + id: XenoArtifactHeatWave description: Heats up surrounding gas greatly components: - type: XAETemperature targetTemp: 500 - type: entity - id: XenoArtifactFoamMild parent: BaseXenoArtifactEffect + id: XenoArtifactFoamMild description: Produces chemical foam # todo: separate in 1 for each chemical for description? actually sounds like a very good idea components: - type: XAEFoam @@ -628,8 +626,8 @@ - JuiceThatMakesYouWeh - type: entity - id: XenoArtifactRandomInstrumentSpawn parent: BaseXenoArtifactEffect + id: XenoArtifactRandomInstrumentSpawn description: Creates musical instrument components: - type: XenoArtifactNode @@ -648,8 +646,8 @@ - id: RandomInstruments - type: entity - id: XenoArtifactMonkeySpawn parent: BaseXenoArtifactEffect + id: XenoArtifactMonkeySpawn description: Creates primate components: - type: XenoArtifactNode @@ -671,8 +669,8 @@ weight: 5.0 - type: entity - id: XenoArtifactRadioactive parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactRadioactive description: Becomes mildly radioactive components: - type: XAEApplyComponents @@ -684,8 +682,8 @@ slope: 0.3 - type: entity - id: XenoArtifactChargeBattery parent: BaseXenoArtifactEffect + id: XenoArtifactChargeBattery description: Charges up batteries components: - type: XAEChargeBattery @@ -694,16 +692,16 @@ - charge-artifact-popup - type: entity - id: XenoArtifactKnock parent: BaseXenoArtifactEffect + id: XenoArtifactKnock description: Mild electromagnetic interference components: - type: XAEKnock - type: XAELightFlicker - type: entity - id: XenoArtifactMagnet parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactMagnet description: Create small gravity well components: - type: XAEApplyComponents @@ -716,8 +714,8 @@ baseTangentialAcceleration: 3 - type: entity - id: XenoArtifactMagnetNegative parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactMagnetNegative description: Create small gravity well components: - type: XAEApplyComponents @@ -730,8 +728,8 @@ baseTangentialAcceleration: -3 - type: entity - id: XenoArtifactStealth parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactStealth description: Create light interference components: - type: XAEApplyComponents @@ -743,8 +741,8 @@ movementVisibilityRate: 0.10 - type: entity - id: XenoArtifactRareMaterialSpawn parent: BaseXenoArtifactEffect # todo: splice into different well-named effects, amounts should reflect how rare material is + id: XenoArtifactRareMaterialSpawn description: Create rare materials components: - type: XAEApplyComponents @@ -773,8 +771,8 @@ prob: 0.3 - type: entity - id: XenoArtifactRareMaterialSpawnSilver parent: BaseXenoArtifactEffect + id: XenoArtifactRareMaterialSpawnSilver description: Create rare materials components: - type: XenoArtifactNode @@ -796,8 +794,8 @@ prob: 0.3 - type: entity - id: XenoArtifactRareMaterialSpawnPlasma parent: BaseXenoArtifactEffect + id: XenoArtifactRareMaterialSpawnPlasma description: Create plasma components: - type: XenoArtifactNode @@ -819,8 +817,8 @@ prob: 0.3 - type: entity - id: XenoArtifactRareMaterialSpawnGold parent: BaseXenoArtifactEffect + id: XenoArtifactRareMaterialSpawnGold description: Create gold components: - type: XenoArtifactNode @@ -842,8 +840,8 @@ prob: 0.3 - type: entity - id: XenoArtifactRareMaterialSpawnUranium parent: BaseXenoArtifactEffect + id: XenoArtifactRareMaterialSpawnUranium description: Create uranium components: - type: XenoArtifactNode @@ -865,8 +863,8 @@ prob: 0.3 - type: entity - id: XenoArtifactAngryCarpSpawn parent: BaseXenoArtifactEffect + id: XenoArtifactAngryCarpSpawn description: Create hostile fish components: - type: XenoArtifactNode @@ -888,8 +886,8 @@ weight: 1.0 - type: entity - id: XenoArtifactFaunaSpawn parent: BaseXenoArtifactEffect + id: XenoArtifactFaunaSpawn description: Create friendly fauna components: - type: XenoArtifactNode @@ -935,8 +933,8 @@ prob: 0.03 - type: entity - id: XenoArtifactHostileFaunaSpawn parent: BaseXenoArtifactEffect + id: XenoArtifactHostileFaunaSpawn description: Create hostile fauna components: - type: XenoArtifactNode @@ -962,8 +960,8 @@ - id: MobKangarooSpace - type: entity - id: XenoArtifactCashSpawn parent: BaseXenoArtifactEffect + id: XenoArtifactCashSpawn description: Create money components: - type: XenoArtifactNode @@ -991,8 +989,8 @@ weight: 0.1 - type: entity - id: XenoArtifactShatterWindows parent: BaseXenoArtifactEffect + id: XenoArtifactShatterWindows description: Break windows components: - type: XenoArtifactNode @@ -1010,8 +1008,8 @@ Structural: 200 - type: entity - id: XenoArtifactFoamGood parent: BaseXenoArtifactEffect + id: XenoArtifactFoamGood description: Creates wave of helpful foam components: - type: XenoArtifactNode @@ -1031,8 +1029,8 @@ - Omnizine - type: entity - id: XenoArtifactFoamDangerous parent: BaseXenoArtifactEffect + id: XenoArtifactFoamDangerous description: Creates wave of harmful foam components: - type: XAEFoam @@ -1053,8 +1051,8 @@ - Amatoxin - type: entity - id: XenoArtifactPuddleRare parent: BaseXenoArtifactEffect + id: XenoArtifactPuddleRare description: Creates puddle of helpful chemicals components: - type: XAECreatePuddle @@ -1083,8 +1081,8 @@ - Siderlac - type: entity - id: XenoArtifactAnomalySpawn parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactAnomalySpawn description: Creates anomaly components: - type: XAEApplyComponents @@ -1098,8 +1096,8 @@ - id: RandomAnomalySpawner - type: entity - id: XenoArtifactIgnite parent: BaseXenoArtifactEffect + id: XenoArtifactIgnite description: Pyrokinesis components: - type: XAEIgnite @@ -1109,15 +1107,15 @@ max: 6 - type: entity - id: XenoArtifactTeleport parent: BaseXenoArtifactEffect + id: XenoArtifactTeleport description: Teleportation components: - type: XAERandomTeleportInvoker - type: entity - id: XenoArtifactEmp parent: BaseXenoArtifactEffect + id: XenoArtifactEmp description: Dangerous electromagnetic interference components: - type: XenoArtifactNode @@ -1128,31 +1126,31 @@ - type: XAEEmpInArea - type: entity - id: XenoArtifactPolyMonkey parent: BaseXenoArtifactEffect + id: XenoArtifactPolyMonkey description: Temporarily reshape flesh to fur components: - type: XAEPolymorph - type: entity - id: XenoArtifactPolyLizard parent: BaseXenoArtifactEffect + id: XenoArtifactPolyLizard description: Temporarily reshape flesh to scale components: - type: XAEPolymorph polymorphPrototypeName: ArtifactLizard - type: entity - id: XenoArtifactPolyLuminous parent: BaseXenoArtifactEffect + id: XenoArtifactPolyLuminous description: Temporarily reshape flesh to light components: - type: XAEPolymorph polymorphPrototypeName: ArtifactLuminous - type: entity - id: XenoArtifactRadioactiveStrong parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactRadioactiveStrong description: Becomes highly radioactive components: - type: XAEApplyComponents @@ -1164,8 +1162,8 @@ slope: 0.3 - type: entity - id: XenoArtifactMaterialSpawnGlass parent: BaseXenoArtifactEffect + id: XenoArtifactMaterialSpawnGlass description: Create glass components: - type: XAEApplyComponents @@ -1179,8 +1177,8 @@ - id: SheetGlass - type: entity - id: XenoArtifactMaterialSpawnSteel parent: BaseXenoArtifactEffect + id: XenoArtifactMaterialSpawnSteel description: Create steel components: - type: XAEApplyComponents @@ -1194,8 +1192,8 @@ - id: SheetSteel - type: entity - id: XenoArtifactMaterialSpawnPlastic parent: BaseXenoArtifactEffect + id: XenoArtifactMaterialSpawnPlastic description: Create plastic components: - type: XAEApplyComponents @@ -1209,15 +1207,15 @@ - id: SheetPlastic - type: entity - id: XenoArtifactPortal parent: BaseXenoArtifactEffect + id: XenoArtifactPortal description: Create short-living bluespace portal components: - type: XAEPortal - type: entity - id: XenoArtifactArtifactSpawn parent: BaseXenoArtifactEffect + id: XenoArtifactArtifactSpawn description: Create artifact components: - type: XenoArtifactNode @@ -1236,8 +1234,8 @@ - id: RandomArtifactSpawner - type: entity - id: XenoArtifactShuffle parent: BaseXenoArtifactEffect + id: XenoArtifactShuffle description: Switch places of sentient beings #not ALL beings, but oh well... components: - type: XAEShuffle @@ -1247,9 +1245,9 @@ - shuffle-artifact-popup - type: entity - id: XenoArtifactHealAll parent: BaseXenoArtifactEffect - description: Miraclous healing + id: XenoArtifactHealAll + description: Miraculous healing components: - type: XAEDamageInArea damageChance: 1 @@ -1267,8 +1265,8 @@ Shock: -100 - type: entity - id: XenoArtifactTesla parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactTesla description: Mass destruction components: - type: XAEApplyComponents @@ -1282,8 +1280,8 @@ - id: Singularity - type: entity - id: XenoArtifactSingularity parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactSingularity description: Imminent doom components: - type: XAEApplyComponents @@ -1297,8 +1295,8 @@ - id: TeslaEnergyBall - type: entity - id: XenoArtifactExplosionScary parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactExplosionScary description: Small scale high-speed nuclear reaction components: - type: XAETriggerExplosives @@ -1312,8 +1310,8 @@ repeatable: true - type: entity - id: XenoArtifactBoom parent: BaseOneTimeXenoArtifactEffect + id: XenoArtifactBoom description: Explosion components: - type: XAETriggerExplosives @@ -1326,8 +1324,8 @@ repeatable: true - type: entity - id: XenoArtifactEffectCreationGasPlasma parent: BaseXenoArtifactEffect + id: XenoArtifactEffectCreationGasPlasma description: Expels plasma components: - type: XAECreateGas @@ -1335,8 +1333,8 @@ Plasma: 300 - type: entity - id: XenoArtifactEffectCreationGasTritium parent: BaseXenoArtifactEffect + id: XenoArtifactEffectCreationGasTritium description: Expels tritium components: - type: XAECreateGas @@ -1344,8 +1342,8 @@ Tritium: 300 - type: entity - id: XenoArtifactEffectCreationGasAmmonia parent: BaseXenoArtifactEffect + id: XenoArtifactEffectCreationGasAmmonia description: Expels ammonia components: - type: XAECreateGas @@ -1353,8 +1351,8 @@ Ammonia: 300 - type: entity - id: XenoArtifactEffectCreationGasFrezon parent: BaseXenoArtifactEffect + id: XenoArtifactEffectCreationGasFrezon description: Expels frezon components: - type: XAECreateGas @@ -1362,8 +1360,8 @@ Frezon: 300 - type: entity - id: XenoArtifactEffectCreationGasNitrousOxide parent: BaseXenoArtifactEffect + id: XenoArtifactEffectCreationGasNitrousOxide description: Expels nitrous oxide components: - type: XAECreateGas @@ -1371,8 +1369,8 @@ NitrousOxide: 300 - type: entity - id: XenoArtifactEffectCreationGasCarbonDioxide parent: BaseXenoArtifactEffect + id: XenoArtifactEffectCreationGasCarbonDioxide description: Expels carbon dioxide components: - type: XAECreateGas