Jump to content
  • 0

Celestial/Barrier Problem.


Question

Posted

L2jfrozen/1004 interlude.

If you have celestial on and you cast sonic barrier or another celestial type , after the first celestial worn out the second one doesn't continue  giving you invulnerability.

I guess is core sided so tell me what else I need to post.

EffectInvincible.java
 

/*
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 * 02111-1307, USA.
 *
 * http://www.gnu.org/copyleft/gpl.html
 */
package com.l2jfrozen.gameserver.skills.effects;

import com.l2jfrozen.gameserver.model.L2Effect;
import com.l2jfrozen.gameserver.skills.Env;

public class EffectInvincible extends L2Effect
{
	public EffectInvincible(Env env, EffectTemplate template)
	{
		super(env, template);
	}

	@Override
	public EffectType getEffectType()
	{
		return L2Effect.EffectType.INVINCIBLE;
	}

	@Override
	public void onStart()
	{
		getEffected().setIsInvul(true);
	}

	@Override
	public boolean onActionTime()
	{
		//Commented. But I'm not really sure about this, could cause some bugs.
		//getEffected().setIsInvul(false);
		return false;
	}

	@Override
	public void onExit()
	{
		getEffected().setIsInvul(false);
	}
}



 

6 answers to this question

Recommended Posts

  • 0
Posted

Not sure but shouldn't one buff override another? That would solve it.

Problem is the onExit, setting char false for invul. Not taking into consideration the second celestial.

  • 0
Posted

The structure is bad, but you can check the method onExit if the same skill type exists and if yes, simply don't remove the invul

  • 0
Posted
21 hours ago, SweeTs said:

Not sure but shouldn't one buff override another? That would solve it.

Problem is the onExit, setting char false for invul. Not taking into consideration the second celestial.

even when I add stacktypes and one overrides the other the problem still exists.

 

 

20 hours ago, melron said:

The structure is bad, but you can check the method onExit if the same skill type exists and if yes, simply don't remove the invul

How can I fix this??

I changed

public void onExit()
	{
		getEffected().setIsInvul(false);

to

public void onExit()
	{
		getEffected().setIsInvul(true);

and it does work even if another celestial is active but you stay invul even if the skill effect stop which is why is false I guess.

  • 0
Posted

Same stackType won't fix that if you think about. What's happening is 

 

Active skill, set invul true > cast new skill, set invul true > in the same time, old skill launches onExit which sets invul false.

 

I suppose.

 

Devilish code ]:->

 

So yeah, looping your active buffs, checking for still type is the way, easiest way so far.

  • 0
Posted
2 hours ago, SweeTs said:

Same stackType won't fix that if you think about. What's happening is 

 

Active skill, set invul true > cast new skill, set invul true > in the same time, old skill launches onExit which sets invul false.

 

I suppose.

 

Devilish code ]:->

 

So yeah, looping your active buffs, checking for still type is the way, easiest way so far.

And how do I do that?

  • 0
Posted
5 hours ago, SweeTs said:

Loop your active buffs, check for specific skill type

You can find several examples over sources. If you find skill, do nothing else set invul false.

 

Hint

for (L2Effect

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • NEW HIDDENSTASH KEY SYSTEM INTRODUCED TO THE SITE   **Earn While You Spend - Introducing HS Cashback!**   Every purchase on our site now rewards you with **HS Keys cashback**   EVERY ONE WHO REGISTERS IN SITE UNTILL 15TH OF MAY GETS 2000 HS KEYS IN HES BALANE   Here's how it works:       **1 USD = 1000 HS Keys**   **Get 3% cashback** on every purchase   **Use your HS Keys to **save on your next order**   ---   ### ⚡ Why this is awesome   * Every order gives you value back   * Stack it with promos & HS usage   * Turn your spending into future discounts   ---   ### Example   Spend **$10** → Get **300 HS Keys** back   Spend **$50** → Get **1500 HS Keys** back   ---   ### Smart system (built for fairness)   * Cashback is rounded to keep things balanced   * Prevents abuse from tiny orders   * Rewards real buyers   ---   ### Start earning now   Every purchase = progress toward your next discount   Shop now and build your HS balance!   #cashback #gamingdeals #d2r #rewards #loyalty   Stay safe out there, heroes - and happy hunting! www.d2rhiddenstash.com     We just launched our new Affiliate Program — and it’s the easiest way to earn HS Keys.   Invite your friends using your personal link.   Example: If your friend spends $10 → you get 300 HS Keys No limits. No effort. Just share your link.   Get your referral link here: www.d2rhiddenstash.com/profile     Start earning today
    • https://jumpshare.com/share/L45ApA5PVrGN2O5Ua5pQ   Skill synchronization with the server: Launching and synchronizing animations, launching and synchronizing effects. All of this is tied to the server's timing  
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..