Nobilitydmg.cs

04/01/2013 03:44 LordGragen.#1
hey guys been working on a new nobility dmg system, seperated one and here it is, i am not sure if everything is in grate shape but please let me know if there is something i must update or remove, thank you


Code:
using System;
using Rise_Of_Medusa.Network.GamePackets;
using Rise_Of_Medusa.Game;

namespace Rise_Of_Medusa.Game.Attacking
{
   public class NobilityDamage
    {
       public static int Damage = 0;
   

       public static uint Melee(Entity attacker, Entity attacked)
       {
           #region Nobility Damage
           if (attacker.NobilityRank != attacked.NobilityRank)
           {
               int addnobility_damage = 0;
               if ((byte)attacker.NobilityRank == 12)
                   addnobility_damage = (Damage * ((byte)attacker.NobilityRank + 80)) / 100;
               else
                   if ((byte)attacker.NobilityRank > 5)
                       addnobility_damage = (Damage * ((byte)attacker.NobilityRank + 25)) / 100;
               if ((byte)attacked.NobilityRank > 5)
               {
                   if ((addnobility_damage - (uint)((Damage * ((byte)attacked.NobilityRank + 8)) / 100)) > 0)
                   {
                       addnobility_damage -= (int)((Damage * ((byte)attacked.NobilityRank + 8)) / 100);
                   }
                   else
                   {
                       if (Damage > (uint)((Damage * ((byte)attacked.NobilityRank + 8)) / 100))
                       {
                           Damage -= (int)((Damage * ((byte)attacked.NobilityRank + 8)) / 100);
                       }
                       else
                           Damage = 1;
                   }
               }
               if (Damage != 1)
               {
                   Damage += addnobility_damage;
               }

           }
           #endregion
           return (uint)Damage;


       }
       public static uint Melee(Entity attacker, Entity attacked, Database.SpellInformation spell)
       {
           #region Nobility Damage
           if (attacker.NobilityRank != attacked.NobilityRank)
           {
               int addnobility_damage = 0;
               if ((byte)attacker.NobilityRank == 12)
                   addnobility_damage = (Damage * ((byte)attacker.NobilityRank + 80)) / 100;
               else
                   if ((byte)attacker.NobilityRank > 5)
                       addnobility_damage = (Damage * ((byte)attacker.NobilityRank + 25)) / 100;
               if ((byte)attacked.NobilityRank > 5)
               {
                   if ((addnobility_damage - (uint)((Damage * ((byte)attacked.NobilityRank + 8)) / 100)) > 0)
                   {
                       addnobility_damage -= (int)((Damage * ((byte)attacked.NobilityRank + 8)) / 100);
                   }
                   else
                   {
                       if (Damage > (uint)((Damage * ((byte)attacked.NobilityRank + 8)) / 100))
                       {
                           Damage -= (int)((Damage * ((byte)attacked.NobilityRank + 8)) / 100);
                       }
                       else
                           Damage = 1;
                   }
               }
               if (Damage != 1)
               {
                   Damage += addnobility_damage;
               }

           }
           #endregion
           return (uint)Damage;

       }

       public static uint Magic(Entity attacker, Entity attacked, Database.SpellInformation spell)
       {
           #region Nobility Damage
           if (attacker.NobilityRank != attacked.NobilityRank)
           {
               int addnobility_damage = 0;
               if ((byte)attacker.NobilityRank == 12)
                   addnobility_damage = (Damage * ((byte)attacker.NobilityRank + 80)) / 100;
               else
                   if ((byte)attacker.NobilityRank > 5)
                       addnobility_damage = (Damage * ((byte)attacker.NobilityRank + 25)) / 100;
               if ((byte)attacked.NobilityRank > 5)
               {
                   if ((addnobility_damage - (uint)((Damage * ((byte)attacked.NobilityRank + 8)) / 100)) > 0)
                   {
                       addnobility_damage -= (int)((Damage * ((byte)attacked.NobilityRank + 8)) / 100);
                   }
                   else
                   {
                       if (Damage > (uint)((Damage * ((byte)attacked.NobilityRank + 8)) / 100))
                       {
                           Damage -= (int)((Damage * ((byte)attacked.NobilityRank + 8)) / 100);
                       }
                       else
                           Damage = 1;
                   }
               }
               if (Damage != 1)
               {
                   Damage += addnobility_damage;
               }

           }
           #endregion
           return (uint)Damage;
       }

       public static uint Ranged(Entity attacker, Entity attacked)
       {
           #region Nobility Damage
           if (attacker.NobilityRank != attacked.NobilityRank)
           {
               int addnobility_damage = 0;
               if ((byte)attacker.NobilityRank == 12)
                   addnobility_damage = (Damage * ((byte)attacker.NobilityRank + 80)) / 100;
               else
                   if ((byte)attacker.NobilityRank > 5)
                       addnobility_damage = (Damage * ((byte)attacker.NobilityRank + 25)) / 100;
               if ((byte)attacked.NobilityRank > 5)
               {
                   if ((addnobility_damage - (uint)((Damage * ((byte)attacked.NobilityRank + 8)) / 100)) > 0)
                   {
                       addnobility_damage -= (int)((Damage * ((byte)attacked.NobilityRank + 8)) / 100);
                   }
                   else
                   {
                       if (Damage > (uint)((Damage * ((byte)attacked.NobilityRank + 8)) / 100))
                       {
                           Damage -= (int)((Damage * ((byte)attacked.NobilityRank + 8)) / 100);
                       }
                       else
                           Damage = 1;
                   }
               }
               if (Damage != 1)
               {
                   Damage += addnobility_damage;
               }

           }
           #endregion
           return (uint)Damage;
       }

       public static uint Ranged(Entity attacker, Entity attacked, Database.SpellInformation spell)
       {
           #region Nobility Damage
           if (attacker.NobilityRank != attacked.NobilityRank)
           {
               int addnobility_damage = 0;
               if ((byte)attacker.NobilityRank == 12)
                   addnobility_damage = (Damage * ((byte)attacker.NobilityRank + 80)) / 100;
               else
                   if ((byte)attacker.NobilityRank > 5)
                       addnobility_damage = (Damage * ((byte)attacker.NobilityRank + 25)) / 100;
               if ((byte)attacked.NobilityRank > 5)
               {
                   if ((addnobility_damage - (uint)((Damage * ((byte)attacked.NobilityRank + 8)) / 100)) > 0)
                   {
                       addnobility_damage -= (int)((Damage * ((byte)attacked.NobilityRank + 8)) / 100);
                   }
                   else
                   {
                       if (Damage > (uint)((Damage * ((byte)attacked.NobilityRank + 8)) / 100))
                       {
                           Damage -= (int)((Damage * ((byte)attacked.NobilityRank + 8)) / 100);
                       }
                       else
                           Damage = 1;
                   }
               }
               if (Damage != 1)
               {
                   Damage += addnobility_damage;
               }

           }
           #endregion
           return (uint)Damage;
       }
    }
     
}
04/01/2013 22:39 EOS 60D#2
its more fun if you will remove the nobility extra damage.
04/01/2013 22:41 shadowman123#3
All u Posted can be Coded withing 1 Line Rofl ( Different & better way )