Page 1 of 1
Question about debuff slot
Posted: Mon Apr 26, 2010 12:42 pm
by macdonald12
If you want to receive support we need this info to help you properly.
» Find Revision
L2J Revision
Number: 4117
L2JDP Revision
Number: 7319
Does anyone know how the debuffs are put on a new buff line, as shown in this screenshot:
As i can see in
CharEffectList.java,
updateEffectIcons() handles
_buffs and
_debuffs separately, but in both cases it ends up calling
e.addIcon(mi);.
I've been looking around, but can't seem to find the piece of code responsible for putting it on 'a new line'. Anyone else can help me out?
Re: Question about debuff slot
Posted: Mon Apr 26, 2010 12:57 pm
by janiii
maybe if the skill is defined as isDebuff true?
Re: Question about debuff slot
Posted: Mon Apr 26, 2010 7:52 pm
by macdonald12
Yes, then that effect will be displayed in the debuff-bar. But what i mean is, what makes debuff skills have their own 'buff line'.
As far as i can see all icons for buffs, dances + songs / debuffs are added through AbnormalStatusUpdate(), yet these 3 types are being seperated in the buff-display-bar over 3 or more lines (see above screenshot). Does the client handle this automatically?
My apologies for failing to explain myself better

Re: Question about debuff slot
Posted: Mon Apr 26, 2010 8:37 pm
by janiii
check the skill xml and attributes like isDebuff, isDance..
Re: Question about debuff slot
Posted: Fri Apr 30, 2010 10:07 am
by macdonald12
Setting those variables to false or true does not seem to affect their position on the bar as a buff, dance or debuff.
Dances set with isDance = "false" still appear on the 'dance bar' and buffs set as isDebuff = "true" still appear on the normal 'buff bar' and not the separate 'debuff bar'.
Does the client handle this separation or is there some server-code i overlooked?
Re: Question about debuff slot
Posted: Wed Jan 26, 2011 8:49 pm
by Gunslito
I need this but the dances slot, all are in the same slot and that is sicking me!
Re: Question about debuff slot
Posted: Wed Jan 26, 2011 10:06 pm
by Flashy
it must be client handled.
have a look to the serverpacket, where is no packet, which is manipulate the bar.
Code: Select all
/* * 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 3 of the License, 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, see <http://www.gnu.org/licenses/>. */package com.l2jserver.gameserver.network.serverpackets; import java.util.List; import javolution.util.FastList; /** * * MagicEffectIcons * format h (dhd) * * @version $Revision: 1.3.2.1.2.6 $ $Date: 2005/04/05 19:41:08 $ */public class AbnormalStatusUpdate extends L2GameServerPacket{ private static final String _S__97_ABNORMALSTATUSUPDATE = "[S] 85 AbnormalStatusUpdate"; private List<Effect> _effects; private static class Effect { protected int _skillId; protected int _level; protected int _duration; public Effect(int pSkillId, int pLevel, int pDuration) { _skillId = pSkillId; _level = pLevel; _duration = pDuration; } } public AbnormalStatusUpdate() { _effects = new FastList<Effect>(); } public void addEffect(int skillId, int level, int duration) { if (skillId == 2031 ||skillId == 2032 ||skillId == 2037 || skillId == 26025 || skillId == 26026) return; _effects.add(new Effect(skillId, level, duration)); } @Override protected final void writeImpl() { writeC(0x85); writeH(_effects.size()); for (Effect temp : _effects) { writeD(temp._skillId); writeH(temp._level); if (temp._duration == -1) writeD(-1); else writeD(temp._duration / 1000); } } /* (non-Javadoc) * @see com.l2jserver.gameserver.serverpackets.ServerBasePacket#getType() */ @Override public String getType() { return _S__97_ABNORMALSTATUSUPDATE; }}
Re: Question about debuff slot
Posted: Wed Jan 26, 2011 11:17 pm
by _DS_
Icons separated by client, server only send them in proper order.