Minor Npc class cleanup.

This commit is contained in:
MobiusDevelopment 2022-01-06 23:21:40 +00:00
parent ff4e454f7c
commit 2d2dfa224c
25 changed files with 169 additions and 254 deletions

View File

@ -1568,10 +1568,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1589,6 +1585,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -1568,10 +1568,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1589,6 +1585,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -1568,10 +1568,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1589,6 +1585,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -1568,10 +1568,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1589,6 +1585,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -1568,10 +1568,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1589,6 +1585,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -1568,10 +1568,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1589,6 +1585,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -1568,10 +1568,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1589,6 +1585,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -1568,10 +1568,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1589,6 +1585,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -1569,10 +1569,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1590,6 +1586,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -1569,10 +1569,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1590,6 +1586,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -1569,10 +1569,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1590,6 +1586,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -153,49 +153,6 @@ public class Npc extends Creature
return false;
}
public class destroyTemporalNPC implements Runnable
{
private final Spawn _oldSpawn;
public destroyTemporalNPC(Spawn spawn)
{
_oldSpawn = spawn;
}
@Override
public void run()
{
try
{
_oldSpawn.getLastSpawn().deleteMe();
_oldSpawn.stopRespawn();
SpawnTable.getInstance().deleteSpawn(_oldSpawn, false);
}
catch (Throwable t)
{
LOGGER.warning(t.toString());
}
}
}
public class destroyTemporalSummon implements Runnable
{
Summon _summon;
Player _player;
public destroyTemporalSummon(Summon summon, Player player)
{
_summon = summon;
_player = player;
}
@Override
public void run()
{
_summon.unSummon(_player);
}
}
/**
* Constructor of Npc (use Creature constructor).<br>
* <br>
@ -1082,31 +1039,27 @@ public class Npc extends Creature
else if (command.equalsIgnoreCase("TerritoryStatus"))
{
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
if (getCastle().getOwnerId() > 0)
{
if (getCastle().getOwnerId() > 0)
{
html.setFile("/data/html/territorystatus.htm");
final Clan clan = ClanTable.getInstance().getClan(getCastle().getOwnerId());
html.replace("%clanname%", clan.getName());
html.replace("%clanleadername%", clan.getLeaderName());
}
else
{
html.setFile("/data/html/territorynoclan.htm");
}
html.setFile("/data/html/territorystatus.htm");
final Clan clan = ClanTable.getInstance().getClan(getCastle().getOwnerId());
html.replace("%clanname%", clan.getName());
html.replace("%clanleadername%", clan.getLeaderName());
}
else
{
html.setFile("/data/html/territorynoclan.htm");
}
html.replace("%castlename%", getCastle().getName());
html.replace("%taxpercent%", "" + getCastle().getTaxPercent());
html.replace("%objectId%", String.valueOf(getObjectId()));
if (getCastle().getCastleId() > 6)
{
if (getCastle().getCastleId() > 6)
{
html.replace("%territory%", "The Kingdom of Elmore");
}
else
{
html.replace("%territory%", "The Kingdom of Aden");
}
html.replace("%territory%", "The Kingdom of Elmore");
}
else
{
html.replace("%territory%", "The Kingdom of Aden");
}
player.sendPacket(html);
}
@ -1688,8 +1641,6 @@ public class Npc extends Creature
return;
}
final int price = Config.ALT_LOTTERY_TICKET_PRICE;
final int lotonumber = Lottery.getInstance().getId();
int enchant = 0;
int type2 = 0;
for (int i = 0; i < 5; i++)
@ -1708,6 +1659,8 @@ public class Npc extends Creature
type2 += Math.pow(2, player.getLoto(i) - 17);
}
}
final int price = Config.ALT_LOTTERY_TICKET_PRICE;
if (player.getAdena() < price)
{
sm = new SystemMessage(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
@ -1718,7 +1671,9 @@ public class Npc extends Creature
{
return;
}
Lottery.getInstance().increasePrize(price);
final int lotonumber = Lottery.getInstance().getId();
sm = new SystemMessage(SystemMessageId.ACQUIRED_S1_S2);
sm.addNumber(lotonumber);
@ -1852,7 +1807,6 @@ public class Npc extends Creature
}
final int neededmoney = 100;
SystemMessage sm;
if (!player.reduceAdena("RestoreCP", neededmoney, player.getLastFolkNPC(), true))
{
return;
@ -1868,6 +1822,7 @@ public class Npc extends Creature
player.setCurrentCp(player.getMaxCp());
// cp restored
SystemMessage sm;
sm = new SystemMessage(SystemMessageId.S1_CPS_HAVE_BEEN_RESTORED);
sm.addString(player.getName());
player.sendPacket(sm);
@ -2021,7 +1976,7 @@ public class Npc extends Creature
}
}
if ((getTemplate().getType() == "Auctioneer") && (value == 0))
if (getTemplate().getType().equals("Auctioneer") && (value == 0))
{
return;
}

View File

@ -155,49 +155,6 @@ public class Npc extends Creature
return false;
}
public class destroyTemporalNPC implements Runnable
{
private final Spawn _oldSpawn;
public destroyTemporalNPC(Spawn spawn)
{
_oldSpawn = spawn;
}
@Override
public void run()
{
try
{
_oldSpawn.getLastSpawn().deleteMe();
_oldSpawn.stopRespawn();
SpawnTable.getInstance().deleteSpawn(_oldSpawn, false);
}
catch (Throwable t)
{
LOGGER.warning(t.toString());
}
}
}
public class destroyTemporalSummon implements Runnable
{
Summon _summon;
Player _player;
public destroyTemporalSummon(Summon summon, Player player)
{
_summon = summon;
_player = player;
}
@Override
public void run()
{
_summon.unSummon(_player);
}
}
/**
* Constructor of Npc (use Creature constructor).<br>
* <br>
@ -1084,31 +1041,27 @@ public class Npc extends Creature
else if (command.equalsIgnoreCase("TerritoryStatus"))
{
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
if (getCastle().getOwnerId() > 0)
{
if (getCastle().getOwnerId() > 0)
{
html.setFile("/data/html/territorystatus.htm");
final Clan clan = ClanTable.getInstance().getClan(getCastle().getOwnerId());
html.replace("%clanname%", clan.getName());
html.replace("%clanleadername%", clan.getLeaderName());
}
else
{
html.setFile("/data/html/territorynoclan.htm");
}
html.setFile("/data/html/territorystatus.htm");
final Clan clan = ClanTable.getInstance().getClan(getCastle().getOwnerId());
html.replace("%clanname%", clan.getName());
html.replace("%clanleadername%", clan.getLeaderName());
}
else
{
html.setFile("/data/html/territorynoclan.htm");
}
html.replace("%castlename%", getCastle().getName());
html.replace("%taxpercent%", "" + getCastle().getTaxPercent());
html.replace("%objectId%", String.valueOf(getObjectId()));
if (getCastle().getCastleId() > 6)
{
if (getCastle().getCastleId() > 6)
{
html.replace("%territory%", "The Kingdom of Elmore");
}
else
{
html.replace("%territory%", "The Kingdom of Aden");
}
html.replace("%territory%", "The Kingdom of Elmore");
}
else
{
html.replace("%territory%", "The Kingdom of Aden");
}
player.sendPacket(html);
}
@ -1880,8 +1833,6 @@ public class Npc extends Creature
return;
}
final int price = Config.ALT_LOTTERY_TICKET_PRICE;
final int lotonumber = Lottery.getInstance().getId();
int enchant = 0;
int type2 = 0;
for (int i = 0; i < 5; i++)
@ -1900,6 +1851,8 @@ public class Npc extends Creature
type2 += Math.pow(2, player.getLoto(i) - 17);
}
}
final int price = Config.ALT_LOTTERY_TICKET_PRICE;
if (player.getAdena() < price)
{
sm = new SystemMessage(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
@ -1910,7 +1863,9 @@ public class Npc extends Creature
{
return;
}
Lottery.getInstance().increasePrize(price);
final int lotonumber = Lottery.getInstance().getId();
sm = new SystemMessage(SystemMessageId.ACQUIRED_S1_S2);
sm.addNumber(lotonumber);
@ -2049,7 +2004,6 @@ public class Npc extends Creature
}
final int neededmoney = 100;
SystemMessage sm;
if (!player.reduceAdena("RestoreCP", neededmoney, player.getLastFolkNPC(), true))
{
return;
@ -2065,6 +2019,7 @@ public class Npc extends Creature
player.setCurrentCp(player.getMaxCp());
// cp restored
SystemMessage sm;
sm = new SystemMessage(SystemMessageId.S1_CPS_HAVE_BEEN_RESTORED);
sm.addString(player.getName());
player.sendPacket(sm);
@ -2224,7 +2179,7 @@ public class Npc extends Creature
}
}
if ((getTemplate().getType() == "Auctioneer") && (value == 0))
if (getTemplate().getType().equals("Auctioneer") && (value == 0))
{
return;
}

View File

@ -1631,28 +1631,22 @@ public class Npc extends Creature
{
if (physical)
{
if (_soulshotamount == 0)
{
return;
}
else if (Rnd.get(100) > getSoulShotChance())
if ((_soulshotamount == 0) || (Rnd.get(100) > getSoulShotChance()))
{
return;
}
_soulshotamount--;
Broadcast.toSelfAndKnownPlayersInRadius(this, new MagicSkillUse(this, this, 2154, 1, 0, 0), 600);
setChargedShot(ShotType.SOULSHOTS, true);
}
if (magic)
{
if (_spiritshotamount == 0)
{
return;
}
else if (Rnd.get(100) > getSpiritShotChance())
if ((_spiritshotamount == 0) || (Rnd.get(100) > getSpiritShotChance()))
{
return;
}
_spiritshotamount--;
Broadcast.toSelfAndKnownPlayersInRadius(this, new MagicSkillUse(this, this, 2061, 1, 0, 0), 600);
setChargedShot(ShotType.SPIRITSHOTS, true);
@ -1797,10 +1791,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.log(Level.SEVERE, "Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1818,15 +1808,17 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.
if (!Config.LIST_PROTECTED_ITEMS.contains(itemId))
if (!Config.LIST_PROTECTED_ITEMS.contains(itemId) && (((Config.AUTODESTROY_ITEM_AFTER > 0) && !item.getItem().hasExImmediateEffect()) || ((Config.HERB_AUTO_DESTROY_TIME > 0) && item.getItem().hasExImmediateEffect())))
{
if (((Config.AUTODESTROY_ITEM_AFTER > 0) && !item.getItem().hasExImmediateEffect()) || ((Config.HERB_AUTO_DESTROY_TIME > 0) && item.getItem().hasExImmediateEffect()))
{
ItemsAutoDestroyTaskManager.getInstance().addItem(item);
}
ItemsAutoDestroyTaskManager.getInstance().addItem(item);
}
item.setProtected(false);

View File

@ -1631,28 +1631,22 @@ public class Npc extends Creature
{
if (physical)
{
if (_soulshotamount == 0)
{
return;
}
else if (Rnd.get(100) > getSoulShotChance())
if ((_soulshotamount == 0) || (Rnd.get(100) > getSoulShotChance()))
{
return;
}
_soulshotamount--;
Broadcast.toSelfAndKnownPlayersInRadius(this, new MagicSkillUse(this, this, 2154, 1, 0, 0), 600);
setChargedShot(ShotType.SOULSHOTS, true);
}
if (magic)
{
if (_spiritshotamount == 0)
{
return;
}
else if (Rnd.get(100) > getSpiritShotChance())
if ((_spiritshotamount == 0) || (Rnd.get(100) > getSpiritShotChance()))
{
return;
}
_spiritshotamount--;
Broadcast.toSelfAndKnownPlayersInRadius(this, new MagicSkillUse(this, this, 2061, 1, 0, 0), 600);
setChargedShot(ShotType.SPIRITSHOTS, true);
@ -1797,10 +1791,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.log(Level.SEVERE, "Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1818,15 +1808,17 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.
if (!Config.LIST_PROTECTED_ITEMS.contains(itemId))
if (!Config.LIST_PROTECTED_ITEMS.contains(itemId) && (((Config.AUTODESTROY_ITEM_AFTER > 0) && !item.getItem().hasExImmediateEffect()) || ((Config.HERB_AUTO_DESTROY_TIME > 0) && item.getItem().hasExImmediateEffect())))
{
if (((Config.AUTODESTROY_ITEM_AFTER > 0) && !item.getItem().hasExImmediateEffect()) || ((Config.HERB_AUTO_DESTROY_TIME > 0) && item.getItem().hasExImmediateEffect()))
{
ItemsAutoDestroyTaskManager.getInstance().addItem(item);
}
ItemsAutoDestroyTaskManager.getInstance().addItem(item);
}
item.setProtected(false);

View File

@ -1568,10 +1568,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1589,6 +1585,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -1568,10 +1568,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1589,6 +1585,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -1568,10 +1568,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1589,6 +1585,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -1580,10 +1580,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1601,6 +1597,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -1580,10 +1580,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1601,6 +1597,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -1580,10 +1580,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1601,6 +1597,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -1552,10 +1552,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1573,6 +1569,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -1581,10 +1581,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1602,6 +1598,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -1581,10 +1581,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1602,6 +1598,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.

View File

@ -1581,10 +1581,6 @@ public class Npc extends Creature
Item item = null;
for (int i = 0; i < itemCount; i++)
{
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
if (ItemTable.getInstance().getTemplate(itemId) == null)
{
LOGGER.severe("Item doesn't exist so cannot be dropped. Item ID: " + itemId + " Quest: " + getName());
@ -1602,6 +1598,11 @@ public class Npc extends Creature
item.getDropProtection().protect(creature);
}
// Randomize drop position.
final int newX = (getX() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newY = (getY() + Rnd.get((RANDOM_ITEM_DROP_LIMIT * 2) + 1)) - RANDOM_ITEM_DROP_LIMIT;
final int newZ = getZ() + 20;
item.dropMe(this, newX, newY, newZ);
// Add drop to auto destroy item task.