Handheld Mass Scanner (#25526)
* handheld * Update meta.json * Update meta.json * Update cargo.yml * research * add to borg * bruh * borg to T2 * fix
This commit is contained in:
@@ -3,6 +3,8 @@ using Content.Server.UserInterface;
|
|||||||
using Content.Shared.Shuttles.BUIStates;
|
using Content.Shared.Shuttles.BUIStates;
|
||||||
using Content.Shared.Shuttles.Components;
|
using Content.Shared.Shuttles.Components;
|
||||||
using Content.Shared.Shuttles.Systems;
|
using Content.Shared.Shuttles.Systems;
|
||||||
|
using Content.Shared.PowerCell;
|
||||||
|
using Content.Shared.Movement.Components;
|
||||||
using Robust.Server.GameObjects;
|
using Robust.Server.GameObjects;
|
||||||
using Robust.Shared.Map;
|
using Robust.Shared.Map;
|
||||||
|
|
||||||
@@ -30,18 +32,10 @@ public sealed class RadarConsoleSystem : SharedRadarConsoleSystem
|
|||||||
EntityCoordinates? coordinates = onGrid ? xform.Coordinates : null;
|
EntityCoordinates? coordinates = onGrid ? xform.Coordinates : null;
|
||||||
Angle? angle = onGrid ? xform.LocalRotation : null;
|
Angle? angle = onGrid ? xform.LocalRotation : null;
|
||||||
|
|
||||||
// Use ourself I guess.
|
if (component.FollowEntity)
|
||||||
if (TryComp<IntrinsicUIComponent>(uid, out var intrinsic))
|
|
||||||
{
|
|
||||||
foreach (var uiKey in intrinsic.UIs)
|
|
||||||
{
|
|
||||||
if (uiKey.Key?.Equals(RadarConsoleUiKey.Key) == true)
|
|
||||||
{
|
{
|
||||||
coordinates = new EntityCoordinates(uid, Vector2.Zero);
|
coordinates = new EntityCoordinates(uid, Vector2.Zero);
|
||||||
angle = Angle.Zero;
|
angle = Angle.Zero;
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_uiSystem.TryGetUi(uid, RadarConsoleUiKey.Key, out var bui))
|
if (_uiSystem.TryGetUi(uid, RadarConsoleUiKey.Key, out var bui))
|
||||||
|
|||||||
@@ -19,4 +19,10 @@ public sealed partial class RadarConsoleComponent : Component
|
|||||||
|
|
||||||
[DataField, AutoNetworkedField]
|
[DataField, AutoNetworkedField]
|
||||||
public float MaxRange = 256f;
|
public float MaxRange = 256f;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// If true, the radar will be centered on the entity. If not - on the grid on which it is located.
|
||||||
|
/// </summary>
|
||||||
|
[DataField]
|
||||||
|
public bool FollowEntity = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ research-technology-advanced-tools = Advanced Tools
|
|||||||
research-technology-super-powercells = Super Powercells
|
research-technology-super-powercells = Super Powercells
|
||||||
research-technology-bluespace-storage = Bluespace Storage
|
research-technology-bluespace-storage = Bluespace Storage
|
||||||
research-technology-portable-fission = Portable Fission
|
research-technology-portable-fission = Portable Fission
|
||||||
|
research-technology-space-scanning = Space Scanning
|
||||||
|
|
||||||
research-technology-salvage-weapons = Salvage Weapons
|
research-technology-salvage-weapons = Salvage Weapons
|
||||||
research-technology-draconic-munitions = Draconic Munitions
|
research-technology-draconic-munitions = Draconic Munitions
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
- id: OxygenTankFilled
|
- id: OxygenTankFilled
|
||||||
- id: FireExtinguisher
|
- id: FireExtinguisher
|
||||||
- id: ClothingShoesBootsMag
|
- id: ClothingShoesBootsMag
|
||||||
|
- id: HandHeldMassScanner
|
||||||
- id: Pickaxe
|
- id: Pickaxe
|
||||||
- id: Welder
|
- id: Welder
|
||||||
- id: Wrench
|
- id: Wrench
|
||||||
|
|||||||
@@ -66,6 +66,7 @@
|
|||||||
title: comms-console-announcement-title-centcom
|
title: comms-console-announcement-title-centcom
|
||||||
color: "#228b22"
|
color: "#228b22"
|
||||||
- type: RadarConsole
|
- type: RadarConsole
|
||||||
|
followEntity: true
|
||||||
- type: CargoOrderConsole
|
- type: CargoOrderConsole
|
||||||
- type: CrewMonitoringConsole
|
- type: CrewMonitoringConsole
|
||||||
snap: false
|
snap: false
|
||||||
|
|||||||
@@ -145,6 +145,7 @@
|
|||||||
- type: ItemBorgModule
|
- type: ItemBorgModule
|
||||||
items:
|
items:
|
||||||
- HandheldGPSBasic
|
- HandheldGPSBasic
|
||||||
|
- HandHeldMassScannerBorg
|
||||||
- HandheldStationMapUnpowered
|
- HandheldStationMapUnpowered
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
|
|||||||
@@ -0,0 +1,72 @@
|
|||||||
|
- type: entity
|
||||||
|
name: handheld mass scanner
|
||||||
|
parent: [ BaseItem, PowerCellSlotSmallItem]
|
||||||
|
id: HandHeldMassScanner
|
||||||
|
description: A hand-held mass scanner.
|
||||||
|
components:
|
||||||
|
- type: Item
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Objects/Tools/handheld_mass_scanner.rsi
|
||||||
|
state: icon
|
||||||
|
layers:
|
||||||
|
- state: icon
|
||||||
|
- state: scanner
|
||||||
|
shader: unshaded
|
||||||
|
visible: true
|
||||||
|
map: [ "enum.PowerDeviceVisualLayers.Powered" ]
|
||||||
|
- type: RadarConsole
|
||||||
|
maxRange: 64
|
||||||
|
followEntity: true
|
||||||
|
- type: Appearance
|
||||||
|
- type: GenericVisualizer
|
||||||
|
visuals:
|
||||||
|
enum.PowerCellSlotVisuals.Enabled:
|
||||||
|
enum.PowerDeviceVisualLayers.Powered:
|
||||||
|
True: { visible: true }
|
||||||
|
False: { visible: false }
|
||||||
|
- type: PowerCellDraw
|
||||||
|
drawRate: 3
|
||||||
|
useRate: 100
|
||||||
|
- type: ActivatableUIRequiresPowerCell
|
||||||
|
- type: ActivatableUI
|
||||||
|
key: enum.RadarConsoleUiKey.Key
|
||||||
|
inHandsOnly: true
|
||||||
|
singleUser: true
|
||||||
|
- type: UserInterface
|
||||||
|
interfaces:
|
||||||
|
- key: enum.RadarConsoleUiKey.Key
|
||||||
|
type: RadarConsoleBoundUserInterface
|
||||||
|
- type: StaticPrice
|
||||||
|
price: 150
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: HandHeldMassScannerEmpty
|
||||||
|
parent: HandHeldMassScanner
|
||||||
|
suffix: Empty
|
||||||
|
components:
|
||||||
|
- type: ItemSlots
|
||||||
|
slots:
|
||||||
|
cell_slot:
|
||||||
|
name: power-cell-slot-component-slot-name-default
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Objects/Tools/handheld_mass_scanner.rsi
|
||||||
|
state: icon
|
||||||
|
layers:
|
||||||
|
- state: icon
|
||||||
|
- state: scanner
|
||||||
|
shader: unshaded
|
||||||
|
visible: false
|
||||||
|
map: [ "enum.PowerDeviceVisualLayers.Powered" ]
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: HandHeldMassScannerBorg
|
||||||
|
parent: HandHeldMassScanner
|
||||||
|
suffix: Borg
|
||||||
|
components:
|
||||||
|
- type: ItemSlots
|
||||||
|
slots:
|
||||||
|
cell_slot:
|
||||||
|
name: power-cell-slot-component-slot-name-default
|
||||||
|
startingItem: PowerCellMicroreactor
|
||||||
|
disableEject: true
|
||||||
|
swap: false
|
||||||
@@ -293,6 +293,7 @@
|
|||||||
- SignalTrigger
|
- SignalTrigger
|
||||||
- VoiceTrigger
|
- VoiceTrigger
|
||||||
- Igniter
|
- Igniter
|
||||||
|
- HandHeldMassScanner
|
||||||
- PowerCellMicroreactor
|
- PowerCellMicroreactor
|
||||||
- PowerCellHigh
|
- PowerCellHigh
|
||||||
- WeaponPistolCHIMP
|
- WeaponPistolCHIMP
|
||||||
@@ -486,7 +487,6 @@
|
|||||||
- SciFlash
|
- SciFlash
|
||||||
- BorgModuleCable
|
- BorgModuleCable
|
||||||
- BorgModuleFireExtinguisher
|
- BorgModuleFireExtinguisher
|
||||||
- BorgModuleGPS
|
|
||||||
- BorgModuleRadiationDetection
|
- BorgModuleRadiationDetection
|
||||||
- BorgModuleTool
|
- BorgModuleTool
|
||||||
- BorgModuleAppraisal
|
- BorgModuleAppraisal
|
||||||
@@ -536,6 +536,7 @@
|
|||||||
- BorgModuleMining
|
- BorgModuleMining
|
||||||
- BorgModuleGrapplingGun
|
- BorgModuleGrapplingGun
|
||||||
- BorgModuleAdvancedTool
|
- BorgModuleAdvancedTool
|
||||||
|
- BorgModuleGPS
|
||||||
- BorgModuleRCD
|
- BorgModuleRCD
|
||||||
- BorgModuleArtifact
|
- BorgModuleArtifact
|
||||||
- BorgModuleAnomaly
|
- BorgModuleAnomaly
|
||||||
|
|||||||
@@ -133,6 +133,15 @@
|
|||||||
Steel: 500
|
Steel: 500
|
||||||
Plastic: 250
|
Plastic: 250
|
||||||
|
|
||||||
|
- type: latheRecipe
|
||||||
|
id: HandHeldMassScanner
|
||||||
|
result: HandHeldMassScannerEmpty
|
||||||
|
category: Tools
|
||||||
|
completetime: 2
|
||||||
|
materials:
|
||||||
|
Steel: 800
|
||||||
|
Glass: 300
|
||||||
|
|
||||||
- type: latheRecipe
|
- type: latheRecipe
|
||||||
id: HandheldGPSBasic
|
id: HandheldGPSBasic
|
||||||
result: HandheldGPSBasic
|
result: HandheldGPSBasic
|
||||||
|
|||||||
@@ -119,6 +119,20 @@
|
|||||||
- WeaponGrapplingGun
|
- WeaponGrapplingGun
|
||||||
- BorgModuleGrapplingGun
|
- BorgModuleGrapplingGun
|
||||||
|
|
||||||
|
- type: technology
|
||||||
|
id: SpaceScanning
|
||||||
|
name: research-technology-space-scanning
|
||||||
|
icon:
|
||||||
|
sprite: Objects/Tools/handheld_mass_scanner.rsi
|
||||||
|
state: icon
|
||||||
|
discipline: Industrial
|
||||||
|
tier: 2
|
||||||
|
cost: 7500
|
||||||
|
recipeUnlocks:
|
||||||
|
- RadarConsoleCircuitboard
|
||||||
|
- HandHeldMassScanner
|
||||||
|
- BorgModuleGPS
|
||||||
|
|
||||||
- type: technology
|
- type: technology
|
||||||
id: Shuttlecraft
|
id: Shuttlecraft
|
||||||
name: research-technology-shuttlecraft
|
name: research-technology-shuttlecraft
|
||||||
@@ -130,7 +144,6 @@
|
|||||||
cost: 10000
|
cost: 10000
|
||||||
recipeUnlocks:
|
recipeUnlocks:
|
||||||
- ShuttleConsoleCircuitboard
|
- ShuttleConsoleCircuitboard
|
||||||
- RadarConsoleCircuitboard
|
|
||||||
- ThrusterMachineCircuitboard
|
- ThrusterMachineCircuitboard
|
||||||
- GyroscopeMachineCircuitboard
|
- GyroscopeMachineCircuitboard
|
||||||
- MiniGravityGeneratorCircuitboard
|
- MiniGravityGeneratorCircuitboard
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
@@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"size": {
|
||||||
|
"x": 32,
|
||||||
|
"y": 32
|
||||||
|
},
|
||||||
|
"license": "CC-BY-SA-3.0",
|
||||||
|
"copyright": "Taken from Frontier Station, created by Tem Armoff https://github.com/new-frontiers-14/frontier-station-14/pull/484/files",
|
||||||
|
"states": [
|
||||||
|
{
|
||||||
|
"name": "scanner",
|
||||||
|
"directions": 1,
|
||||||
|
"delays": [
|
||||||
|
[
|
||||||
|
0.4,
|
||||||
|
0.4
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "icon",
|
||||||
|
"directions": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 248 B |
Reference in New Issue
Block a user