-
Notifications
You must be signed in to change notification settings - Fork 151
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
base: master
Are you sure you want to change the base?
Conversation
TODO: SharedBodySystem.Targeting rewrite and make WoundSystem handle body part loss stuff
Consciousness and pain fix
ТЫСЯЧА ФАЙЛОВ ЭТО ПИЗДЕЦ |
return back Revert "extended" This reverts commit b33e402. revert 2
There was a problem hiding this 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 |
There was a problem hiding this comment.
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() |
There was a problem hiding this comment.
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); |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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🙏❤️ |
There was a problem hiding this comment.
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) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Спорная тема насчёт конечностей. Я не думаю что их ВСЕГДА стоит возвращать на место, но в целом и так сойдет. Просто в будущем запоминаем что надо сделать в RejuvenateEvent параметр который отвечает за то, надо ли восстанавливать части тела или нет
Content.Shared/Content.Shared.csproj
Outdated
@@ -24,6 +24,11 @@ | |||
</ProjectReference> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Folder Include="Backmen\Surgery\Consciousness\" /> |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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)) |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Мне лень искать, но то что человек умирает от боли даже будучи живым это бред. Боль максимум должна понижать порог смерти, но не форсировать её
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Касательно прицеливания и систем уклонения: это тоже важная часть которую необходимо менять.
Куча разных факторов должна влиять на общую точность, от которой зависят шансы попадания в разные части тела и шанс полного промаха, где даже самому телу в общем не наносится урон.
Таким образом например когда бьёшь себя ты должен ВСЕГДА попадать туда куда хотел, потому что по отношению к самому себе у тебя точность всегда 100%
То же самое применяется если ты стоишь прямо на том же тайле что и человек
И уже если ты где-то в далеке стреляешь с винтовки даже не видя цель, то пуля уже по абсолютно рандомной части тела должна попадать, а не по выбранной (точность 0 но шанса промаха у пуль быть не должно, если попало по телу то попало хоть куда-нибудь)
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
There are no rebel changeloges nigha |
read ReBELL changelogs for those. I am too lazy