Skip to content

Commit

Permalink
Merge branch 'master' into shadekin-new
Browse files Browse the repository at this point in the history
  • Loading branch information
Schrodinger71 authored Aug 6, 2024
2 parents 257d992 + 58bf7d2 commit a2e10b3
Show file tree
Hide file tree
Showing 105 changed files with 1,993 additions and 5 deletions.
31 changes: 31 additions & 0 deletions Content.Client/ADT/Novakid/NovakidSystem.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
using Content.Shared.ADT.Novakid;
using Robust.Client.GameObjects;

namespace Content.Client.ADT.Novakid;
public sealed partial class NovakidSystem : EntitySystem
{
[Dependency] private readonly IEntityManager _entityManager = default!;
[Dependency] private readonly PointLightSystem _lights = default!;
public override void Initialize()
{
base.Initialize();

SubscribeLocalEvent<NovakidGlowingComponent, ComponentInit>(OnEntityInit);
}
/// <summary>
/// Makes Novakid to glow with color of his skin — layer number 0 of SpriteComponent.
/// </summary>
/// <param name="uid">Novakid</param>
/// <param name="component">Компонент отвечающий за свечение новакида. Вообще-то говоря он нужен пока только для того, чтобы не пришлось перебирать сущности в поисках новакида.</param>
/// <param name="args"></param>
private void OnEntityInit(EntityUid uid, NovakidGlowingComponent component, ComponentInit args)
{
_entityManager.GetComponent<SpriteComponent>(uid).TryGetLayer(0, out var layer);

component.GlowingColor = _entityManager.GetComponent<SpriteComponent>(uid).Color;
if (layer == null) return;
_lights.SetColor(uid, layer.Color);
//_lights.SetEnergy(uid, 0.6f);
DirtyEntity(uid);
}
}
13 changes: 13 additions & 0 deletions Content.Shared/ADT/Novakid/NovakidGlowingComponent.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
namespace Content.Shared.ADT.Novakid;

