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

@@ -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