IgnoreDeath effect.

Contributed by NviX.
This commit is contained in:
MobiusDev
2015-06-29 12:24:23 +00:00
parent 7f220fe2c1
commit 31a42fc96a
4 changed files with 71 additions and 9 deletions

View File

@@ -108,6 +108,7 @@ public final class EffectMasterHandler
HpByLevel.class, HpByLevel.class,
HpCpHeal.class, HpCpHeal.class,
HpDrain.class, HpDrain.class,
IgnoreDeath.class,
ImmobileBuff.class, ImmobileBuff.class,
ImmobilePetBuff.class, ImmobilePetBuff.class,
Invincible.class, Invincible.class,

View File

@@ -0,0 +1,61 @@
/*
* Copyright (C) 2004-2015 L2J Server
*
* This file is part of L2J Server.
*
* L2J Server 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 Server 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 com.l2jserver.gameserver.model.StatsSet;
import com.l2jserver.gameserver.model.conditions.Condition;
import com.l2jserver.gameserver.model.effects.AbstractEffect;
import com.l2jserver.gameserver.model.effects.L2EffectType;
import com.l2jserver.gameserver.model.skills.BuffInfo;
/**
* IgnoreDeath effect implementation
*/
public final class IgnoreDeath extends AbstractEffect
{
/**
* @param attachCond
* @param applyCond
* @param set
* @param params
*/
public IgnoreDeath(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
{
super(attachCond, applyCond, set, params);
}
@Override
public L2EffectType getEffectType()
{
return L2EffectType.BUFF;
}
@Override
public void onStart(BuffInfo info)
{
info.getEffected().setIsMortal(false);
}
@Override
public void onExit(BuffInfo info)
{
info.getEffected().setIsMortal(true);
}
}

View File

@@ -949,10 +949,12 @@
</effect> </effect>
</enchant2for> </enchant2for>
</skill> </skill>
<skill id="10022" levels="1" name="Ignore Death"> <skill id="10022" levels="1" name="Ignore Death" enchantGroup1="10" enchantGroup2="10" enchantGroup3="10"> <!--enchantGroup9="10">-->
<table name="#ench1MpConsume">35 33 31 28 26 24 22 19 17 15</table> <table name="#ench1MpConsume">35 33 31 28 26 24 22 19 17 15</table>
<table name="#ench2abnormalTime">11 12 13 14 15 16 17 18 19 20</table> <table name="#ench2abnormalTime">11 12 13 14 15 16 17 18 19 20</table>
<table name="#ench3HpHealPercent">1 2 3 4 5 6 7 8 9 10</table> <table name="#ench3HpHealPercent">1 2 3 4 5 6 7 8 9 10</table>
<!-- NEED CORRECT REUSE -->
<!--<table name="#ench9Reuse"> 1250000 1240000 1230000 1220000 1210000 1200000 1190000 1180000 1170000 1160000 </table>-->
<set name="hitTime" val="500" /> <set name="hitTime" val="500" />
<set name="coolTime" val="300" /> <set name="coolTime" val="300" />
<set name="reuseDelay" val="1260000" /> <set name="reuseDelay" val="1260000" />
@@ -963,16 +965,14 @@
<set name="operateType" val="ACTIVE_CONTINUOUS" /> <set name="operateType" val="ACTIVE_CONTINUOUS" />
<enchant1 name="mpConsume" val="#ench1MpConsume" /> <enchant1 name="mpConsume" val="#ench1MpConsume" />
<enchant2 name="abnormalTime" val="#ench2abnormalTime" /> <enchant2 name="abnormalTime" val="#ench2abnormalTime" />
<!--<for> <!-- <enchant9 name="reuseDelay" val="#ench9Reuse" /> -->
<effect name="IgnoreDeath" val="0" /> <for>
<effect name="IgnoreDeath"/>
</for> </for>
<enchant2for>
<effect name="IgnoreDeath" val="0" />
</enchant2for>
<enchant3for> <enchant3for>
<effect name="IgnoreDeath" val="0" /> <effect name="IgnoreDeath"/>
<effect name="HealPercent" noicon="1" val="#ench3HpHealPercent" /> <effect name="HealPercent" noicon="1" val="#ench3HpHealPercent" />
</enchant3for >--> </enchant3for>
</skill> </skill>
<skill id="10023" levels="2" name="King of Beasts"> <skill id="10023" levels="2" name="King of Beasts">
<table name="#ench1MpConsume">133 124 116 107 99 90 82 73 65 56</table> <table name="#ench1MpConsume">133 124 116 107 99 90 82 73 65 56</table>

View File

@@ -293,7 +293,7 @@ public class PcStatus extends PlayableStatus
setCurrentHp(value); setCurrentHp(value);
} }
if ((getActiveChar().getCurrentHp() < 0.5) && !isHPConsumption) if ((getActiveChar().getCurrentHp() < 0.5) && !isHPConsumption && getActiveChar().isMortal())
{ {
getActiveChar().abortAttack(); getActiveChar().abortAttack();
getActiveChar().abortCast(); getActiveChar().abortCast();