Removed unused death penalty stuff.
This commit is contained in:
parent
dce3221509
commit
16fba600f3
@ -31,10 +31,6 @@ AltWeightLimit = 1
|
||||
# Default: 0
|
||||
RunSpeedBoost = 0
|
||||
|
||||
# Chance of receiving the Death Penalty debuff when killed by a mob.
|
||||
# Default: 20
|
||||
DeathPenaltyChance = 20
|
||||
|
||||
# Percent of HP, MP, and CP which is restored on character revival.
|
||||
# Use 0 to disable restore
|
||||
# Default: 0, 65, 0
|
||||
|
@ -1,6 +0,0 @@
|
||||
<html><body>Dark Judge:<br>
|
||||
I was able to weaken Shilen's Breath to a degree...<br>
|
||||
But there isn't much I can do about the tendrils of it coursing deep within your veins.<br><br>
|
||||
Be patient. Time will heal.<br><br>
|
||||
Until then, farewell.
|
||||
</body></html>
|
@ -1,4 +0,0 @@
|
||||
<html><body>Dark Judge:<br>
|
||||
I can only weaken Shilen's Breath Lv. 3 or above.<br>
|
||||
There is nothing I can do for you.
|
||||
</body></html>
|
@ -1,5 +0,0 @@
|
||||
<html><body>Dark Judge:<br>
|
||||
The judges have come to this land to save souls contaminated by sin, not separate good from evil or light from darkness. Rather, we have come to help those with strong wills and noble souls -- whether or not they wish our help. Come, sinners, come to us...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest BlackJudge weakenBreath">"I heard you could weaken Shilen's Breath Lv.3 or above."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,64 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* 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 ai.others.BlackJudge;
|
||||
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Black Judge AI.
|
||||
* @author St3eT
|
||||
*/
|
||||
public final class BlackJudge extends AbstractNpcAI
|
||||
{
|
||||
// NPC
|
||||
private static final int BLACK_JUDGE = 30981;
|
||||
|
||||
private BlackJudge()
|
||||
{
|
||||
addStartNpc(BLACK_JUDGE);
|
||||
addTalkId(BLACK_JUDGE);
|
||||
addFirstTalkId(BLACK_JUDGE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
|
||||
if (event.equals("weakenBreath"))
|
||||
{
|
||||
if (player.getShilensBreathDebuffLevel() >= 3)
|
||||
{
|
||||
player.setShilensBreathDebuffLevel(2);
|
||||
htmltext = "30981-01.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30981-02.html";
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new BlackJudge();
|
||||
}
|
||||
}
|
@ -261,7 +261,6 @@ public final class EffectMasterHandler
|
||||
EffectHandler.getInstance().registerHandler("RebalanceHP", RebalanceHP::new);
|
||||
EffectHandler.getInstance().registerHandler("RebalanceHPSummon", RebalanceHPSummon::new);
|
||||
EffectHandler.getInstance().registerHandler("RecoverVitalityInPeaceZone", RecoverVitalityInPeaceZone::new);
|
||||
EffectHandler.getInstance().registerHandler("Recovery", Recovery::new);
|
||||
EffectHandler.getInstance().registerHandler("ReduceDamage", ReduceDamage::new);
|
||||
EffectHandler.getInstance().registerHandler("ReduceCancel", ReduceCancel::new);
|
||||
EffectHandler.getInstance().registerHandler("ReduceDropPenalty", ReduceDropPenalty::new);
|
||||
|
@ -1,49 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* 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 handlers.effecthandlers;
|
||||
|
||||
import com.l2jmobius.gameserver.model.StatsSet;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||
|
||||
/**
|
||||
* Recovery effect implementation.
|
||||
* @author Kerberos
|
||||
*/
|
||||
public final class Recovery extends AbstractEffect
|
||||
{
|
||||
public Recovery(StatsSet params)
|
||||
{
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInstant()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
|
||||
{
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
effected.getActingPlayer().decreaseShilensBreathDebuff();
|
||||
}
|
||||
}
|
||||
}
|
@ -97,7 +97,6 @@
|
||||
<npc id="30761" x="103898" y="116896" z="-3024" heading="0" respawnTime="60sec"/>
|
||||
<npc id="30762" x="112268" y="112761" z="-2784" heading="0" respawnTime="60sec"/>
|
||||
<npc id="30763" x="124664" y="110047" z="-3104" heading="0" respawnTime="60sec"/>
|
||||
<npc id="30981" x="106131" y="105979" z="-3482" heading="28672" respawnTime="60sec"/>
|
||||
<npc id="35184" x="117095" y="144997" z="-2539" heading="32768" respawnTime="60sec"/>
|
||||
<npc id="35188" x="107386" y="145807" z="-3300" heading="32768" respawnTime="60sec"/>
|
||||
<npc id="35180" x="112661" y="144757" z="-2817" heading="32768" respawnTime="10800sec"/>
|
||||
|
@ -230,7 +230,6 @@ RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
|
||||
RebalanceHP: Balances targets' current HP.
|
||||
RebalanceHPSummon: Balances targets' current HP for summons.
|
||||
RecoverVitalityInPeaceZone: Recover periodically vitality when player is in a peace zone. (l2jmobius)
|
||||
Recovery: Decreases death penalty level.
|
||||
ReduceCancel: Magic skill casting interruption stat.
|
||||
ReduceDropPenalty: Reduces EXP lost and death penalty chance.
|
||||
ReflectMagic: Deflects magical damage back to the attacker.
|
||||
|
@ -150,7 +150,6 @@ public final class Config
|
||||
public static boolean DECREASE_SKILL_LEVEL;
|
||||
public static double ALT_WEIGHT_LIMIT;
|
||||
public static int RUN_SPD_BOOST;
|
||||
public static int DEATH_PENALTY_CHANCE;
|
||||
public static double RESPAWN_RESTORE_CP;
|
||||
public static double RESPAWN_RESTORE_HP;
|
||||
public static double RESPAWN_RESTORE_MP;
|
||||
@ -1398,7 +1397,6 @@ public final class Config
|
||||
DECREASE_SKILL_LEVEL = Character.getBoolean("DecreaseSkillOnDelevel", true);
|
||||
ALT_WEIGHT_LIMIT = Character.getDouble("AltWeightLimit", 1);
|
||||
RUN_SPD_BOOST = Character.getInt("RunSpeedBoost", 0);
|
||||
DEATH_PENALTY_CHANCE = Character.getInt("DeathPenaltyChance", 20);
|
||||
RESPAWN_RESTORE_CP = Character.getDouble("RespawnRestoreCP", 0) / 100;
|
||||
RESPAWN_RESTORE_HP = Character.getDouble("RespawnRestoreHP", 65) / 100;
|
||||
RESPAWN_RESTORE_MP = Character.getDouble("RespawnRestoreMP", 0) / 100;
|
||||
|
@ -5011,9 +5011,6 @@ public final class L2PcInstance extends L2Playable
|
||||
}
|
||||
}
|
||||
|
||||
// calculate Shilen's Breath debuff level
|
||||
calculateShilensBreathDebuffLevel(killer);
|
||||
|
||||
if (isMounted())
|
||||
{
|
||||
stopFeed();
|
||||
@ -11372,89 +11369,6 @@ public final class L2PcInstance extends L2Playable
|
||||
}
|
||||
}
|
||||
|
||||
public int getShilensBreathDebuffLevel()
|
||||
{
|
||||
final BuffInfo buff = getEffectList().getBuffInfoBySkillId(CommonSkill.SHILENS_BREATH.getId());
|
||||
return buff == null ? 0 : buff.getSkill().getLevel();
|
||||
}
|
||||
|
||||
public void calculateShilensBreathDebuffLevel(L2Character killer)
|
||||
{
|
||||
if (killer == null)
|
||||
{
|
||||
_log.warning(this + " called calculateShilensBreathDebuffLevel with killer null!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (isResurrectSpecialAffected() || isLucky() || isBlockedFromDeathPenalty() || isInsideZone(ZoneId.PVP) || isInsideZone(ZoneId.SIEGE) || canOverrideCond(PcCondOverride.DEATH_PENALTY))
|
||||
{
|
||||
return;
|
||||
}
|
||||
double percent = 1.0;
|
||||
|
||||
if (killer.isRaid())
|
||||
{
|
||||
percent *= getStat().getValue(Stats.REDUCE_DEATH_PENALTY_BY_RAID, 1);
|
||||
}
|
||||
else if (killer.isMonster())
|
||||
{
|
||||
percent *= getStat().getValue(Stats.REDUCE_DEATH_PENALTY_BY_MOB, 1);
|
||||
}
|
||||
else if (killer.isPlayable())
|
||||
{
|
||||
percent *= getStat().getValue(Stats.REDUCE_DEATH_PENALTY_BY_PVP, 1);
|
||||
}
|
||||
|
||||
if ((killer.isNpc() && ((L2Npc) killer).getTemplate().isDeathPenalty()) || (Rnd.get(1, 100) <= ((Config.DEATH_PENALTY_CHANCE) * percent)))
|
||||
{
|
||||
if (!killer.isPlayable() || (getReputation() < 0))
|
||||
{
|
||||
increaseShilensBreathDebuff();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void increaseShilensBreathDebuff()
|
||||
{
|
||||
int nextLv = getShilensBreathDebuffLevel() + 1;
|
||||
if (nextLv > 5)
|
||||
{
|
||||
nextLv = 5;
|
||||
}
|
||||
|
||||
final Skill skill = SkillData.getInstance().getSkill(CommonSkill.SHILENS_BREATH.getId(), nextLv);
|
||||
if (skill != null)
|
||||
{
|
||||
skill.applyEffects(this, this);
|
||||
sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_VE_BEEN_AFFLICTED_BY_SHILEN_S_BREATH_LEVEL_S1).addInt(nextLv));
|
||||
}
|
||||
}
|
||||
|
||||
public void decreaseShilensBreathDebuff()
|
||||
{
|
||||
final int nextLv = getShilensBreathDebuffLevel() - 1;
|
||||
if (nextLv > 0)
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(CommonSkill.SHILENS_BREATH.getId(), nextLv);
|
||||
skill.applyEffects(this, this);
|
||||
sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_VE_BEEN_AFFLICTED_BY_SHILEN_S_BREATH_LEVEL_S1).addInt(nextLv));
|
||||
}
|
||||
else
|
||||
{
|
||||
sendPacket(SystemMessageId.SHILEN_S_BREATH_HAS_BEEN_PURIFIED);
|
||||
}
|
||||
}
|
||||
|
||||
public void setShilensBreathDebuffLevel(int level)
|
||||
{
|
||||
if (level > 0)
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(CommonSkill.SHILENS_BREATH.getId(), level);
|
||||
skill.applyEffects(this, this);
|
||||
sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_VE_BEEN_AFFLICTED_BY_SHILEN_S_BREATH_LEVEL_S1).addInt(level));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public L2PcInstance getActingPlayer()
|
||||
{
|
||||
|
@ -48,7 +48,6 @@ public enum CommonSkill
|
||||
CREATE_COMMON(1320, 1),
|
||||
DIVINE_INSPIRATION(1405, 1),
|
||||
CARAVANS_SECRET_MEDICINE(2341, 1),
|
||||
SHILENS_BREATH(14571, 1),
|
||||
IMPRIT_OF_LIGHT(19034, 1),
|
||||
IMPRIT_OF_DARKNESS(19035, 1),
|
||||
ABILITY_OF_LIGHT(19032, 1),
|
||||
|
@ -31,10 +31,6 @@ AltWeightLimit = 1
|
||||
# Default: 0
|
||||
RunSpeedBoost = 0
|
||||
|
||||
# Chance of receiving the Death Penalty debuff when killed by a mob.
|
||||
# Default: 20
|
||||
DeathPenaltyChance = 20
|
||||
|
||||
# Percent of HP, MP, and CP which is restored on character revival.
|
||||
# Use 0 to disable restore
|
||||
# Default: 0, 65, 0
|
||||
|
@ -1,6 +0,0 @@
|
||||
<html><body>Dark Judge:<br>
|
||||
I was able to weaken Shilen's Breath to a degree...<br>
|
||||
But there isn't much I can do about the tendrils of it coursing deep within your veins.<br><br>
|
||||
Be patient. Time will heal.<br><br>
|
||||
Until then, farewell.
|
||||
</body></html>
|
@ -1,4 +0,0 @@
|
||||
<html><body>Dark Judge:<br>
|
||||
I can only weaken Shilen's Breath Lv. 3 or above.<br>
|
||||
There is nothing I can do for you.
|
||||
</body></html>
|
@ -1,5 +0,0 @@
|
||||
<html><body>Dark Judge:<br>
|
||||
The judges have come to this land to save souls contaminated by sin, not separate good from evil or light from darkness. Rather, we have come to help those with strong wills and noble souls -- whether or not they wish our help. Come, sinners, come to us...<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest BlackJudge weakenBreath">"I heard you could weaken Shilen's Breath Lv.3 or above."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,64 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* 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 ai.others.BlackJudge;
|
||||
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Black Judge AI.
|
||||
* @author St3eT
|
||||
*/
|
||||
public final class BlackJudge extends AbstractNpcAI
|
||||
{
|
||||
// NPC
|
||||
private static final int BLACK_JUDGE = 30981;
|
||||
|
||||
private BlackJudge()
|
||||
{
|
||||
addStartNpc(BLACK_JUDGE);
|
||||
addTalkId(BLACK_JUDGE);
|
||||
addFirstTalkId(BLACK_JUDGE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
|
||||
if (event.equals("weakenBreath"))
|
||||
{
|
||||
if (player.getShilensBreathDebuffLevel() >= 3)
|
||||
{
|
||||
player.setShilensBreathDebuffLevel(2);
|
||||
htmltext = "30981-01.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30981-02.html";
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new BlackJudge();
|
||||
}
|
||||
}
|
@ -261,7 +261,6 @@ public final class EffectMasterHandler
|
||||
EffectHandler.getInstance().registerHandler("RebalanceHP", RebalanceHP::new);
|
||||
EffectHandler.getInstance().registerHandler("RebalanceHPSummon", RebalanceHPSummon::new);
|
||||
EffectHandler.getInstance().registerHandler("RecoverVitalityInPeaceZone", RecoverVitalityInPeaceZone::new);
|
||||
EffectHandler.getInstance().registerHandler("Recovery", Recovery::new);
|
||||
EffectHandler.getInstance().registerHandler("ReduceDamage", ReduceDamage::new);
|
||||
EffectHandler.getInstance().registerHandler("ReduceCancel", ReduceCancel::new);
|
||||
EffectHandler.getInstance().registerHandler("ReduceDropPenalty", ReduceDropPenalty::new);
|
||||
|
@ -1,49 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* 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 handlers.effecthandlers;
|
||||
|
||||
import com.l2jmobius.gameserver.model.StatsSet;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||
|
||||
/**
|
||||
* Recovery effect implementation.
|
||||
* @author Kerberos
|
||||
*/
|
||||
public final class Recovery extends AbstractEffect
|
||||
{
|
||||
public Recovery(StatsSet params)
|
||||
{
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInstant()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
|
||||
{
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
effected.getActingPlayer().decreaseShilensBreathDebuff();
|
||||
}
|
||||
}
|
||||
}
|
@ -97,7 +97,6 @@
|
||||
<npc id="30761" x="103898" y="116896" z="-3024" heading="0" respawnTime="60sec"/>
|
||||
<npc id="30762" x="112268" y="112761" z="-2784" heading="0" respawnTime="60sec"/>
|
||||
<npc id="30763" x="124664" y="110047" z="-3104" heading="0" respawnTime="60sec"/>
|
||||
<npc id="30981" x="106131" y="105979" z="-3482" heading="28672" respawnTime="60sec"/>
|
||||
<npc id="35184" x="117095" y="144997" z="-2539" heading="32768" respawnTime="60sec"/>
|
||||
<npc id="35188" x="107386" y="145807" z="-3300" heading="32768" respawnTime="60sec"/>
|
||||
<npc id="35180" x="112661" y="144757" z="-2817" heading="32768" respawnTime="10800sec"/>
|
||||
|
@ -230,7 +230,6 @@ RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
|
||||
RebalanceHP: Balances targets' current HP.
|
||||
RebalanceHPSummon: Balances targets' current HP for summons.
|
||||
RecoverVitalityInPeaceZone: Recover periodically vitality when player is in a peace zone. (l2jmobius)
|
||||
Recovery: Decreases death penalty level.
|
||||
ReduceCancel: Magic skill casting interruption stat.
|
||||
ReduceDropPenalty: Reduces EXP lost and death penalty chance.
|
||||
ReflectMagic: Deflects magical damage back to the attacker.
|
||||
|
@ -150,7 +150,6 @@ public final class Config
|
||||
public static boolean DECREASE_SKILL_LEVEL;
|
||||
public static double ALT_WEIGHT_LIMIT;
|
||||
public static int RUN_SPD_BOOST;
|
||||
public static int DEATH_PENALTY_CHANCE;
|
||||
public static double RESPAWN_RESTORE_CP;
|
||||
public static double RESPAWN_RESTORE_HP;
|
||||
public static double RESPAWN_RESTORE_MP;
|
||||
@ -1402,7 +1401,6 @@ public final class Config
|
||||
DECREASE_SKILL_LEVEL = Character.getBoolean("DecreaseSkillOnDelevel", true);
|
||||
ALT_WEIGHT_LIMIT = Character.getDouble("AltWeightLimit", 1);
|
||||
RUN_SPD_BOOST = Character.getInt("RunSpeedBoost", 0);
|
||||
DEATH_PENALTY_CHANCE = Character.getInt("DeathPenaltyChance", 20);
|
||||
RESPAWN_RESTORE_CP = Character.getDouble("RespawnRestoreCP", 0) / 100;
|
||||
RESPAWN_RESTORE_HP = Character.getDouble("RespawnRestoreHP", 65) / 100;
|
||||
RESPAWN_RESTORE_MP = Character.getDouble("RespawnRestoreMP", 0) / 100;
|
||||
|
@ -5011,9 +5011,6 @@ public final class L2PcInstance extends L2Playable
|
||||
}
|
||||
}
|
||||
|
||||
// calculate Shilen's Breath debuff level
|
||||
calculateShilensBreathDebuffLevel(killer);
|
||||
|
||||
if (isMounted())
|
||||
{
|
||||
stopFeed();
|
||||
@ -11372,89 +11369,6 @@ public final class L2PcInstance extends L2Playable
|
||||
}
|
||||
}
|
||||
|
||||
public int getShilensBreathDebuffLevel()
|
||||
{
|
||||
final BuffInfo buff = getEffectList().getBuffInfoBySkillId(CommonSkill.SHILENS_BREATH.getId());
|
||||
return buff == null ? 0 : buff.getSkill().getLevel();
|
||||
}
|
||||
|
||||
public void calculateShilensBreathDebuffLevel(L2Character killer)
|
||||
{
|
||||
if (killer == null)
|
||||
{
|
||||
_log.warning(this + " called calculateShilensBreathDebuffLevel with killer null!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (isResurrectSpecialAffected() || isLucky() || isBlockedFromDeathPenalty() || isInsideZone(ZoneId.PVP) || isInsideZone(ZoneId.SIEGE) || canOverrideCond(PcCondOverride.DEATH_PENALTY))
|
||||
{
|
||||
return;
|
||||
}
|
||||
double percent = 1.0;
|
||||
|
||||
if (killer.isRaid())
|
||||
{
|
||||
percent *= getStat().getValue(Stats.REDUCE_DEATH_PENALTY_BY_RAID, 1);
|
||||
}
|
||||
else if (killer.isMonster())
|
||||
{
|
||||
percent *= getStat().getValue(Stats.REDUCE_DEATH_PENALTY_BY_MOB, 1);
|
||||
}
|
||||
else if (killer.isPlayable())
|
||||
{
|
||||
percent *= getStat().getValue(Stats.REDUCE_DEATH_PENALTY_BY_PVP, 1);
|
||||
}
|
||||
|
||||
if ((killer.isNpc() && ((L2Npc) killer).getTemplate().isDeathPenalty()) || (Rnd.get(1, 100) <= ((Config.DEATH_PENALTY_CHANCE) * percent)))
|
||||
{
|
||||
if (!killer.isPlayable() || (getReputation() < 0))
|
||||
{
|
||||
increaseShilensBreathDebuff();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void increaseShilensBreathDebuff()
|
||||
{
|
||||
int nextLv = getShilensBreathDebuffLevel() + 1;
|
||||
if (nextLv > 5)
|
||||
{
|
||||
nextLv = 5;
|
||||
}
|
||||
|
||||
final Skill skill = SkillData.getInstance().getSkill(CommonSkill.SHILENS_BREATH.getId(), nextLv);
|
||||
if (skill != null)
|
||||
{
|
||||
skill.applyEffects(this, this);
|
||||
sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_VE_BEEN_AFFLICTED_BY_SHILEN_S_BREATH_LEVEL_S1).addInt(nextLv));
|
||||
}
|
||||
}
|
||||
|
||||
public void decreaseShilensBreathDebuff()
|
||||
{
|
||||
final int nextLv = getShilensBreathDebuffLevel() - 1;
|
||||
if (nextLv > 0)
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(CommonSkill.SHILENS_BREATH.getId(), nextLv);
|
||||
skill.applyEffects(this, this);
|
||||
sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_VE_BEEN_AFFLICTED_BY_SHILEN_S_BREATH_LEVEL_S1).addInt(nextLv));
|
||||
}
|
||||
else
|
||||
{
|
||||
sendPacket(SystemMessageId.SHILEN_S_BREATH_HAS_BEEN_PURIFIED);
|
||||
}
|
||||
}
|
||||
|
||||
public void setShilensBreathDebuffLevel(int level)
|
||||
{
|
||||
if (level > 0)
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(CommonSkill.SHILENS_BREATH.getId(), level);
|
||||
skill.applyEffects(this, this);
|
||||
sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_VE_BEEN_AFFLICTED_BY_SHILEN_S_BREATH_LEVEL_S1).addInt(level));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public L2PcInstance getActingPlayer()
|
||||
{
|
||||
|
@ -48,7 +48,6 @@ public enum CommonSkill
|
||||
CREATE_COMMON(1320, 1),
|
||||
DIVINE_INSPIRATION(1405, 1),
|
||||
CARAVANS_SECRET_MEDICINE(2341, 1),
|
||||
SHILENS_BREATH(14571, 1),
|
||||
IMPRIT_OF_LIGHT(19034, 1),
|
||||
IMPRIT_OF_DARKNESS(19035, 1),
|
||||
ABILITY_OF_LIGHT(19032, 1),
|
||||
|
Loading…
Reference in New Issue
Block a user