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






