Jump to content
  • 0

[ Help ] Augment skills / Mobs reflect


Question

3 answers to this question

Recommended Posts

  • 0
Posted

How can i increase the skill bonus of augment's ? ( p atk; p def; m atk; etc )

You have to edit skills.

 

How can i make reflect work only in PVP not in PVE ?

In formulas.java, search the good method, if the attacker instanceof L2Attackable, put/return 0, depending how the methods looks like.

  • 0
Posted

1. Thank you.

 

 

2. I didn't find the method...

 

 

public static byte calcSkillReflect(L2Character target, L2Skill skill)
{
	// Neither some special skills (like hero debuffs...) or those skills ignoring resistances can be reflected
	if (skill.ignoreResists() || !skill.canBeReflected())
	{
		return SKILL_REFLECT_FAILED;
	}

	// Only magic and melee skills can be reflected
	if (!skill.isMagic() && ((skill.getCastRange() == -1) || (skill.getCastRange() > MELEE_ATTACK_RANGE)))
	{
		return SKILL_REFLECT_FAILED;
	}

	byte reflect = SKILL_REFLECT_FAILED;
	// Check for non-reflected skilltypes, need additional retail check
	switch (skill.getSkillType())
	{
		case BUFF:
		case HEAL_PERCENT:
		case MANAHEAL_PERCENT:
		case HOT:
		case CPHOT:
		case MPHOT:
		case UNDEAD_DEFENSE:
		case AGGDEBUFF:
		case CONT:
			return SKILL_REFLECT_FAILED;
			// these skill types can deal damage
		case PDAM:
		case MDAM:
		case BLOW:
		case DRAIN:
		case CHARGEDAM:
		case FATAL:
		case DEATHLINK:
		case CPDAM:
		case MANADAM:
		case CPDAMPERCENT:
			final Stats stat = skill.isMagic() ? Stats.VENGEANCE_SKILL_MAGIC_DAMAGE : Stats.VENGEANCE_SKILL_PHYSICAL_DAMAGE;
			final double venganceChance = target.getStat().calcStat(stat, 0, target, skill);
			if (venganceChance > Rnd.get(100))
			{
				reflect |= SKILL_REFLECT_VENGEANCE;
			}
			break;
	}

	final double reflectChance = target.calcStat(skill.isMagic() ? Stats.REFLECT_SKILL_MAGIC : Stats.REFLECT_SKILL_PHYSIC, 0, null, skill);
	if (Rnd.get(100) < reflectChance)
	{
		reflect |= SKILL_REFLECT_SUCCEED;
	}

	return reflect;
}

 

i found only

boolean isPvE = attacker.isPlayable() && target.isL2Attackable();

in calcBlowDamage / calcPhysDam / and in

 

public static final double calcMagicDam(L2Character attacker, L2Character target, L2Skill skill, byte shld, boolean ss, boolean bss, boolean mcrit)

public static final double calcMagicDam(L2CubicInstance attacker, L2Character target, L2Skill skill, boolean mcrit, byte shld)

  • 0
Posted

By method, I meant calcSkillReflect. Then either target parameter is the good one, and you must do

if (target instanceof L2Attackable)
return SKILL_REFLECT_FAILED;

in calcSkillReflect method, or in the case target isn't the good one, do a similar check but before calcSkillReflect is invoked. Search uses of that method, and put such a check before, returning 0.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...