All pastes #33217 Raw Edit

Miscellany

public text v1 · immutable
#33217 ·published 2005-12-10 19:38 UTC
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;
	}