v1.2.2.b5

Fixed conflicts with the merge https://github.com/Juzlus/jRandomSkills/pull/33

- #### General:
    - ###### Fixed players' view angle snapping to look at (0, 0, 0) at round start (ForceFullUpdate was re-applying a zeroed view angle). [by: @ByDexterTR and @Juzlus].
    - ###### Stability: skills are now correctly disabled and cleaned up on attacker-less deaths (fall damage, drowning, world). [by: @ByDexterTR].
    - ###### Performance: the end-of-round skill summary now runs in a single timer instead of one per player, and skips players who disconnect during the delay. [by: @ByDexterTR].

- #### Skill improvements:
    - ###### Re-Zombie:
        - ###### Fixed the player dying instead of respawning with full zombie health. [by: @ByDexterTR].
    - ###### Jester:
        - ###### Armor no longer drains while the skill is active. [by: @ByDexterTR].
    - ###### Soundmaker / Anomaly:
        - ###### Updated the description. [by: @ByDexterTR].
This commit is contained in:
Juzlus 2026-06-30 07:06:10 +02:00
parent f97911d67c
commit 47985cdfef
25 changed files with 201 additions and 83 deletions

View file

@ -118,13 +118,30 @@ namespace src.player.skills
if (!Instance.IsPlayerValid(attacker))
{
if (jesterVictim != null && jesterVictim.Active)
{
SkillUtils.RestoreHealth(victim);
RestoreArmor(victim, @event.DmgArmor);
}
return;
}
var jesterAttacker = GetJesterInfo(attacker!.Index);
if ((jesterVictim != null && jesterVictim.Active) || (jesterAttacker != null && jesterAttacker.Active))
{
SkillUtils.RestoreHealth(victim);
RestoreArmor(victim, @event.DmgArmor);
}
}
private static void RestoreArmor(CCSPlayerController? victim, int dmgArmor)
{
if (victim == null || !victim.IsValid || dmgArmor <= 0) return;
var pawn = victim.PlayerPawn?.Value;
if (pawn == null || !pawn.IsValid) return;
pawn.ArmorValue += dmgArmor;
Utilities.SetStateChanged(pawn, "CCSPlayerPawn", "m_ArmorValue");
}
public static void EnableSkill(CCSPlayerController player)