I would like to modify Relax Skill ID226 to regenerate MP as well as HP. I did the XML part but need to modify handler for that skill
It turns off when HP is full but I need the same for MP. So stop the effect when MP and HP is full
Furthermore, I would like that skill to work out-of-combat only. I can't find a condition for XML side so I guess it must be done inside the handler itself.
This is for L2J High Five. Thanks
/*
* Copyright (C) 2004-2013 L2J DataPack
*
* This file is part of L2J DataPack.
*
* L2J DataPack 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.
*
* L2J DataPack 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 handlers.effecthandlers;
import l2r.gameserver.enums.CtrlIntention;
import l2r.gameserver.model.effects.EffectFlag;
import l2r.gameserver.model.effects.EffectTemplate;
import l2r.gameserver.model.effects.L2Effect;
import l2r.gameserver.model.effects.L2EffectType;
import l2r.gameserver.model.stats.Env;
import l2r.gameserver.network.SystemMessageId;
public class Relax extends L2Effect
{
public Relax(Env env, EffectTemplate template)
{
super(env, template);
}
@Override
public L2EffectType getEffectType()
{
return L2EffectType.RELAXING;
}
@Override
public boolean onStart()
{
if (getEffected().isPlayer())
{
getEffected().getActingPlayer().sitDown(false);
}
else
{
getEffected().getAI().setIntention(CtrlIntention.AI_INTENTION_REST);
}
return super.onStart();
}
@Override
public boolean onActionTime()
{
if (getEffected().isDead())
{
return false;
}
if (getEffected().isPlayer())
{
if (!getEffected().getActingPlayer().isSitting())
{
return false;
}
}
if ((getEffected().getCurrentHp() + 1) > getEffected().getMaxRecoverableHp())
{
if (getSkill().isToggle())
{
getEffected().sendPacket(SystemMessageId.SKILL_DEACTIVATED_HP_FULL);
return false;
}
}
double manaDam = calc();
if (manaDam > getEffected().getCurrentMp())
{
if (getSkill().isToggle())
{
getEffected().sendPacket(SystemMessageId.SKILL_REMOVED_DUE_LACK_MP);
return false;
}
}
getEffected().reduceCurrentMp(manaDam);
return true;
}
@Override
public int getEffectFlags()
{
return EffectFlag.RELAXING.getMask();
}
}
why would admins waste their time selling epic items or high level gear for just 50 bucks?
mid-rate server can generate over 30k per month with average online activity.
Question
Sybar
Hi,
I would like to modify Relax Skill ID226 to regenerate MP as well as HP. I did the XML part but need to modify handler for that skill
It turns off when HP is full but I need the same for MP. So stop the effect when MP and HP is full
Furthermore, I would like that skill to work out-of-combat only. I can't find a condition for XML side so I guess it must be done inside the handler itself.
This is for L2J High Five. Thanks
Edited by SybarLink to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.