public static void PlayerTamedWolfDamageReduction(Character targetCharacter, ref HitData hit, ref bool showDamageText, ref bool triggerEffects, ref HitData.DamageModifier damageMod) { try { if (!AnimalConditionals.IsCharacterAWolf(targetCharacter)) { return; } var wolf = new Wolf(targetCharacter); if (!wolf.IsTamed()) { return; } var attacker = hit.GetAttacker(); if (attacker == null || attacker.m_name .Contains(PlayerIdentifiers.Player[PlayerIdentifiers.PlayerType.PlayerNormal])) { hit.m_damage.Modify(1f - KeezyBetterWolves.ConfigTamedWolfPlayerDamageReduction.Value / 100f); } else { hit.m_damage.Modify(1f - KeezyBetterWolves.ConfigTamedWolfDamageReduction.Value / 100f); } } catch (Exception exception) { throw new Exception(ExceptionMessages.TamedWolfDamageReduce); } }
public Wolf(Character character) { if (!AnimalConditionals.IsCharacterAWolf(character)) { throw new Exception(ExceptionMessages.InvalidWolfCharacterObject); } Character = character; }