Ejemplo n.º 1
0
        /// <summary>
        /// Damages the player by specified amount
        /// </summary>
        /// <param name="session"></param>
        /// <param name="amount"></param>
        public void Hurt(PlayerSession session, float amount)
        {
            var effect = new EntityEffectFluid(EEntityFluidEffectType.Damage, EEntityEffectFluidModifierType.AddValuePure, -amount);
            var stats  = session.WorldPlayerEntity.GetComponent <EntityStats>();

            effect.Apply(stats);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Heals the player by specified amount
        /// </summary>
        /// <param name="session"></param>
        /// <param name="amount"></param>
        public void Heal(PlayerSession session, float amount)
        {
            EntityEffectFluid effect = new EntityEffectFluid(EntityFluidEffectKeyDatabase.Instance.Health, EEntityEffectFluidModifierType.AddValuePure, amount);
            EntityStats       stats  = session.WorldPlayerEntity.GetComponent <EntityStats>();

            effect.Apply(stats);
        }
Ejemplo n.º 3
0
        private void IOnTakeDamage(EntityEffectFluid effect, EntityStats target, EntityEffectSourceData source)
        {
            if (effect == null || target == null || source == null || source.Value.Equals(0f))
            {
                return;
            }

            AIEntity entity = target.GetComponent <AIEntity>();

            if (entity != null)
            {
                Interface.CallHook("OnEntityTakeDamage", entity, source);
                return;
            }

#if ITEMV2
            HNetworkView networkView = target.networkView;
#else
            uLink.NetworkView networkView = target.uLinkNetworkView();
#endif
            if (networkView != null)
            {
                PlayerSession session = GameManager.Instance.GetSession(networkView.owner);
                if (session != null)
                {
                    Interface.CallHook("OnPlayerTakeDamage", session, source);
                }
            }
        }
Ejemplo n.º 4
0
        private void IOnTakeDamage(EntityEffectFluid effect, EntityStats target, EntityEffectSourceData source)
        {
            if (effect == null || target == null || source?.Value == 0)
            {
                return;
            }

            var entity = target.GetComponent <AIEntity>();

            if (entity != null)
            {
                Interface.CallHook("OnEntityTakeDamage", entity, source);
                return;
            }

            var networkView = target.GetComponent <uLinkNetworkView>();

            if (networkView == null)
            {
                return;
            }

            var session = GameManager.Instance.GetSession(networkView.owner);

            if (session != null)
            {
                Interface.CallHook("OnPlayerTakeDamage", session, source);
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Heals the user's character by specified amount
        /// </summary>
        /// <param name="amount"></param>
        public void Heal(float amount)
        {
            var effect = new EntityEffectFluid(EEntityFluidEffectType.Health, EEntityEffectFluidModifierType.AddValuePure, amount);
            var stats  = session.WorldPlayerEntity.GetComponent <EntityStats>();

            effect.Apply(stats);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Damages the player by specified amount
        /// </summary>
        /// <param name="session"></param>
        /// <param name="amount"></param>
        public void Hurt(PlayerSession session, float amount)
        {
#if ITEMV2
            var effect = new EntityEffectFluid(EntityFluidEffectKeyDatabase.Instance.Damage, EEntityEffectFluidModifierType.AddValuePure, -amount);
#else
            var effect = new EntityEffectFluid(EEntityFluidEffectType.Damage, EEntityEffectFluidModifierType.AddValuePure, -amount);
#endif
            var stats = session.WorldPlayerEntity.GetComponent <EntityStats>();
            effect.Apply(stats);
        }