/// <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); }
/// <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); }
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); } } }
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); } }
/// <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); }
/// <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); }