public override int DamageEntity(DamageSource _damageSource, int _strength, bool _criticalHit, float impulseScale) { if (base.GetRevengeTarget() == null && _damageSource.getEntityId() != -1) { EntityAlive entityAlive = this.world.GetEntity(_damageSource.getEntityId()) as EntityAlive; if (entityAlive != null && entityAlive.IsCrouching && (_damageSource.GetDamageType() == EnumDamageTypes.Piercing || _damageSource.GetDamageType() == EnumDamageTypes.Bashing || _damageSource.GetDamageType() == EnumDamageTypes.Slashing || _damageSource.GetDamageType() == EnumDamageTypes.Crushing)) { _damageSource.DamageMultiplier = Constants.cSneakDamageMultiplier; } } return(base.DamageEntity(_damageSource, _strength, _criticalHit, impulseScale)); }