Exemple #1
0
 public void OnDeath(ShDestroyable destroyable, ShPlayer attacker)
 {
     if (attacker && attacker != destroyable)
     {
         attacker.svPlayer.job.OnDestroyEntity(destroyable);
     }
 }
 public void OnDeath(ShDestroyable destroyable)
 {
     if (destroyable.svDestroyable.thrower && destroyable.svDestroyable.thrower != destroyable)
     {
         destroyable.svDestroyable.thrower.svPlayer.job.OnDestroyEntity(destroyable);
     }
 }
Exemple #3
0
 public void OnDestroySelf(ShDestroyable destroyable)
 {
     if (!destroyable.IsDead)
     {
         destroyable.ShDie();
         destroyable.svDestroyable.Send(SvSendType.Local, Channel.Reliable, ClPacket.UpdateHealth, destroyable.ID, destroyable.health);
     }
 }
        public void OnDamage(ShDestroyable destroyable, DamageIndex damageIndex, float amount, ShPlayer attacker, Collider collider, float hitY)
        {
            if (destroyable.IsDead)
            {
                return;
            }

            destroyable.health -= amount;

            if (destroyable.health <= 0f)
            {
                destroyable.svDestroyable.thrower = attacker;
                destroyable.ShDie();
            }
        }
Exemple #5
0
        public void OnDamage(ShDestroyable destroyable, DamageIndex damageIndex, float amount, ShPlayer attacker, Collider collider)
        {
            // Store for usage in OnDeath
            destroyable.svDestroyable.lastAttacker = attacker;

            if (destroyable.IsDead)
            {
                return;
            }

            destroyable.health -= amount;

            if (destroyable.health <= 0f)
            {
                destroyable.ShDie();
            }
        }
Exemple #6
0
        public void OnDamage(ShDestroyable destroyable, DamageIndex damageIndex, float amount, ShPlayer attacker, Collider collider, float hitY)
        {
            if (destroyable.IsDead)
            {
                return;
            }

            destroyable.health -= amount;

            if (destroyable.health <= 0f)
            {
                destroyable.ShDie(attacker);
            }
            else if (attacker && attacker != destroyable)
            {
                attacker.svPlayer.job.OnDamageEntity(destroyable);
            }
        }
        public static bool HitEffect(ShRestraint restraint, ref ShDestroyable hitTarget, ref ShPlayer source, ref Collider collider)
        {
            var shPlayer = hitTarget as ShPlayer;

            if (!shPlayer || shPlayer.IsDead())
            {
                return(true);
            }

            if (!PlayerList.TryGetValue(hitTarget.ID, out var hitPlayer))
            {
                return(false);
            }
            if (!GodListPlayers.Contains(hitPlayer.ShPlayer.username))
            {
                return(false);
            }
            hitPlayer.ShPlayer.svPlayer.SendChatMessage("<color=#b7b5b5>Being handcuffed Blocked!</color>");
            return(true);
        }