[RegisterComponent]
public sealed partial class NovakidGlowingComponent : Component
{
[DataField]
public Color GlowingColor;

NovakidGlowingComponent(Color color)
{
GlowingColor = color;
}
}
4 changes: 4 additions & 0 deletions Resources/Audio/ADT/Novakid/attributions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- files: ["novakid_laugh01, novakid_laugh02, novakid_laugh03, novakid_laugh04, novakid_laugh05, novakid_scream01, novakid_scream02, novakid_scream03, novakid_scream04"]
license: "CC-BY-SA-3.0"
copyright: "Taken from https://zvukogram.com/category/zvuki-ognya/"
source: "https://zvukogram.com/category/zvuki-ognya/"
Binary file not shown.
Binary file added Resources/Audio/ADT/Novakid/novakid_laugh02.ogg
Binary file not shown.
Binary file added Resources/Audio/ADT/Novakid/novakid_laugh03.ogg
Binary file not shown.
Binary file added Resources/Audio/ADT/Novakid/novakid_laugh04.ogg
Binary file not shown.
Binary file added Resources/Audio/ADT/Novakid/novakid_laugh05.ogg
Binary file not shown.
Binary file added Resources/Audio/ADT/Novakid/novakid_scream01.ogg
Binary file not shown.
Binary file added Resources/Audio/ADT/Novakid/novakid_scream02.ogg
Binary file not shown.
Binary file added Resources/Audio/ADT/Novakid/novakid_scream03.ogg
Binary file not shown.
Binary file added Resources/Audio/ADT/Novakid/novakid_scream04.ogg
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
marking-NovakidHair1 = сплетение
marking-NovakidHair2 = комета
marking-NovakidHair3 = дуализм
marking-NovakidHair4 = слава
marking-NovakidHair5 = газовое облако
marking-NovakidHair6 = газовая лавина
marking-NovakidHair7 = сияние света
marking-NovakidHair8 = огонек звездного блеска
marking-NovakidHair9 = звездочка
marking-NovakidHair10 = лунный день
marking-NovakidHair11 = метеоритный дождь
marking-NovakidHair12 = млечный путь
marking-NovakidHair13 = туманность
marking-NovakidHair14 = солнечная коронка
marking-NovakidHair15 = звездный дождь
marking-NovakidHair16 = звездопад
marking-NovakidHair17 = пламя звезды
marking-NovakidHair18 = солнечный свет
marking-NovakidHair19 = сверхновая
marking-NovakidHair20 = галактический стиль
marking-NovakidHair21 = дева
marking-NovakidHair22 = галактика
marking-NovakidFace1 = раскол
marking-NovakidFace2 = крест
marking-NovakidFace3 = распятие
marking-NovakidFace4 = двойственность
marking-NovakidFace5 = око
marking-NovakidFace6 = H
marking-NovakidFace7 = сердце
marking-NovakidFace8 = индикатор
marking-NovakidFace9 = нота
marking-NovakidFace10 = призма
marking-NovakidFace11 = руна
marking-NovakidFace12 = квадрат
marking-NovakidFace13 = напряжение
marking-NovakidFace14 = тройственность
marking-NovakidFace15 = перевёрнутое распятие
marking-NovakidFace16 = X
marking-NovakidFace17 = Y
marking-NovakidFace18 = зета
marking-NovakidFace19 = конус
marking-NovakidFace20 = cвязь
marking-NovakidFace21 = окружность
marking-NovakidFace22 = косательная
marking-NovakidFace23 = очи
marking-NovakidFace24 = G
marking-NovakidFace25 = домик
marking-NovakidFace26 = К
marking-NovakidFace27 = лима
marking-NovakidFace28 = обратная косательная
marking-NovakidFace29 = омега
marking-NovakidFace30 = плюс
marking-NovakidFace31 = роза
marking-NovakidFace32 = раскол
marking-NovakidFace33 = звезда
marking-NovakidFace34 = продовольные очки
marking-TorsoNovakidDefolt = белое ядро
marking-HeadNovakidDefolt = белое ядро
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ent-BaseMobNovakid = Урист МакНовакид
.desc = { ent-BaseMobSpeciesOrganic.desc }
.suffix = Новакид
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
novakid-hurt-by-water-popup = Вода заставляет ваше пламя угасать
species-name-novakid = Новакид
1 change: 1 addition & 0 deletions Resources/Locale/ru-RU/accessories/vox-hair.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,4 @@ marking-VoxHairTielQuills = Вокс, Тилские перья
marking-VoxHairYasu = Вокс, Ясухиро
marking-VoxHairMange = Вокс, Лишай
marking-VoxHairPony = Вокс, Пони
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ent-MobNovakid = { ent-BaseMobNovakid }
.desc = { ent-BaseMobNovakid.desc }
34 changes: 34 additions & 0 deletions Resources/Prototypes/ADT/Body/Organs/novakid.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
- type: entity
id: OrganNovakidStomach
parent: OrganAnimalStomach
noSpawn: true
components:
- type: Stomach
- type: SolutionContainerManager
solutions:
stomach:
maxVol: 50.0
- type: Metabolizer
maxReagents: 5
metabolizerTypes: [ Novakid ]

- type: entity
id: OrganNovakidLungs
parent: OrganHumanLungs
suffix: "novakid"
components:
- type: Metabolizer
metabolizerTypes: [ Novakid ]

- type: entity
id: OrganNovakidHeart
parent: OrganAnimalHeart
suffix: "novakid"
components:
- type: Metabolizer
maxReagents: 2
metabolizerTypes: [ Novakid ]
groups:
- id: Medicine
- id: Poison
- id: Narcotic
190 changes: 190 additions & 0 deletions Resources/Prototypes/ADT/Body/Parts/novakid.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
# TODO: Add descriptions (many)
# TODO BODY: Part damage
- type: entity
id: PartNovakid
parent: BaseItem
name: "novakid body part"
abstract: true
components:
- type: Damageable
damageContainer: Biological
- type: BodyPart
- type: ContainerContainer
containers:
bodypart: !type:Container
ents: []

- type: entity
id: TorsoNovakid
name: "novakid torso"
parent: PartNovakid
components:
- type: Sprite
netsync: false
sprite: ADT/Mobs/Novakid/parts.rsi
state: "torso_m"
- type: Icon
sprite: ADT/Mobs/Novakid/parts.rsi
state: "torso_m"
- type: BodyPart
partType: Torso

