Removed item grade penalty.

This commit is contained in:
MobiusDevelopment
2019-09-25 21:41:32 +00:00
parent 88582755a8
commit 5497af095c
19 changed files with 8 additions and 351 deletions

View File

@@ -99,7 +99,6 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("CriticalDamagePosition", CriticalDamagePosition::new);
EffectHandler.getInstance().registerHandler("CriticalRate", CriticalRate::new);
EffectHandler.getInstance().registerHandler("CriticalRatePositionBonus", CriticalRatePositionBonus::new);
EffectHandler.getInstance().registerHandler("CrystalGradeModify", CrystalGradeModify::new);
EffectHandler.getInstance().registerHandler("CubicMastery", CubicMastery::new);
EffectHandler.getInstance().registerHandler("DamageBlock", DamageBlock::new);
EffectHandler.getInstance().registerHandler("DamageByAttack", DamageByAttack::new);
@@ -144,7 +143,7 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("FatalBlowRate", FatalBlowRate::new);
EffectHandler.getInstance().registerHandler("Fear", Fear::new);
EffectHandler.getInstance().registerHandler("Feed", Feed::new);
EffectHandler.getInstance().registerHandler("FishingExpSpBonus", FishingExpSpBonus::new);
EffectHandler.getInstance().registerHandler("FishingExpSpBonus", FishingExpSpBonus::new);
EffectHandler.getInstance().registerHandler("Flag", Flag::new);
EffectHandler.getInstance().registerHandler("FlipBlock", FlipBlock::new);
EffectHandler.getInstance().registerHandler("FocusEnergy", FocusEnergy::new);

View File

@@ -80,7 +80,7 @@ public class Wear implements IBypassHandler
player.setInventoryBlockingStatus(true);
player.sendPacket(new ShopPreviewList(buyList, player.getAdena(), player.getExpertiseLevel()));
player.sendPacket(new ShopPreviewList(buyList, player.getAdena()));
}
@Override

View File

@@ -1,60 +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 org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* Crystal Grade Modify effect implementation.
* @author Zoey76
*/
public class CrystalGradeModify extends AbstractEffect
{
private final int _grade;
public CrystalGradeModify(StatsSet params)
{
_grade = params.getInt("grade", 0);
}
@Override
public boolean canStart(Creature effector, Creature effected, Skill skill)
{
return effected.isPlayer();
}
@Override
public void onStart(Creature effector, Creature effected, Skill skill, ItemInstance item)
{
effected.getActingPlayer().setExpertisePenaltyBonus(_grade);
}
@Override
public void onExit(Creature effector, Creature effected, Skill skill)
{
final PlayerInstance player = effected.getActingPlayer();
if (player != null)
{
player.setExpertisePenaltyBonus(0);
}
}
}

View File

@@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
import org.l2jmobius.gameserver.model.items.Weapon;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.ActionType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
import org.l2jmobius.gameserver.util.Broadcast;
@@ -68,17 +67,6 @@ public class BlessedSoulShots implements IItemHandler
return false;
}
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus());
if (!gradeCheck)
{
if (!player.getAutoSoulShot().contains(itemId))
{
player.sendPacket(SystemMessageId.THE_SOULSHOT_YOU_ARE_ATTEMPTING_TO_USE_DOES_NOT_MATCH_THE_GRADE_OF_YOUR_EQUIPPED_WEAPON);
}
return false;
}
player.soulShotLock.lock();
try
{

View File

@@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
import org.l2jmobius.gameserver.model.items.Weapon;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.ActionType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
import org.l2jmobius.gameserver.util.Broadcast;
@@ -70,19 +69,6 @@ public class BlessedSpiritShot implements IItemHandler
return false;
}
// Check for correct grade
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus());
if (!gradeCheck)
{
if (!player.getAutoSoulShot().contains(itemId))
{
player.sendPacket(SystemMessageId.YOUR_SPIRITSHOT_DOES_NOT_MATCH_THE_WEAPON_S_GRADE);
}
return false;
}
// Consume Blessed SpiritShot if player has enough of them
if (!player.destroyItemWithoutTrace("Consume", item.getObjectId(), weaponItem.getSpiritShotCount(), null, false))
{

View File

@@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
import org.l2jmobius.gameserver.model.items.Weapon;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.ActionType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
import org.l2jmobius.gameserver.util.Broadcast;
@@ -65,17 +64,6 @@ public class SoulShots implements IItemHandler
return false;
}
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SOULSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus());
if (!gradeCheck)
{
if (!player.getAutoSoulShot().contains(itemId))
{
player.sendPacket(SystemMessageId.THE_SOULSHOT_YOU_ARE_ATTEMPTING_TO_USE_DOES_NOT_MATCH_THE_GRADE_OF_YOUR_EQUIPPED_WEAPON);
}
return false;
}
player.soulShotLock.lock();
try
{

View File

@@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
import org.l2jmobius.gameserver.model.items.Weapon;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.ActionType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
import org.l2jmobius.gameserver.util.Broadcast;
@@ -70,19 +69,6 @@ public class SpiritShot implements IItemHandler
return false;
}
// Check for correct grade
final boolean gradeCheck = item.isEtcItem() && (item.getEtcItem().getDefaultAction() == ActionType.SPIRITSHOT) && (weaponInst.getItem().getCrystalTypePlus() == item.getItem().getCrystalTypePlus());
if (!gradeCheck)
{
if (!player.getAutoSoulShot().contains(itemId))
{
player.sendPacket(SystemMessageId.YOUR_SPIRITSHOT_DOES_NOT_MATCH_THE_WEAPON_S_GRADE);
}
return false;
}
// Consume SpiritShot if player has enough of them
if (!player.destroyItemWithoutTrace("Consume", item.getObjectId(), weaponItem.getSpiritShotCount(), null, false))
{

View File

@@ -2,12 +2,6 @@
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/skillTrees.xsd">
<skillTree type="classSkillTree">
<skill skillName="Lucky" skillId="194" skillLvl="1" getLevel="1" autoGet="true" />
<skill skillName="Expertise D" skillId="239" skillLvl="1" getLevel="20" autoGet="true" />
<skill skillName="Expertise C" skillId="239" skillLvl="2" getLevel="40" autoGet="true" />
<skill skillName="Expertise B" skillId="239" skillLvl="3" getLevel="52" autoGet="true" />
<skill skillName="Expertise A" skillId="239" skillLvl="4" getLevel="61" autoGet="true" />
<skill skillName="Expertise S" skillId="239" skillLvl="5" getLevel="76" autoGet="true" />
<skill skillName="Pirate" skillId="1800" skillLvl="1" getLevel="45" autoGet="true" />
<skill skillName="Dark Assassin" skillId="1801" skillLvl="1" getLevel="60" autoGet="true" />
<skill skillName="White Assassin" skillId="1802" skillLvl="1" getLevel="70" autoGet="true" />

View File

@@ -69,7 +69,6 @@ CriticalDamage: Critical Damage stat.
CriticalDamagePosition: Critical Damage depending on position stat.
CriticalRate: Critical Rate stat.
CriticalRatePositionBonus: Critical Rate depending on position stat. Ignores the critical rate cap of 500.
CrystalGradeModify: Sets your Expertise Grade level. With this effect you can make lv. 40 player (C Grade) to wear S grade.
CubicMastery: Max cubics stat.
DamageBlock: Blocks Hp or Mp damage/heal.
DamageByAttack: An effect that changes damage taken from an attack.