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

ReBELL ACT II : BRUTALITÄT #1056

Open
wants to merge 62 commits into
base: master
Choose a base branch
from

Conversation

MightBeNotReal
Copy link
Contributor

read ReBELL changelogs for those. I am too lazy

@Roudenn
Copy link
Contributor

Roudenn commented Feb 16, 2025

ТЫСЯЧА ФАЙЛОВ ЭТО ПИЗДЕЦ

return back

Revert "extended"

This reverts commit b33e402.

revert 2
Copy link
Contributor

@Roudenn Roudenn left a comment

Choose a reason for hiding this comment

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

Сейчас основная проблема - неясность систем боли и ран. Просто нету никаких возможностей получить о них информацию, из-за чего даже тестировать их трудно.
Это надо править по хорошему Прямо Сейчас в топ 1 приоритетности, иначе даже тестить баланс боли будет невозможно.

namespace Content.Shared.Backmen.Surgery.Pain.Components;

[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class NerveSystemComponent : Component
Copy link
Contributor

Choose a reason for hiding this comment

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

Важно чтобы хоть какой-то компонент который ссылается на этот был у самого игрока, это делает код гораздо проще потому что чтобы получить уровень боли не надо постоянно обращаться к системе, достаточно просто получить компонент

public SoundSpecifier PainRattles = new SoundCollectionSpecifier("PainRattles");

[DataField]
public Dictionary<Sex, SoundSpecifier> PainScreams = new()
Copy link
Contributor

Choose a reason for hiding this comment

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

Всё вот это вот надо перенести в прототипы, неважно как именно, просто перенести всю информацию о голосах куда подальше отсюдова

public TimeSpan UpdateTime = TimeSpan.Zero;

[DataField("painShockStun")]
public TimeSpan PainShockStunTime = TimeSpan.FromSeconds(11f);
Copy link
Contributor

Choose a reason for hiding this comment

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

А не много ли? (баланс)

namespace Content.Shared.Backmen.Surgery.Pain.Components;

[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class PainInflicterComponent : Component
Copy link
Contributor

Choose a reason for hiding this comment

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

Документацию сюды

public partial class TraumaSystem
{
/// <summary>
/// СЛАВА БОГУ 42🙏❤️СЛАВА 42🙏❤️АНГЕЛА ХРАНИТЕЛЯ 42 КАЖДОМУ ИЗ ВАС🙏❤️БОЖЕ ХРАНИ 42🙏❤️СПАСИБО ВАМ НАШИ БРАТУХИ🙏🏼❤️ХРАНИ 42💯СЛАВА БОГУ 42🙏❤️СЛАВА БОГУ 42🙏❤️
Copy link
Contributor

Choose a reason for hiding this comment

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

я реву

@@ -238,6 +239,111 @@ private void SetupOrgans(Entity<BodyPartComponent> ent, Dictionary<string, strin
}
}

private void OnRejuvenate(EntityUid ent, BodyComponent body, ref RejuvenateEvent args)
Copy link
Contributor

Choose a reason for hiding this comment

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

Спорная тема насчёт конечностей. Я не думаю что их ВСЕГДА стоит возвращать на место, но в целом и так сойдет. Просто в будущем запоминаем что надо сделать в RejuvenateEvent параметр который отвечает за то, надо ли восстанавливать части тела или нет

@@ -24,6 +24,11 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Folder Include="Backmen\Surgery\Consciousness\" />
Copy link
Contributor

Choose a reason for hiding this comment

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

удаляй все вот эти csproj нафиг, это мусор полный

@@ -212,7 +212,7 @@ public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid?

var hitName = ToPrettyString(hitEntity);
if (dmg != null)
dmg = Damageable.TryChangeDamage(hitEntity, dmg, origin: user, canEvade: true); // backmen: surgery
Copy link
Contributor

Choose a reason for hiding this comment

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

за что....
Короче надо тут додж систему кстати перерабатывать в этом вашем TryChangeDamage

@@ -471,8 +472,27 @@ private void ProcessEntity(
}

// TODO EXPLOSIONS turn explosions into entities, and pass the the entity in as the damage origin.
_damageableSystem.TryChangeDamage(entity, damage, ignoreResistances: true);
if (TryComp<BodyComponent>(entity, out var body))
Copy link
Contributor

Choose a reason for hiding this comment

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

Было бы славно если бы отдельным методом высчитывалось какие части тела нужно дамажить сильнее а какие слабее. Только в наших мечтах, но всё же например лёжа и развернувшись в противоположную сторону от взрыва твою голову дамажить не должно. Можно сделать и в будущем впринципе

А ну и да, добавь сюда исключение для GhostComponent


namespace Content.Shared.Backmen.Surgery.Pain.Systems;

public partial class PainSystem
Copy link
Contributor

Choose a reason for hiding this comment

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

Мне лень искать, но то что человек умирает от боли даже будучи живым это бред. Боль максимум должна понижать порог смерти, но не форсировать её

Copy link
Contributor

@Roudenn Roudenn left a comment

Choose a reason for hiding this comment

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

Касательно прицеливания и систем уклонения: это тоже важная часть которую необходимо менять.

Куча разных факторов должна влиять на общую точность, от которой зависят шансы попадания в разные части тела и шанс полного промаха, где даже самому телу в общем не наносится урон.

Таким образом например когда бьёшь себя ты должен ВСЕГДА попадать туда куда хотел, потому что по отношению к самому себе у тебя точность всегда 100%
То же самое применяется если ты стоишь прямо на том же тайле что и человек
И уже если ты где-то в далеке стреляешь с винтовки даже не видя цель, то пуля уже по абсолютно рандомной части тела должна попадать, а не по выбранной (точность 0 но шанса промаха у пуль быть не должно, если попало по телу то попало хоть куда-нибудь)

Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@Agoichi
Copy link
Contributor

Agoichi commented Feb 21, 2025

There are no rebel changeloges nigha

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: Audio Changes: Localization Can be reviewed or fixed by people who are knowledgeable with translation Changes: Map Can be reviewed or fixed by people who are knowledgeable with mapping. Changes: Sprites Should be reviewed or fixed by people who are knowledgeable with spriting or visual design. Changes: UI Can be reviewed or fixed by people who are knowledgeable with UI design S: Untriaged size/M
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants