Jump to content
  • 0

Acis Mage Classes


Xerus

Question

Hello guys, so i have a problem in my server with mage classes... All mage classes hit for very low dmg ! Skills are ok, weapons are ok even m attack is ok and they still hit very low damage i searched everywhere but i cant find the problem... no problems in configs or anywhere else.. any ideas?

Link to comment
Share on other sites

Recommended Posts

  • 0

Just lower the resistance effect,

 

example of Divine Protection, just change val

 

		<effect name="Buff" val="0" stackOrder="3" stackType="resist_holy_unholy" time="7200">
			<add order="0x40" stat="darkRes" val="30"/>
			<add order="0x40" stat="holyRes" val="30"/>
		</effect>

Link to comment
Share on other sites

  • 0

dude, the coder already gave you the solution, decrease buff slots and G_G lock topic

Lower the slots is not a solution for that...

Just lower the resistance effect,

 

example of Divine Protection, just change val

 

		<effect name="Buff" val="0" stackOrder="3" stackType="resist_holy_unholy" time="7200">
			<add order="0x40" stat="darkRes" val="30"/>
			<add order="0x40" stat="holyRes" val="30"/>
		</effect>

I know i already found this but i was wondering if there is a java file that handles all the resist effects...

Link to comment
Share on other sites

  • 0

acis is [...] but its retail like...

Aff, not even close. Formulas are -beep-ed up, read my previous answer.

 

PS : I assume my words, because I know what's the problem, I know how I could handle it, and I also know others L2J IL packs are as -beep-ed, if not more, than mine. he only problem is to find an approaching formula, and I atm got different goals than tweaking them.

PS2 : I would suggest you to edit the formula to divide the result by 2 directly. Using something like return Math.min(result / 2, 75); would "fit". If /2 is too much, adapt for your needs.

 

Until you test on L2OFF, make many tests and find me the correct formula. I can always dream...

Link to comment
Share on other sites

  • 0

Aff, not even close. Formulas are -beep-ed up, read my previous answer.

 

PS : I assume my words, because I know what's the problem, I know how I could handle it, and I also know others L2J IL packs are as -beep-ed, if not more, than mine. he only problem is to find an approaching formula, and I atm got different goals than tweaking them.

PS2 : I would suggest you to edit the formula to divide the result by 2 directly. Using something like return Math.min(result / 2, 75); would "fit". If /2 is too much, adapt for your needs.

 

Until you test on L2OFF, make many tests and find me the correct formula. I can always dream...

I cant find this formula that handles all these resists...

Link to comment
Share on other sites

  • 0

calcMagicDmg(L2Character target, L2Skill skill) if I remeber correct

Well, the formula I speak about is used by the one you quoted. Must be calcResistVuln, or calcVulnResist. I'm lazy to open eclipse. And it gives some work for the OP.

Link to comment
Share on other sites

  • 0

maybe this one ?

	public static double calcSkillVulnerability(L2Character attacker, L2Character target, L2Skill skill, L2SkillType type)
{
	double multiplier = 1;

	// Get the elemental damages.
	if (skill.getElement() > 0)
		multiplier *= Math.sqrt(calcElemental(attacker, target, skill));

	// Get the skillType to calculate its effect in function of base stats of the target.
	switch (type)
	{
		case BLEED:
			multiplier = target.calcStat(Stats.BLEED_VULN, multiplier, target, null);
			break;
		case POISON:
			multiplier = target.calcStat(Stats.POISON_VULN, multiplier, target, null);
			break;
		case STUN:
			multiplier = target.calcStat(Stats.STUN_VULN, multiplier, target, null);
			break;
		case PARALYZE:
			multiplier = target.calcStat(Stats.PARALYZE_VULN, multiplier, target, null);
			break;
		case ROOT:
			multiplier = target.calcStat(Stats.ROOT_VULN, multiplier, target, null);
			break;
		case SLEEP:
			multiplier = target.calcStat(Stats.SLEEP_VULN, multiplier, target, null);
			break;
		case MUTE:
		case FEAR:
		case BETRAY:
		case AGGDEBUFF:
		case AGGREDUCE_CHAR:
		case ERASE:
		case CONFUSION:
			multiplier = target.calcStat(Stats.DERANGEMENT_VULN, multiplier, target, null);
			break;
		case DEBUFF:
		case WEAKNESS:
			multiplier = target.calcStat(Stats.DEBUFF_VULN, multiplier, target, null);
			break;
		case CANCEL:
			multiplier = target.calcStat(Stats.CANCEL_VULN, multiplier, target, null);
			break;
		default:
	}

	// Return a multiplier (exemple with resist shock : 1 + (-0,4 stun vuln) = 0,6%
	return 1 + (multiplier / 1000);
}

