ghost locator maints loot (#32323)

* implement

* react to revenants/AI eye

* rare maints loot

* sprite

* description

* review

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* do changes

* stats

* networked

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
This commit is contained in:
Ilya246
2024-10-18 17:42:13 +04:00
committed by GitHub
parent cf1b3b0913
commit fca95ef250
12 changed files with 114 additions and 3 deletions

View File

@@ -0,0 +1,9 @@
using Robust.Shared.GameStates;
namespace Content.Shared.Ghost;
/// <summary>
/// Marker component to identify "ghostly" entities.
/// </summary>
[RegisterComponent, NetworkedComponent]
public sealed partial class SpectralComponent : Component { }

View File

@@ -289,6 +289,7 @@
- id: ResearchDisk5000
- id: PetCarrier
- id: DrinkMopwataBottleRandom
- id: SpectralLocator
- id: LidSalami
weight: 0.05

View File

@@ -8,6 +8,7 @@
components:
- type: Input
context: "ghost"
- type: Spectral
- type: MovementSpeedModifier
baseWalkSpeed: 6
baseSprintSpeed: 6

View File

@@ -1,5 +1,5 @@
- type: entity
parent: [MobObserver, InventoryBase]
parent: [MobObserverBase, InventoryBase]
id: AdminObserver
name: admin observer
categories: [ HideSpawnMenu ]

View File

@@ -28,11 +28,13 @@
layer:
- GhostImpassable
# shared parent between aghosts, replay spectators and normal observers
- type: entity
parent:
- Incorporeal
- BaseMob
id: MobObserver
id: MobObserverBase
abstract: true
name: observer
description: Boo!
categories: [ HideSpawnMenu ]
@@ -61,6 +63,13 @@
tags:
- BypassInteractionRangeChecks
# proto for player ghosts specifically
- type: entity
parent: MobObserverBase
id: MobObserver
components:
- type: Spectral
- type: entity
id: ActionGhostBoo
name: Boo!

View File

@@ -1,5 +1,5 @@
- type: entity
parent: MobObserver
parent: MobObserverBase
id: ReplayObserver
categories: [ HideSpawnMenu ]
save: false

View File

@@ -0,0 +1,58 @@
- type: entity
id: SpectralLocatorUnpowered
parent: BaseItem
name: spectral locator
description: Appears to be a modified anomaly locator. Seems very old.
suffix: Unpowered
components:
- type: Sprite
sprite: Objects/Fun/spectrallocator.rsi
layers:
- state: icon
- state: screen
shader: unshaded
visible: false
map: ["enum.ToggleVisuals.Layer"]
- type: Appearance
- type: GenericVisualizer
visuals:
enum.ToggleVisuals.Toggled:
enum.ToggleVisuals.Layer:
True: { visible: true }
False: { visible: false }
- type: ItemToggle
- type: ProximityBeeper
- type: ProximityDetector
range: 12
criteria:
components:
- Spectral # reacts to AI eye, intentional
- type: Beeper
isMuted: true
minBeepInterval: 0.25
maxBeepInterval: 0.5
beepSound:
path: "/Audio/Items/locator_beep.ogg"
params:
maxDistance: 1
volume: -8
- type: entity
id: SpectralLocator
parent: [ SpectralLocatorUnpowered, PowerCellSlotSmallItem ]
suffix: Powered
components:
- type: PowerCellDraw
drawRate: 1
useRate: 0
- type: ToggleCellDraw
- type: entity
id: SpectralLocatorEmpty
parent: SpectralLocator
suffix: Empty
components:
- type: ItemSlots
slots:
cell_slot:
name: power-cell-slot-component-slot-name-default

Binary file not shown.

After

Width:  |  Height:  |  Size: 600 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 B

View File

@@ -0,0 +1,33 @@
{
"version": 1,
"license": "CC0-1.0",
"copyright": "Originally created by EmoGarbage404 (github) for Space Station 14, modified by Ilya246 (github) for Space Station 14.",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
},
{
"name": "screen",
"delays": [
[
0.2,
0.2,
0.2,
0.2
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 B