Руки одержимого: удар кулаком вместе с ударом зомби (триггер WeaponFire, necroarms punch для подбора)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
AlexCube
2026-10-13 16:13:01 +03:00
co-authored by Claude Opus 5.5
parent bc48ca03a6
commit b36eba1551
2 changed files with 22 additions and 1 deletions
+21 -1
View File
@@ -37,6 +37,8 @@ namespace NecromancerTome
/// <summary>Цветная текстура кожи (_Albedo): false - убрана, кожа ровно-серая по _Tint, рельеф - от карты нормалей
/// (указание 13.10: «руки вообще серые»; _Tint только умножает, смуглая кожа от него темнела, а не серела).</summary>
public static bool Albedo;
/// <summary>Сигнал аниматора рук на удар (подбор necroarms punch; у пустых рук игры - триггер атаки).</summary>
public static string PunchTrigger = "WeaponFire";
/// <summary>Параметры аниматора рук, выставленные necroarms set (подбор «пустых рук»), - ставятся и при пересборке.</summary>
static readonly Dictionary<string, float> _animParams = new Dictionary<string, float>
{
@@ -252,6 +254,17 @@ namespace NecromancerTome
return _name + " = " + _v.ToString(CultureInfo.InvariantCulture);
}
/// <summary>Удар одержимого - руки бьют кулаком (указание 13.10: хват пустых рук, «там как раз анимация ударов
/// кулаками»).</summary>
public static void Punch()
{
Animator a = Anim;
if (a != null && !string.IsNullOrEmpty(PunchTrigger))
{
a.SetTrigger(PunchTrigger);
}
}
public static string Trigger(string _name)
{
Animator a = Anim;
@@ -368,7 +381,7 @@ namespace NecromancerTome
public class ConsoleCmdNecroArms : ConsoleCmdAbstract
{
public override string[] getCommands() => new[] { "necroarms" };
public override string getDescription() => "NecromancerTome: руки одержимого от первого лица - [pos x y z | parent cam|ufps | anim | mat | set <param> <value> | trigger <name> | tint r g b | albedo on|off]";
public override string getDescription() => "NecromancerTome: руки одержимого от первого лица - [pos x y z | parent cam|ufps | anim | mat | set <param> <value> | trigger <name> | tint r g b | albedo on|off | punch <trigger>]";
void Out(string _s)
{
@@ -397,6 +410,13 @@ namespace NecromancerTome
FpArms.Albedo = _params[1] == "on";
FpArms.Rebuild();
}
else if (cmd == "punch" && _params.Count >= 2)
{
FpArms.PunchTrigger = _params[1];
FpArms.Punch();
Out("удар - " + FpArms.PunchTrigger);
return;
}
else if (cmd == "anim")
{
Out(FpArms.DumpAnim());