Link to comment
Share on other sites

  • 0

Found it!

	public static double calcElemental(L2Character attacker, L2Character target, L2Skill skill)
{
	if (skill != null)
	{
		final byte element = skill.getElement();
		if (element > 0)
			return 1 + ((attacker.getAttackElementValue(element) / 10.0 - target.getDefenseElementValue(element)) / 100.0);

		return 1;
	}

	double elemDamage = 0;
	for (byte i = 1; i < 7; i++)
	{
		final int attackerBonus = attacker.getAttackElementValue(i);
		elemDamage += Math.max(0, (attackerBonus - (attackerBonus * (target.getDefenseElementValue(i) / 100.0))));
	}
	return elemDamage;

 

changed getDefenseElementValue(i) / 100.0))));  from 100 to 1000 and its fine should i change attacker.getAttackElementValue(element) / 10.0 too?

Link to comment
Share on other sites

  • 0

Found it!

	public static double calcElemental(L2Character attacker, L2Character target, L2Skill skill)
{
	if (skill != null)
	{
		final byte element = skill.getElement();
		if (element > 0)
			return 1 + ((attacker.getAttackElementValue(element) / 10.0 - target.getDefenseElementValue(element)) / 100.0);

		return 1;
	}

	double elemDamage = 0;
	for (byte i = 1; i < 7; i++)
	{
		final int attackerBonus = attacker.getAttackElementValue(i);
		elemDamage += Math.max(0, (attackerBonus - (attackerBonus * (target.getDefenseElementValue(i) / 100.0))));
	}
	return elemDamage;

 

changed getDefenseElementValue(i) / 100.0))));  from 100 to 1000 and its fine should i change attacker.getAttackElementValue(element) / 10.0 too?

Resists would become almost useless if you edit it like that, making a stacking defense of ~6% (10% resist in best scenario). Giving the fact buffs are cancelling themselves (resist aqua = fire weakness as example), that becomes 3%/5%.

 

Elements attacks in IL only consists of really few cases, such as holy toggle (paladin), holy buff (pp), and fire toggle (tyrant).

 

Anyway, you found the formula and it's your server, tweak it as you like.

Link to comment
Share on other sites

  • 0

Resists would become almost useless if you edit it like that, making a stacking defense of ~6% (10% resist in best scenario). Giving the fact buffs are cancelling themselves (resist aqua = fire weakness as example), that becomes 3%/5%.

 

Elements attacks in IL only consists of really few cases, such as holy toggle (paladin), holy buff (pp), and fire toggle (tyrant).

 

Anyway, you found the formula and it's your server, tweak it as you like.

I tried some skills like shield stun and curse gloom but the chance to success is tiny... I changed the power and nothing... Whats the problem here?

Link to comment
Share on other sites

  • 0

I tried some skills like shield stun and curse gloom but the chance to success is tiny... I changed the power and nothing... Whats the problem here?

If you could manage to stop acting like a retarded kid who just discovered something you would know you edited, by yourself, calcSkillVulnerability result, dividing by 10 the result. Meaning a 40% resist stun became also a 4% resist stun, and the calcElemental(, already divided by 10 in previous method, is also divided by 10 in that one (making resists wind, etc, up to 1% max).

 

Now revert all changes you made, take few minutes to calculate a decent formula, and write it. Don't edit random numbers, that's the best to break all.

Link to comment
Share on other sites

  • 0

If you could manage to stop acting like a retarded kid who just discovered something you would know you edited, by yourself, calcSkillVulnerability result, dividing by 10 the result. Meaning a 40% resist stun became also a 4% resist stun, and the calcElemental(, already divided by 10 in previous method, is also divided by 10 in that one (making resists wind, etc, up to 1% max).

 

Now revert all changes you made, take few minutes to calculate a decent formula, and write it. Don't edit random numbers, that's the best to break all.

i know that but i am not saying that shield stun and other debuffs work all the time i am saying that even with decrease to 1% resists the debuffs dont work very much

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.



×
×
  • Create New...