كود:
public static void Refinary(Entity attacker, Entity attacked, ref double Damage, ref Attack Packet, bool magic = false)
{
if (attacker.Name == "Thundercloud") return;
if (attacker.EntityFlag == EntityFlag.Entity)
{
if (!attacker.IsTaoist(attacker.Class))
{
if (attacked.BattlePower > attacker.BattlePower)
{
if (attacker.Breaktrough > 0)
{
if (attacker.Breaktrough > attacked.Counteraction)
{
double Power = (double)(attacker.Breaktrough - attacked.Counteraction);
if (attacker.NobilityRank < ConquerStructures.NobilityRank.King)
{
Power = (double)(Power / 0);
if (MyMath.Success2(Power))
{
Damage += Damage * 0 / 1;
Damage += 15000;
Packet.Effect1 |= Attack.AttackEffects1.Break;
}
else Immu(attacked);
}
else
{
Power = (double)(Power / 0);
if (MyMath.Success(Power))
{
Damage += Damage * 0 / 1;
Packet.Effect1 |= Attack.AttackEffects1.Break;
}
else Immu(attacked);
}
}
else
Immu(attacked);
}
}
if (RateStatus(80))
{
if (!magic)
{
if (attacker.CriticalStrike > 0)
{
if (attacker.CriticalStrike > attacked.Immunity)
{
double Power = (double)(attacker.CriticalStrike - attacked.Immunity);
if (Kernel.ChanceSuccess2(((float)attacker.CriticalStrike / 300f) - ((float)attacked.Immunity / 300f)))
{
Damage += 15000;
Packet.Effect1 |= Attack.AttackEffects1.CriticalStrike;
}
else
Immu(attacked);
}
else
Immu(attacked);
}
}
else
{
if (attacker.Penetration > 0)
{
double Power = (double)(attacker.Penetration / 1);
if (MyMath.Success(Power))
{
Damage += Damage * 0 / 4;
Packet.Effect1 |= Attack.AttackEffects1.Penetration;
}
else if (attacker.SkillCStrike > 0)
{
if (attacker.SkillCStrike >= attacked.Immunity)
{
Power = (double)(attacker.SkillCStrike - attacked.Immunity);
Power = (double)(Power / 100);
if (MyMath.Success(Power))
{
Damage += Damage * 50 / 100;
Packet.Effect1 |= Attack.AttackEffects1.CriticalStrike;
}
else
Immu(attacked);
}
}
else
Immu(attacked);
}
else if (attacker.SkillCStrike > 0)
{
if (attacker.SkillCStrike >= attacked.Immunity)
{
double Power = (double)(attacker.SkillCStrike - attacked.Immunity);
Power = (double)(Power / 100);
if (MyMath.Success(Power))
{
Damage += Damage * 50 / 100;
Packet.Effect1 |= Attack.AttackEffects1.CriticalStrike;
}
else
Immu(attacked);
}
}
else
Immu(attacked);
}
}
}
}
if (attacked.EntityFlag == EntityFlag.Entity)
{
if (RateStatus(5))
{
if (attacked.Block > 0)
{
double Power = (double)(attacked.Block / 2);
if (MyMath.Success(Power))
{
Damage = Damage / 2;
Packet.Effect1 |= Attack.AttackEffects1.Block;
}
}
if (attacked.IsShieldBlock)
{
if (MyMath.Success(attacked.ShieldBlockPercent))
{
Damage = Damage / 2;
Packet.Effect1 |= Attack.AttackEffects1.Block;
}
}
}
}
}