mirror of
https://github.com/wega-team/ss14-wega.git
synced 2026-02-14 19:30:01 +01:00
nar'sie fake (#20299)
* import narsie sprite * narsie_rises audio * rename SmokeDissipateSpawnComponent to SpawnOnDespawnComponent * add AnnounceOnSpawn system * oop * NAR'SIE HAS RISEN * suffix * base prototype, changes * fix * mapinit * downscale * new toys * singuloose * still not fix * honki sprite * add honki spawn animation * revert spawnondespawn change * really revert * use LocId for announceonspawn --------- Co-authored-by: deltanedas <@deltanedas:kde.org>
This commit is contained in:
36
Content.Server/Chat/AnnounceOnSpawnComponent.cs
Normal file
36
Content.Server/Chat/AnnounceOnSpawnComponent.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using Content.Server.Chat.Systems;
|
||||
using Robust.Shared.Audio;
|
||||
using Robust.Shared.Maths;
|
||||
|
||||
namespace Content.Server.Chat;
|
||||
|
||||
/// <summary>
|
||||
/// Dispatches an announcement to everyone when the entity is mapinit'd.
|
||||
/// </summary>
|
||||
[RegisterComponent, Access(typeof(AnnounceOnSpawnSystem))]
|
||||
public sealed partial class AnnounceOnSpawnComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// Locale id of the announcement message.
|
||||
/// </summary>
|
||||
[DataField(required: true)]
|
||||
public LocId Message = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Locale id of the announcement's sender, defaults to Central Command.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public LocId? Sender;
|
||||
|
||||
/// <summary>
|
||||
/// Sound override for the announcement.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public SoundSpecifier? Sound;
|
||||
|
||||
/// <summary>
|
||||
/// Color override for the announcement.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public Color? Color;
|
||||
}
|
||||
22
Content.Server/Chat/Systems/AnnounceOnSpawnSystem.cs
Normal file
22
Content.Server/Chat/Systems/AnnounceOnSpawnSystem.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using Content.Server.Chat;
|
||||
|
||||
namespace Content.Server.Chat.Systems;
|
||||
|
||||
public sealed class AnnounceOnSpawnSystem : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly ChatSystem _chat = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
SubscribeLocalEvent<AnnounceOnSpawnComponent, MapInitEvent>(OnInit);
|
||||
}
|
||||
|
||||
private void OnInit(EntityUid uid, AnnounceOnSpawnComponent comp, MapInitEvent args)
|
||||
{
|
||||
var message = Loc.GetString(comp.Message);
|
||||
var sender = comp.Sender != null ? Loc.GetString(comp.Sender) : "Central Command";
|
||||
_chat.DispatchGlobalAnnouncement(message, sender, playSound: true, comp.Sound, comp.Color);
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,11 @@
|
||||
copyright: "Taken from TG station."
|
||||
source: "https://github.com/tgstation/tgstation/blob/b02b93ce2ab891164511a973493cdf951b4120f7/sound/effects/ninja_greeting.ogg"
|
||||
|
||||
- files: ["narsie_rises.ogg"]
|
||||
license: "CC-BY-SA-3.0"
|
||||
copyright: "Taken from TG station."
|
||||
source: "https://github.com/tgstation/tgstation/blob/b44fcdedfb7c7d8425bd75b9caf71644a86375d1/sound/creatures/narsie_rises.ogg"
|
||||
|
||||
- files: ["epsilon.ogg"]
|
||||
license: "CC-BY-SA-3.0"
|
||||
copyright: "Made by dj-34 (https://github.com/dj-34)"
|
||||
@@ -26,4 +31,4 @@
|
||||
- files: ["bluealert.ogg"]
|
||||
license: "CC-BY-SA-3.0"
|
||||
copyright: "Taken from Citadel Station 13"
|
||||
source: "https://github.com/Skyrat-SS13/Skyrat13/commit/2d4f2d1b489590b559e4073f41b126cef56f4c50"
|
||||
source: "https://github.com/Skyrat-SS13/Skyrat13/commit/2d4f2d1b489590b559e4073f41b126cef56f4c50"
|
||||
|
||||
BIN
Resources/Audio/Misc/narsie_rises.ogg
Normal file
BIN
Resources/Audio/Misc/narsie_rises.ogg
Normal file
Binary file not shown.
2
Resources/Locale/en-US/narsie/narsie.ftl
Normal file
2
Resources/Locale/en-US/narsie/narsie.ftl
Normal file
@@ -0,0 +1,2 @@
|
||||
narsie-has-risen = NAR'SIE HAS RISEN
|
||||
narsie-has-risen-sender = ???
|
||||
99
Resources/Prototypes/Entities/Mobs/Player/narsie.yml
Normal file
99
Resources/Prototypes/Entities/Mobs/Player/narsie.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
- type: entity
|
||||
abstract: true
|
||||
id: MobNarsieBase
|
||||
name: Nar'Sie
|
||||
description: Your mind begins to bubble and ooze as it tries to comprehend what it sees.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Mobs/Demons/narsie.rsi
|
||||
drawdepth: Ghosts
|
||||
scale: 2.0,2.0
|
||||
layers:
|
||||
- state: narsie
|
||||
shader: unshaded
|
||||
|
||||
# spawn animation, spawns actual narsie when it ends
|
||||
- type: entity
|
||||
parent: MobNarsieBase
|
||||
id: MobNarsieSpawn
|
||||
suffix: Spawn
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: spawn
|
||||
shader: unshaded
|
||||
# spawn animation lasts 3.5 seconds
|
||||
- type: TimedDespawn
|
||||
lifetime: 3.5
|
||||
- type: SpawnOnDespawn
|
||||
prototype: MobNarsie
|
||||
|
||||
- type: entity
|
||||
parent: [MobNarsieBase, BaseMob]
|
||||
id: MobNarsie
|
||||
components:
|
||||
- type: AnnounceOnSpawn
|
||||
message: narsie-has-risen
|
||||
sender: narsie-has-risen-sender
|
||||
sound:
|
||||
path: /Audio/Misc/narsie_rises.ogg
|
||||
color: red
|
||||
- type: CargoSellBlacklist
|
||||
# big nar'sie needs to see the universe
|
||||
- type: ContentEye
|
||||
maxZoom: 2.0,2.0
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
EventHorizonCollider:
|
||||
shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 5
|
||||
hard: false
|
||||
restitution: 0.8
|
||||
density: 99999
|
||||
mask:
|
||||
- AllMask
|
||||
layer:
|
||||
- AllMask
|
||||
EventHorizonConsumer:
|
||||
shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 5
|
||||
hard: false
|
||||
mask:
|
||||
- AllMask
|
||||
layer:
|
||||
- AllMask
|
||||
- type: Input
|
||||
context: "ghost"
|
||||
- type: MovementIgnoreGravity
|
||||
# narnar hears all
|
||||
- type: IntrinsicRadioReceiver
|
||||
- type: ActiveRadio
|
||||
channels:
|
||||
- Binary
|
||||
- Common
|
||||
- Command
|
||||
- CentCom
|
||||
- Engineering
|
||||
- Medical
|
||||
- Science
|
||||
- Security
|
||||
- Service
|
||||
- Supply
|
||||
- Syndicate
|
||||
globalReceive: true
|
||||
- type: Physics
|
||||
bodyType: Dynamic
|
||||
bodyStatus: InAir
|
||||
- type: CanMoveInAir
|
||||
# singulose components
|
||||
- type: EventHorizon
|
||||
radius: 5
|
||||
canBreachContainment: true
|
||||
- type: GravityWell
|
||||
baseRadialAcceleration: 6
|
||||
maxRange: 8
|
||||
- type: WarpPoint
|
||||
follow: true
|
||||
location: Nar'Sie
|
||||
BIN
Resources/Textures/Mobs/Demons/honkmother.rsi/honkmother.png
Normal file
BIN
Resources/Textures/Mobs/Demons/honkmother.rsi/honkmother.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
40
Resources/Textures/Mobs/Demons/honkmother.rsi/meta.json
Normal file
40
Resources/Textures/Mobs/Demons/honkmother.rsi/meta.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 201,
|
||||
"y": 192
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Created by Alekshhh for SS14.",
|
||||
"states": [
|
||||
{
|
||||
"name": "honkmother",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "spawn",
|
||||
"delays": [
|
||||
[
|
||||
0.3,
|
||||
1,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.3
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Resources/Textures/Mobs/Demons/honkmother.rsi/spawn.png
Normal file
BIN
Resources/Textures/Mobs/Demons/honkmother.rsi/spawn.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 97 KiB |
57
Resources/Textures/Mobs/Demons/narsie.rsi/meta.json
Normal file
57
Resources/Textures/Mobs/Demons/narsie.rsi/meta.json
Normal file
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 252,
|
||||
"y": 266
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/blob/b44fcdedfb7c7d8425bd75b9caf71644a86375d1/icons/obj/antags/cult/narsie.dmi",
|
||||
"states": [
|
||||
{
|
||||
"name": "narsie",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "spawn",
|
||||
"delays": [
|
||||
[
|
||||
0.3,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.2
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Resources/Textures/Mobs/Demons/narsie.rsi/narsie.png
Normal file
BIN
Resources/Textures/Mobs/Demons/narsie.rsi/narsie.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 88 KiB |
BIN
Resources/Textures/Mobs/Demons/narsie.rsi/spawn.png
Normal file
BIN
Resources/Textures/Mobs/Demons/narsie.rsi/spawn.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 128 KiB |
Reference in New Issue
Block a user