private void Events_OnZombieDamaging(Zombie nativeZombie, ref ushort damageAmount, ref Vector3 ragdoll, ref ERagdollEffect ragdollEffect, ref bool trackKill, ref bool dropLoot, ref EZombieStunOverride stunOverride, out bool cancel) { UnturnedZombie zombie = new UnturnedZombie(nativeZombie); UnturnedZombieDamagingEvent @event; if (damageAmount >= zombie.Health) { @event = new UnturnedZombieDyingEvent(zombie, damageAmount, ragdoll, ragdollEffect, trackKill, dropLoot, stunOverride); } else { @event = new UnturnedZombieDamagingEvent(zombie, damageAmount, ragdoll, ragdollEffect, trackKill, dropLoot, stunOverride); } Emit(@event); damageAmount = @event.DamageAmount; ragdoll = @event.Ragdoll; ragdollEffect = @event.RagdollEffect; trackKill = @event.TrackKill; dropLoot = @event.DropLoot; stunOverride = @event.StunOverride; cancel = @event.IsCancelled; }
public UnturnedZombieDamagingEvent(UnturnedZombie zombie, ushort damageAmount, Vector3 ragdoll, ERagdollEffect ragdollEffect, bool trackKill, bool dropLoot, EZombieStunOverride stunOverride) : base(zombie) { DamageAmount = damageAmount; Ragdoll = ragdoll; RagdollEffect = ragdollEffect; TrackKill = trackKill; DropLoot = dropLoot; StunOverride = stunOverride; }
public UnturnedZombieDamagingEvent(UnturnedZombie zombie, UnturnedPlayer?user, ushort damageAmount, Vector3 ragdoll, ERagdollEffect ragdollEffect, EZombieStunOverride stunOverride) : base(zombie) { DamageAmount = damageAmount; Instigator = user; Ragdoll = ragdoll; RagdollEffect = ragdollEffect; StunOverride = stunOverride; }
private static bool AskDamage(Zombie __instance, ref ushort amount, ref Vector3 newRagdoll, ref ERagdollEffect ragdollEffect, ref bool trackKill, ref bool dropLoot, ref EZombieStunOverride stunOverride) { if (amount == 0 || __instance.isDead) { return(true); } bool cancel = false; OnZombieDamaging?.Invoke(__instance, ref amount, ref newRagdoll, ref ragdollEffect, ref trackKill, ref dropLoot, ref stunOverride, out cancel); return(!cancel); }
public UnturnedZombieDyingEvent(UnturnedZombie zombie, UnturnedPlayer?player, ushort damageAmount, Vector3 ragdoll, ERagdollEffect ragdollEffect, EZombieStunOverride stunOverride) : base(zombie, player, damageAmount, ragdoll, ragdollEffect, stunOverride) { }
public UnturnedZombieDyingEvent(UnturnedZombie zombie, ushort damageAmount, Vector3 ragdoll, ERagdollEffect ragdollEffect, bool trackKill, bool dropLoot, EZombieStunOverride stunOverride) : base(zombie, damageAmount, ragdoll, ragdollEffect, trackKill, dropLoot, stunOverride) { }