Jump to content
  • 0

Acis Mage Classes


Question

Posted

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?

Recommended Posts

  • 0
Posted

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>

  • 0
Posted

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...

  • 0
Posted

acis is working perfect but its retail like... where buff slots matter but if you want to make a pvp server you have to change some things..

  • 0
Posted

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...

  • 0
Posted

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...

  • 0
Posted

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.

  • 0
Posted

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);
}

  • 0
Posted

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?

  • 0
Posted

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.

  • 0
Posted

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?

  • 0
Posted

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.

  • 0
Posted

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

Guest
This topic is now closed to further replies.



  • Posts

    • Fix Visual Boundary for AutoFarm when entering a new zone. Fix Assassin Interface Automatic SoulShot usage. Fix Assassin Interface not displaying Castle/Base. Fix Achievements displaying item rewards for CommunityBoard & NPC. Fix Prevent players from purchasing their own Auctioned items. Added ''.raid'' and ''.achievement'' commands. Added support for multiple currencies on Auction Added Search feature to Auction. Added Offline Stores Added '.exit' & '.quit' command to Dungeon System so players can now exit/quit dungeons Added VIP Account System (Alternative XP, SP & Drop Rates, Unlocks Costumes) Added Loot Box System Changed DungeonsManager now displays reward list on dungeon pages. Changed GlobalShop to include pages for all currencies. HTML/XML edits
    • When I teleport to town, my current location is differ from the map. How do I fix this?    
    • A New Chapter Begins We're Rebuilding – Join Our Staff Team After many years of activity, growth, and challenges, it’s finally time for our community to restructure and move forward. We’re ready to turn a new page and evolve into something greater — but we can’t do it without the help of passionate and committed people. That’s why we’re now opening up staff applications for those who want to actively shape the future of our community. If you have the motivation, time, and patience to contribute to something meaningful, this is your chance to step in and make a real impact. What We're Looking For We’re building a fresh and dedicated team of individuals who are ready to support and grow this project. Open roles include: Moderators – to keep the forum clean, safe, and organized Gaming Moderators – to help manage gaming boards (e.g., Lineage, GTA FiveM) Content Creators – to post updates, guides, and articles Community Managers – to engage users and drive activity Technical Staff – for development, backend, and server work We’re not focusing only on Lineage anymore. Our vision is expanding to new areas — including GTA FiveM and other multiplayer games you might have expertise in. If you have a good idea, a server plan, or something new to suggest — we’re open to it. Now’s the time to bring it forward. Requirements We’re looking for individuals who have: A history of activity on the forum (preferred) Available time to contribute consistently A sense of teamwork and responsibility A genuine interest in gaming and community building If you're interested, just send a private message to me or Celestine. (or just reply here) Tell us a few things about yourself and how you’d like to contribute. Let’s bring this community back to life. Let’s rebuild something great — together.   M M G A 
  • Topics

×
×
  • Create New...