Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Novakid #170

Merged
merged 17 commits into from
Aug 6, 2024
31 changes: 31 additions & 0 deletions Content.Client/ADT/NovakidFeatures/NovakidFeaturesSystem.cs
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Что за странные названия NovakidFeatures? У них что их несколько? Вижу что нет, лучше переименовать или сократить до просто Novakid

Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
using Content.Shared.ADT.NovakidFeatures;
using Robust.Client.GameObjects;

namespace Content.Client.ADT.NovakidFeatures;
public sealed partial class NovakidFeaturesSystem : 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/NovakidFeatures/NovakidGlowingComponent.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
namespace Content.Shared.ADT.NovakidFeatures;

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

NovakidGlowingComponent(Color color)
{
GlowingColor = color;
}
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Где attributions.yml в папке с этими звуками? Откуда они вообще?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я не знаю, я не писал новакдов ;(

Copy link
Collaborator

@1Stepka1 1Stepka1 Aug 6, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ну так узнай откуда взялись эти файлы вообще,там фрискиса спроси или иллюми или что-то ещё,если не сможешь то всегда можешь поменять на другие где уже известны авторы и лицензия

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.
60 changes: 60 additions & 0 deletions Resources/Locale/ru-RU/ADT/Novakid/species.ftl
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Это что за нагромождение всего? Посмотри как делают другие, и это точно не так как здесь сделано

Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
novakid-hurt-by-water-popup = Вода заставляет ваше пламя угасать
species-name-novakid = Новакид
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 = белое ядро
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ты куда это запихнул? Это же папка не с ADT контентом

Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ent-MobNovakid = { ent-BaseMobNovakid }
.desc = { ent-BaseMobNovakid.desc }
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ты куда это запихнул? Это же папка не с ADT контентом

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ent-BaseMobNovakid = Урист МакНовакид
.desc = { ent-BaseMobSpeciesOrganic.desc }
.suffix = Новакид
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
49 changes: 49 additions & 0 deletions Resources/Prototypes/ADT/Body/Prototypes/novakid.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
- type: body
name: "novakid"
id: Novakid
root: torso
slots:
head:
part: HeadNovakid
connections:
- torso
organs:
brain: OrganHumanBrain
eyes: OrganHumanEyes
torso:
part: TorsoNovakid
organs:
heart: OrganNovakidHeart
lungs: OrganNovakidLungs
stomach: OrganNovakidStomach
liver: OrganAnimalLiver
kidneys: OrganHumanKidneys
connections:
- left arm
- right arm
- left leg
- right leg
right arm:
part: RightArmNovakid
connections:
- right hand
left arm:
part: LeftArmNovakid
connections:
- left hand
right hand:
part: RightHandNovakid
left hand:
part: LeftHandNovakid
right leg:
part: RightLegNovakid
connections:
- right foot
left leg:
part: LeftLegNovakid
connections:
- left foot
right foot:
part: RightFootNovakid
left foot:
part: LeftFootNovakid
Loading
Loading