- type: entity
id: HeadNovakid
name: "novakid head"
parent: PartNovakid
components:
- type: Sprite
netsync: false
sprite: ADT/Mobs/Novakid/parts.rsi
state: "head_m"
- type: Icon
sprite: ADT/Mobs/Novakid/parts.rsi
state: "head_m"
- type: BodyPart
partType: Head
vital: true
- type: Input
context: "ghost"
- type: MovementSpeedModifier
baseWalkSpeed: 0
baseSprintSpeed: 0
- type: InputMover
- type: GhostOnMove
- type: Tag
tags:
- Head

- type: entity
id: LeftArmNovakid
name: "left novakid arm"
parent: PartNovakid
components:
- type: Sprite
netsync: false
sprite: ADT/Mobs/Novakid/parts.rsi
state: "l_arm"
- type: Icon
sprite: ADT/Mobs/Novakid/parts.rsi
state: "l_arm"
- type: BodyPart
partType: Arm
symmetry: Left

- type: entity
id: RightArmNovakid
name: "right novakid arm"
parent: PartNovakid
components:
- type: Sprite
netsync: false
sprite: ADT/Mobs/Novakid/parts.rsi
state: "r_arm"
- type: Icon
sprite: ADT/Mobs/Novakid/parts.rsi
state: "r_arm"
- type: BodyPart
partType: Arm
symmetry: Right

- type: entity
id: LeftHandNovakid
name: "left novakid hand"
parent: PartNovakid
components:
- type: Sprite
netsync: false
sprite: ADT/Mobs/Novakid/parts.rsi
state: "l_hand"
- type: Icon
sprite: ADT/Mobs/Novakid/parts.rsi
state: "l_hand"
- type: BodyPart
partType: Hand
symmetry: Left

- type: entity
id: RightHandNovakid
name: "right novakid hand"
parent: PartNovakid
components:
- type: Sprite
netsync: false
sprite: ADT/Mobs/Novakid/parts.rsi
state: "r_hand"
- type: Icon
sprite: ADT/Mobs/Novakid/parts.rsi
state: "r_hand"
- type: BodyPart
partType: Hand
symmetry: Right

- type: entity
id: LeftLegNovakid
name: "left novakid leg"
parent: PartNovakid
components:
- type: Sprite
netsync: false
sprite: ADT/Mobs/Novakid/parts.rsi
state: "l_leg"
- type: Icon
sprite: ADT/Mobs/Novakid/parts.rsi
state: "l_leg"
- type: BodyPart
partType: Leg
symmetry: Left
- type: MovementBodyPart
walkSpeed : 2.5
sprintSpeed : 4.5

- type: entity
id: RightLegNovakid
name: "right novakid leg"
parent: PartNovakid
components:
- type: Sprite
netsync: false
sprite: ADT/Mobs/Novakid/parts.rsi
state: "r_leg"
- type: Icon
sprite: ADT/Mobs/Novakid/parts.rsi
state: "r_leg"
- type: BodyPart
partType: Leg
symmetry: Right
- type: MovementBodyPart
walkSpeed : 2.5
sprintSpeed : 4.5

- type: entity
id: LeftFootNovakid
name: "left novakid foot"
parent: PartNovakid
components:
- type: Sprite
netsync: false
sprite: ADT/Mobs/Novakid/parts.rsi
state: "l_foot"
- type: Icon
sprite: ADT/Mobs/Novakid/parts.rsi
state: "l_foot"
- type: BodyPart
partType: Foot
symmetry: Left

- type: entity
id: RightFootNovakid
name: "right novakid foot"
parent: PartNovakid
components:
- type: Sprite
netsync: false
sprite: ADT/Mobs/Novakid/parts.rsi
state: "r_foot"
- type: Icon
sprite: ADT/Mobs/Novakid/parts.rsi
state: "r_foot"
- type: BodyPart
partType: Foot
symmetry: Right
Loading

0 comments on commit a2e10b3

Please sign in to comment.