IgnoreDeath effect.
Contributed by NviX.
This commit is contained in:
@@ -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,
|
||||||
|
61
trunk/dist/game/data/scripts/handlers/effecthandlers/IgnoreDeath.java
vendored
Normal file
61
trunk/dist/game/data/scripts/handlers/effecthandlers/IgnoreDeath.java
vendored
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
@@ -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>
|
||||||
|
@@ -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();
|
||||||
|
Reference in New Issue
Block a user