rendered paste body public final double calcMagicDam(L2Character attacker, L2Character target,
L2Skill skill, boolean ss, boolean bss, boolean mcrit)
{
//[Square(MAtk/MDef)]*SkillPower*10.18
double mAtk = attacker.getMAtk(target, skill);
double mDef = target.getMDef(attacker, skill);
if (bss)
mAtk *= 4;
else if (ss)
mAtk *= 2;
//double damage = Math.sqrt(mAtk/mDef)*skill.getPower()*10.18;
//Temp fix for mdam calculation..
double damage = 91*skill.getPower()*Math.sqrt(mAtk)/mDef;
if(mcrit)
{
damage *= 2;
}
if (target instanceof L2RaidBossInstance)
{
int cLevel = attacker.getLevel();
int tLevel = target.getLevel();
int rDamage = 1;
if ( cLevel > tLevel )
{
rDamage = cLevel - tLevel;
if (rDamage > 9)
damage /= rDamage;
if (damage < 1)
damage = 1;
}
}
if (target instanceof L2PlayableInstance && attacker instanceof L2RaidBossInstance)
{
int cLevel = attacker.getLevel();
int tLevel = target.getLevel();
int rDamage = 1;
if ( cLevel < tLevel )
{
rDamage = tLevel - cLevel;
if (rDamage > 9)
damage *= rDamage;
}
}
return damage;
}