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

    • We are certainly not an ambulance, but we will definitely cure you of blacklists and empty pockets. Live freely with SX! Each of you will receive a trial version of SX to familiarize yourself with the product, all you have to do is post in this thread
    • It's also the players' fault, because there have been decent servers implementing some of the things you said plus some other 'innovations', plus many QOL things for newbies (ingame bestiary, with drops searchers, etc). In the end, it's the players who decide to feed into that shit and play the most garbage servers simply because the owners of the servers gave their clan leaders 100 euros, or they insta quit the server because they didn't win the first QA, etc, etc, etc.   In the end, if a server is garbage or great it doesn't really matter if the players don't wanna stay in there.   Players are no better than the devs themselves, in the end it seems there are abusive devs who will milk the shit out of their willingly milkable players, or there are none, goes both ways.
    • In my opinion, L2 is dead because the people who make servers didn’t adapt to today’s reality. People are getting older, life moves faster, there are more responsibilities, and less free time. And I’m not even talking about newcomers—how can you expect someone new to this game to learn by Googling every drop location or quest requirement? These things should’ve been integrated into the game, made accessible with just a few clicks through the interface. Instead, so much time was wasted trying to recreate retail-like features that no one asked for. Everyone hates autofarm, but why? Because admins never found a smart way to implement it. You could have made it available only in specific zones, with reduced drops, working like Adrenaline, or auto-teleporting to farm for a limited time per day—just enough to help people with limited time stay relevant in-game. There should also be zones with better drops, where active farming actually matters. Other features feel pointless—like the Life Stone system. Spamming LS to get a skill? Instead, you could create a system where you level up the skill with low chances per level, something that feels progressive and fair. Crafting should be simpler too. Right-click a recipe, and the required materials should show up right there. As for sieges, why not create daily clan war events at peak hours—one for Europeans, one for Latinos? You could spawn crystals inside or outside castles that give points and trigger PvP. Add a boss during the event that gives even more points, and let the top clan in the ranking take the castle. I could go on forever, but what’s the point? The community died because the people who had the knowledge to improve the game just took the easy way out, copying the same server formula over and over until no one could enjoy playing it anymore.
    • It's not because I'm an admin that he treated me differently. I actually gave him several clients from my side without him even knowing they came from me, and most of them had no issues. I was also waiting 3–4 weeks at times for things I bought from AvE, even when I was in a rush. He still delivered in the end. That said, I'm not defending him blindly. I'm just saying it's unlikely he’d risk scamming someone over 60–100€, especially knowing how quickly word spreads here.
    • For exact same reason - there were accusation that I scammed. When was it? 2016? But in that time, admins actually didn't listen. I got banned, then unbaned (when I prooved I've refunded) but I was trash talking to mods. When few months later same shit happened, Grisom (?) old global mod, banned me anyway. You can read somewhere on forum how I was shitting on him for doing that (from other account because original account was banned) - which was banned too. He is not here anymore I think. Back in the days I was well know for not carring that much if I was talking to mod or admin, I didn't hold my tongue. Now You know. Just like You know - if I delay, I deliver or refund. I'm not a scammer, even if my old time haterz love to repeat themselfs like mantra. I don't care.
  • Topics

×
×
  • Create New...