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."
|
copyright: "Taken from TG station."
|
||||||
source: "https://github.com/tgstation/tgstation/blob/b02b93ce2ab891164511a973493cdf951b4120f7/sound/effects/ninja_greeting.ogg"
|
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"]
|
- files: ["epsilon.ogg"]
|
||||||
license: "CC-BY-SA-3.0"
|
license: "CC-BY-SA-3.0"
|
||||||
copyright: "Made by dj-34 (https://github.com/dj-34)"
|
copyright: "Made by dj-34 (https://github.com/dj-34)"
|
||||||
@@ -26,4 +31,4 @@
|
|||||||
- files: ["bluealert.ogg"]
|
- files: ["bluealert.ogg"]
|
||||||
license: "CC-BY-SA-3.0"
|
license: "CC-BY-SA-3.0"
|
||||||
copyright: "Taken from Citadel Station 13"
|
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