Code improvements.
This commit is contained in:
@ -72,12 +72,9 @@ public class BeastSoulShot implements IItemHandler
|
||||
final SkillHolder[] skills = item.getItem().getSkills();
|
||||
short shotConsumption = 0;
|
||||
|
||||
if (pet != null)
|
||||
if ((pet != null) && !pet.isChargedShot(ShotType.SOULSHOTS))
|
||||
{
|
||||
if (!pet.isChargedShot(ShotType.SOULSHOTS))
|
||||
{
|
||||
shotConsumption += pet.getSoulShotsPerHit();
|
||||
}
|
||||
shotConsumption += pet.getSoulShotsPerHit();
|
||||
}
|
||||
|
||||
for (L2Summon servitors : aliveServitor)
|
||||
@ -116,28 +113,25 @@ public class BeastSoulShot implements IItemHandler
|
||||
|
||||
// Pet uses the power of spirit.
|
||||
activeOwner.sendPacket(SystemMessageId.YOUR_PET_USES_SPIRITSHOT);
|
||||
if (pet != null)
|
||||
if ((pet != null) && !pet.isChargedShot(ShotType.SOULSHOTS))
|
||||
{
|
||||
if (!pet.isChargedShot(ShotType.SOULSHOTS))
|
||||
pet.setChargedShot(ShotType.SOULSHOTS, true);
|
||||
// Visual effect change if player has equipped Ruby lvl 3 or higher
|
||||
if ((activeOwner.getInventory().getItemByItemId(38859) != null) && (activeOwner.getInventory().getItemByItemId(38859).isEquipped()))
|
||||
{
|
||||
pet.setChargedShot(ShotType.SOULSHOTS, true);
|
||||
// Visual effect change if player has equipped Ruby lvl 3 or higher
|
||||
if ((activeOwner.getInventory().getItemByItemId(38859) != null) && (activeOwner.getInventory().getItemByItemId(38859).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, 17817, 1, 0, 0), 600);
|
||||
}
|
||||
else if ((activeOwner.getInventory().getItemByItemId(38858) != null) && (activeOwner.getInventory().getItemByItemId(38858).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, 17816, 1, 0, 0), 600);
|
||||
}
|
||||
else if ((activeOwner.getInventory().getItemByItemId(38857) != null) && (activeOwner.getInventory().getItemByItemId(38857).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, 17815, 1, 0, 0), 600);
|
||||
}
|
||||
else
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
|
||||
}
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, 17817, 1, 0, 0), 600);
|
||||
}
|
||||
else if ((activeOwner.getInventory().getItemByItemId(38858) != null) && (activeOwner.getInventory().getItemByItemId(38858).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, 17816, 1, 0, 0), 600);
|
||||
}
|
||||
else if ((activeOwner.getInventory().getItemByItemId(38857) != null) && (activeOwner.getInventory().getItemByItemId(38857).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, 17815, 1, 0, 0), 600);
|
||||
}
|
||||
else
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -74,12 +74,9 @@ public class BeastSpiritShot implements IItemHandler
|
||||
final ShotType shotType = isBlessed ? ShotType.BLESSED_SPIRITSHOTS : ShotType.SPIRITSHOTS;
|
||||
|
||||
short shotConsumption = 0;
|
||||
if (pet != null)
|
||||
if ((pet != null) && !pet.isChargedShot(shotType))
|
||||
{
|
||||
if (!pet.isChargedShot(shotType))
|
||||
{
|
||||
shotConsumption += pet.getSpiritShotsPerHit();
|
||||
}
|
||||
shotConsumption += pet.getSpiritShotsPerHit();
|
||||
}
|
||||
|
||||
for (L2Summon servitors : aliveServitor)
|
||||
@ -118,28 +115,25 @@ public class BeastSpiritShot implements IItemHandler
|
||||
|
||||
// Pet uses the power of spirit.
|
||||
activeOwner.sendPacket(SystemMessageId.YOUR_PET_USES_SPIRITSHOT);
|
||||
if (pet != null)
|
||||
if ((pet != null) && !pet.isChargedShot(shotType))
|
||||
{
|
||||
if (!pet.isChargedShot(shotType))
|
||||
pet.setChargedShot(shotType, true);
|
||||
// Visual effect change if player has equipped Sapphire lvl 3 or higher
|
||||
if ((activeOwner.getInventory().getItemByItemId(38931) != null) && (activeOwner.getInventory().getItemByItemId(38931).isEquipped()))
|
||||
{
|
||||
pet.setChargedShot(shotType, true);
|
||||
// Visual effect change if player has equipped Sapphire lvl 3 or higher
|
||||
if ((activeOwner.getInventory().getItemByItemId(38931) != null) && (activeOwner.getInventory().getItemByItemId(38931).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, 17821, 2, 0, 0), 600);
|
||||
}
|
||||
else if ((activeOwner.getInventory().getItemByItemId(38930) != null) && (activeOwner.getInventory().getItemByItemId(38930).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, 17820, 2, 0, 0), 600);
|
||||
}
|
||||
else if ((activeOwner.getInventory().getItemByItemId(38929) != null) && (activeOwner.getInventory().getItemByItemId(38929).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, 17819, 2, 0, 0), 600);
|
||||
}
|
||||
else
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
|
||||
}
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, 17821, 2, 0, 0), 600);
|
||||
}
|
||||
else if ((activeOwner.getInventory().getItemByItemId(38930) != null) && (activeOwner.getInventory().getItemByItemId(38930).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, 17820, 2, 0, 0), 600);
|
||||
}
|
||||
else if ((activeOwner.getInventory().getItemByItemId(38929) != null) && (activeOwner.getInventory().getItemByItemId(38929).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, 17819, 2, 0, 0), 600);
|
||||
}
|
||||
else
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -54,5 +54,4 @@ public class Bypass implements IItemHandler
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -39,7 +39,7 @@ public final class Harvester implements IItemHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if (!playable.isPlayer())
|
||||
if (!playable.isPlayer())
|
||||
{
|
||||
playable.sendPacket(SystemMessageId.YOUR_PET_CANNOT_CARRY_THIS_ITEM);
|
||||
return false;
|
||||
|
@ -134,13 +134,10 @@ public class ItemSkillsTemplate implements IItemHandler
|
||||
}
|
||||
}
|
||||
|
||||
if (checkConsume(item, hasConsumeSkill))
|
||||
if (checkConsume(item, hasConsumeSkill) && !playable.destroyItem("Consume", item.getObjectId(), 1, playable, false))
|
||||
{
|
||||
if (!playable.destroyItem("Consume", item.getObjectId(), 1, playable, false))
|
||||
{
|
||||
playable.sendPacket(SystemMessageId.INCORRECT_ITEM_COUNT);
|
||||
return false;
|
||||
}
|
||||
playable.sendPacket(SystemMessageId.INCORRECT_ITEM_COUNT);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
@ -177,56 +174,53 @@ public class ItemSkillsTemplate implements IItemHandler
|
||||
{
|
||||
final long remainingTime = (skill != null) ? playable.getSkillRemainingReuseTime(skill.getReuseHashCode()) : playable.getItemRemainingReuseTime(item.getObjectId());
|
||||
final boolean isAvailable = remainingTime <= 0;
|
||||
if (playable.isPlayer())
|
||||
if (playable.isPlayer() && !isAvailable)
|
||||
{
|
||||
if (!isAvailable)
|
||||
final int hours = (int) (remainingTime / 3600000L);
|
||||
final int minutes = (int) (remainingTime % 3600000L) / 60000;
|
||||
final int seconds = (int) ((remainingTime / 1000) % 60);
|
||||
SystemMessage sm = null;
|
||||
if (hours > 0)
|
||||
{
|
||||
final int hours = (int) (remainingTime / 3600000L);
|
||||
final int minutes = (int) (remainingTime % 3600000L) / 60000;
|
||||
final int seconds = (int) ((remainingTime / 1000) % 60);
|
||||
SystemMessage sm = null;
|
||||
if (hours > 0)
|
||||
sm = SystemMessage.getSystemMessage(SystemMessageId.THERE_ARE_S2_HOUR_S_S3_MINUTE_S_AND_S4_SECOND_S_REMAINING_IN_S1_S_RE_USE_TIME);
|
||||
if ((skill == null) || skill.isStatic())
|
||||
{
|
||||
sm = SystemMessage.getSystemMessage(SystemMessageId.THERE_ARE_S2_HOUR_S_S3_MINUTE_S_AND_S4_SECOND_S_REMAINING_IN_S1_S_RE_USE_TIME);
|
||||
if ((skill == null) || skill.isStatic())
|
||||
{
|
||||
sm.addItemName(item);
|
||||
}
|
||||
else
|
||||
{
|
||||
sm.addSkillName(skill);
|
||||
}
|
||||
sm.addInt(hours);
|
||||
sm.addInt(minutes);
|
||||
}
|
||||
else if (minutes > 0)
|
||||
{
|
||||
sm = SystemMessage.getSystemMessage(SystemMessageId.THERE_ARE_S2_MINUTE_S_S3_SECOND_S_REMAINING_IN_S1_S_RE_USE_TIME);
|
||||
if ((skill == null) || skill.isStatic())
|
||||
{
|
||||
sm.addItemName(item);
|
||||
}
|
||||
else
|
||||
{
|
||||
sm.addSkillName(skill);
|
||||
}
|
||||
sm.addInt(minutes);
|
||||
sm.addItemName(item);
|
||||
}
|
||||
else
|
||||
{
|
||||
sm = SystemMessage.getSystemMessage(SystemMessageId.THERE_ARE_S2_SECOND_S_REMAINING_IN_S1_S_RE_USE_TIME);
|
||||
if ((skill == null) || skill.isStatic())
|
||||
{
|
||||
sm.addItemName(item);
|
||||
}
|
||||
else
|
||||
{
|
||||
sm.addSkillName(skill);
|
||||
}
|
||||
sm.addSkillName(skill);
|
||||
}
|
||||
sm.addInt(seconds);
|
||||
playable.sendPacket(sm);
|
||||
sm.addInt(hours);
|
||||
sm.addInt(minutes);
|
||||
}
|
||||
else if (minutes > 0)
|
||||
{
|
||||
sm = SystemMessage.getSystemMessage(SystemMessageId.THERE_ARE_S2_MINUTE_S_S3_SECOND_S_REMAINING_IN_S1_S_RE_USE_TIME);
|
||||
if ((skill == null) || skill.isStatic())
|
||||
{
|
||||
sm.addItemName(item);
|
||||
}
|
||||
else
|
||||
{
|
||||
sm.addSkillName(skill);
|
||||
}
|
||||
sm.addInt(minutes);
|
||||
}
|
||||
else
|
||||
{
|
||||
sm = SystemMessage.getSystemMessage(SystemMessageId.THERE_ARE_S2_SECOND_S_REMAINING_IN_S1_S_RE_USE_TIME);
|
||||
if ((skill == null) || skill.isStatic())
|
||||
{
|
||||
sm.addItemName(item);
|
||||
}
|
||||
else
|
||||
{
|
||||
sm.addSkillName(skill);
|
||||
}
|
||||
}
|
||||
sm.addInt(seconds);
|
||||
playable.sendPacket(sm);
|
||||
}
|
||||
return isAvailable;
|
||||
}
|
||||
|
@ -16,8 +16,6 @@
|
||||
*/
|
||||
package handlers.itemhandlers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.PetDataTable;
|
||||
import com.l2jmobius.gameserver.datatables.SkillData;
|
||||
@ -80,18 +78,11 @@ public class PetFood implements IItemHandler
|
||||
else if (activeChar.isPlayer())
|
||||
{
|
||||
final L2PcInstance player = activeChar.getActingPlayer();
|
||||
if (player.isMounted())
|
||||
if (player.isMounted() && PetDataTable.getInstance().getPetData(player.getMountNpcId()).getFood().contains(Integer.valueOf(item.getId())) && player.destroyItem("Consume", item.getObjectId(), 1, null, false))
|
||||
{
|
||||
final List<Integer> foodIds = PetDataTable.getInstance().getPetData(player.getMountNpcId()).getFood();
|
||||
if (foodIds.contains(Integer.valueOf(item.getId())))
|
||||
{
|
||||
if (player.destroyItem("Consume", item.getObjectId(), 1, null, false))
|
||||
{
|
||||
player.broadcastPacket(new MagicSkillUse(player, player, skillId, skillLevel, 0, 0));
|
||||
player.setCurrentFeed(player.getCurrentFeed() + skill.getFeed());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
player.broadcastPacket(new MagicSkillUse(player, player, skillId, skillLevel, 0, 0));
|
||||
player.setCurrentFeed(player.getCurrentFeed() + skill.getFeed());
|
||||
return true;
|
||||
}
|
||||
final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED_DUE_TO_UNSUITABLE_TERMS);
|
||||
sm.addItemName(item);
|
||||
|
@ -43,7 +43,7 @@ public class Seed implements IItemHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if (!playable.isPlayer())
|
||||
if (!playable.isPlayer())
|
||||
{
|
||||
playable.sendPacket(SystemMessageId.YOUR_PET_CANNOT_CARRY_THIS_ITEM);
|
||||
return false;
|
||||
@ -59,7 +59,7 @@ public class Seed implements IItemHandler
|
||||
playable.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||
return false;
|
||||
}
|
||||
else if (!tgt.isMonster() || ((L2MonsterInstance) tgt).isRaid() || (tgt instanceof L2ChestInstance))
|
||||
if (!tgt.isMonster() || ((L2MonsterInstance) tgt).isRaid() || (tgt instanceof L2ChestInstance))
|
||||
{
|
||||
playable.sendPacket(SystemMessageId.THE_TARGET_IS_UNAVAILABLE_FOR_SEEDING);
|
||||
return false;
|
||||
@ -71,7 +71,7 @@ public class Seed implements IItemHandler
|
||||
playable.sendPacket(SystemMessageId.INVALID_TARGET);
|
||||
return false;
|
||||
}
|
||||
else if (target.isSeeded())
|
||||
if (target.isSeeded())
|
||||
{
|
||||
playable.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return false;
|
||||
@ -82,7 +82,7 @@ public class Seed implements IItemHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if (seed.getCastleId() != MapRegionManager.getInstance().getAreaCastle(playable)) // TODO: replace me with tax zone
|
||||
if (seed.getCastleId() != MapRegionManager.getInstance().getAreaCastle(playable))
|
||||
{
|
||||
playable.sendPacket(SystemMessageId.THIS_SEED_MAY_NOT_BE_SOWN_HERE);
|
||||
return false;
|
||||
|
Reference in New Issue
Block a user