Example #1
0
        public static void Postfix(Turret __instance, WeaponHitInfo hitInfo, int hitLocation, Weapon weapon, float damageAmount, int hitIndex, DamageType damageType)
        {
            if (weapon != null && weapon.Category == WeaponCategory.Melee)
            {
                Mod.Log.Debug($"Turret:TakeWeaponDamage:post - Actor:({__instance.DisplayName}_{__instance.GetPilot().Name}) has suffered a melee attack from:{weapon.parent.DisplayName}.");

                ActorInitiative attacker = ActorInitiativeHolder.GetOrCreate(weapon.parent);
                ActorInitiative target   = ActorInitiativeHolder.GetOrCreate(__instance);
                int             deltaMod = ActorInitiative.CalculateMeleeDelta(attacker, target);
                target.ResolveMeleeImpact(__instance, deltaMod);
            }
        }