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);
     }
 }
Exemple #2
0
 public Wolf(Character character)
 {
     if (!AnimalConditionals.IsCharacterAWolf(character))
     {
         throw new Exception(ExceptionMessages.InvalidWolfCharacterObject);
     }
     Character = character;
 }