Code style changes.
This commit is contained in:
@ -216,12 +216,9 @@ public class L2Attackable extends L2Npc
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (isPhysicalMuted())
|
||||
{
|
||||
if (isPhysicalMuted())
|
||||
{
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@ -346,7 +343,7 @@ public class L2Attackable extends L2Npc
|
||||
final int hpRestore = (int) killer.getStat().calcStat(Stats.HP_RESTORE_ON_KILL, 0, null, null);
|
||||
if (hpRestore > 0)
|
||||
{
|
||||
final double amount = Math.max(Math.min(((killer.getMaxHp() * hpRestore) / 100), killer.getMaxRecoverableHp() - killer.getCurrentHp()), 0);
|
||||
final double amount = Math.max(Math.min((killer.getMaxHp() * hpRestore) / 100, killer.getMaxRecoverableHp() - killer.getCurrentHp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
killer.setCurrentHp(amount + killer.getCurrentHp());
|
||||
@ -360,7 +357,7 @@ public class L2Attackable extends L2Npc
|
||||
final L2MonsterInstance mob = (L2MonsterInstance) this;
|
||||
if ((mob.getLeader() != null) && mob.getLeader().hasMinions())
|
||||
{
|
||||
mob.getLeader().getMinionList().onMinionDie(mob, (Config.MINIONS_RESPAWN_TIME.containsKey(getId()) ? Config.MINIONS_RESPAWN_TIME.get(getId()) * 1000 : -1));
|
||||
mob.getLeader().getMinionList().onMinionDie(mob, Config.MINIONS_RESPAWN_TIME.containsKey(getId()) ? Config.MINIONS_RESPAWN_TIME.get(getId()) * 1000 : -1);
|
||||
}
|
||||
|
||||
if (mob.hasMinions())
|
||||
@ -528,7 +525,7 @@ public class L2Attackable extends L2Npc
|
||||
if (addexp > 0)
|
||||
{
|
||||
attacker.updateVitalityPoints(getVitalityPoints(damage), true, false);
|
||||
PcCafePointsManager.getInstance().givePcCafePoint((attacker), addexp);
|
||||
PcCafePointsManager.getInstance().givePcCafePoint(attacker, addexp);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -569,17 +566,12 @@ public class L2Attackable extends L2Npc
|
||||
}
|
||||
rewards.remove(partyPlayer); // Remove the L2PcInstance from the L2Attackable rewards
|
||||
}
|
||||
else
|
||||
else if (Util.checkIfInRange(Config.ALT_PARTY_RANGE, this, partyPlayer, true))
|
||||
{
|
||||
// Add L2PcInstance of the party (that have attacked or not) to members that can be rewarded
|
||||
// and in range of the monster.
|
||||
if (Util.checkIfInRange(Config.ALT_PARTY_RANGE, this, partyPlayer, true))
|
||||
rewardedMembers.add(partyPlayer);
|
||||
if (partyPlayer.getLevel() > partyLvl)
|
||||
{
|
||||
rewardedMembers.add(partyPlayer);
|
||||
if (partyPlayer.getLevel() > partyLvl)
|
||||
{
|
||||
partyLvl = attackerParty.isInCommandChannel() ? attackerParty.getCommandChannel().getLevel() : partyPlayer.getLevel();
|
||||
}
|
||||
partyLvl = attackerParty.isInCommandChannel() ? attackerParty.getCommandChannel().getLevel() : partyPlayer.getLevel();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -587,7 +579,7 @@ public class L2Attackable extends L2Npc
|
||||
// If the party didn't killed this L2Attackable alone
|
||||
if (partyDmg < totalDamage)
|
||||
{
|
||||
partyMul = ((float) partyDmg / totalDamage);
|
||||
partyMul = (float) partyDmg / totalDamage;
|
||||
}
|
||||
|
||||
// Calculate the level difference between Party and L2Attackable
|
||||
@ -1292,13 +1284,13 @@ public class L2Attackable extends L2Npc
|
||||
final AbsorberInfo ai = _absorbersList.get(attacker.getObjectId());
|
||||
|
||||
// If the L2Character attacker isn't already in the _absorbersList of this L2Attackable, add it
|
||||
if (ai == null)
|
||||
if (ai != null)
|
||||
{
|
||||
_absorbersList.put(attacker.getObjectId(), new AbsorberInfo(attacker.getObjectId(), getCurrentHp()));
|
||||
ai.setAbsorbedHp(getCurrentHp());
|
||||
}
|
||||
else
|
||||
{
|
||||
ai.setAbsorbedHp(getCurrentHp());
|
||||
_absorbersList.put(attacker.getObjectId(), new AbsorberInfo(attacker.getObjectId(), getCurrentHp()));
|
||||
}
|
||||
|
||||
// Set this L2Attackable as absorbed
|
||||
@ -1375,7 +1367,7 @@ public class L2Attackable extends L2Npc
|
||||
public long calculateOverhitExp(long normalExp)
|
||||
{
|
||||
// Get the percentage based on the total of extra (over-hit) damage done relative to the total (maximum) ammount of HP on the L2Attackable
|
||||
double overhitPercentage = ((getOverhitDamage() * 100) / getMaxHp());
|
||||
double overhitPercentage = (getOverhitDamage() * 100) / getMaxHp();
|
||||
|
||||
// Over-hit damage percentages are limited to 25% max
|
||||
if (overhitPercentage > 25)
|
||||
@ -1383,7 +1375,7 @@ public class L2Attackable extends L2Npc
|
||||
overhitPercentage = 25;
|
||||
}
|
||||
|
||||
return Math.round(((overhitPercentage / 100) * normalExp));
|
||||
return Math.round((overhitPercentage / 100) * normalExp);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1557,7 +1549,7 @@ public class L2Attackable extends L2Npc
|
||||
@Override
|
||||
public boolean hasRandomAnimation()
|
||||
{
|
||||
return ((Config.MAX_MONSTER_ANIMATION > 0) && isRandomAnimationEnabled() && !(this instanceof L2GrandBossInstance));
|
||||
return (Config.MAX_MONSTER_ANIMATION > 0) && isRandomAnimationEnabled() && !(this instanceof L2GrandBossInstance);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -1634,7 +1626,7 @@ public class L2Attackable extends L2Npc
|
||||
*/
|
||||
public boolean useVitalityRate()
|
||||
{
|
||||
return (!isChampion() || Config.L2JMOD_CHAMPION_ENABLE_VITALITY);
|
||||
return !isChampion() || Config.L2JMOD_CHAMPION_ENABLE_VITALITY;
|
||||
}
|
||||
|
||||
/** Return True if the L2Character is RaidBoss or his minion. */
|
||||
|
@ -759,7 +759,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
|
||||
public void teleToLocation(int x, int y, int z, int heading, int instanceId, boolean randomOffset)
|
||||
{
|
||||
teleToLocation(x, y, z, heading, instanceId, (randomOffset) ? Config.MAX_OFFSET_ON_TELEPORT : 0);
|
||||
teleToLocation(x, y, z, heading, instanceId, randomOffset ? Config.MAX_OFFSET_ON_TELEPORT : 0);
|
||||
}
|
||||
|
||||
public void teleToLocation(int x, int y, int z, int heading, int instanceId)
|
||||
@ -769,7 +769,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
|
||||
public void teleToLocation(int x, int y, int z, int heading, boolean randomOffset)
|
||||
{
|
||||
teleToLocation(x, y, z, heading, -1, (randomOffset) ? Config.MAX_OFFSET_ON_TELEPORT : 0);
|
||||
teleToLocation(x, y, z, heading, -1, randomOffset ? Config.MAX_OFFSET_ON_TELEPORT : 0);
|
||||
}
|
||||
|
||||
public void teleToLocation(int x, int y, int z, int heading)
|
||||
@ -779,7 +779,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
|
||||
public void teleToLocation(int x, int y, int z, boolean randomOffset)
|
||||
{
|
||||
teleToLocation(x, y, z, 0, -1, (randomOffset) ? Config.MAX_OFFSET_ON_TELEPORT : 0);
|
||||
teleToLocation(x, y, z, 0, -1, randomOffset ? Config.MAX_OFFSET_ON_TELEPORT : 0);
|
||||
}
|
||||
|
||||
public void teleToLocation(int x, int y, int z)
|
||||
@ -799,7 +799,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
|
||||
public void teleToLocation(ILocational loc, boolean randomOffset)
|
||||
{
|
||||
teleToLocation(loc.getX(), loc.getY(), loc.getZ(), loc.getHeading(), loc.getInstanceId(), (randomOffset) ? Config.MAX_OFFSET_ON_TELEPORT : 0);
|
||||
teleToLocation(loc.getX(), loc.getY(), loc.getZ(), loc.getHeading(), loc.getInstanceId(), randomOffset ? Config.MAX_OFFSET_ON_TELEPORT : 0);
|
||||
}
|
||||
|
||||
public void teleToLocation(ILocational loc)
|
||||
@ -844,7 +844,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return false;
|
||||
}
|
||||
final int mpConsume = (int) calcStat(Stats.BOW_MP_CONSUME_RATE, ((weaponItem.getReducedMpConsume() > 0) && (Rnd.get(100) < weaponItem.getReducedMpConsumeChance()) ? weaponItem.getReducedMpConsume() : weaponItem.getMpConsume()), null, null);
|
||||
final int mpConsume = (int) calcStat(Stats.BOW_MP_CONSUME_RATE, (weaponItem.getReducedMpConsume() > 0) && (Rnd.get(100) < weaponItem.getReducedMpConsumeChance()) ? weaponItem.getReducedMpConsume() : weaponItem.getMpConsume(), null, null);
|
||||
if (getCurrentMp() < mpConsume)
|
||||
{
|
||||
// If L2PcInstance doesn't have enough MP, stop the attack
|
||||
@ -1078,23 +1078,20 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
{
|
||||
abortAttack(); // Abort the attack of the L2Character and send Server->Client ActionFailed packet
|
||||
}
|
||||
else
|
||||
else if (player != null)
|
||||
{
|
||||
if (player != null)
|
||||
if (player.isCursedWeaponEquipped())
|
||||
{
|
||||
if (player.isCursedWeaponEquipped())
|
||||
// If hit by a cursed weapon, CP is reduced to 0
|
||||
if (!target.isInvul())
|
||||
{
|
||||
// If hit by a cursed weapon, CP is reduced to 0
|
||||
if (!target.isInvul())
|
||||
{
|
||||
target.setCurrentCp(0);
|
||||
}
|
||||
}
|
||||
else if (player.isHero() && target.isPlayer() && target.getActingPlayer().isCursedWeaponEquipped())
|
||||
{
|
||||
target.setCurrentCp(0); // If a cursed weapon is hit by a Hero, CP is reduced to 0
|
||||
target.setCurrentCp(0);
|
||||
}
|
||||
}
|
||||
else if (player.isHero() && target.isPlayer() && target.getActingPlayer().isCursedWeaponEquipped())
|
||||
{
|
||||
target.setCurrentCp(0); // If a cursed weapon is hit by a Hero, CP is reduced to 0
|
||||
}
|
||||
}
|
||||
|
||||
// If the Server->Client packet Attack contains at least 1 hit, send the Server->Client packet Attack
|
||||
@ -1319,7 +1316,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
attack.addHit(target, damage2, miss2, crit2, shld2);
|
||||
|
||||
// Return true if hit 1 or hit 2 isn't missed
|
||||
return (!miss1 || !miss2);
|
||||
return !miss1 || !miss2;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1729,7 +1726,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
final int magicId = skill.getId();
|
||||
|
||||
// Get the Base Casting Time of the Skills.
|
||||
int skillTime = (skill.getHitTime() + skill.getCoolTime());
|
||||
int skillTime = skill.getHitTime() + skill.getCoolTime();
|
||||
|
||||
if (!skill.isChanneling() || (skill.getChannelingSkillId() == 0))
|
||||
{
|
||||
@ -1780,7 +1777,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
int reuseDelay;
|
||||
if (skill.isStaticReuse() || skill.isStatic())
|
||||
{
|
||||
reuseDelay = (skill.getReuseDelay());
|
||||
reuseDelay = skill.getReuseDelay();
|
||||
}
|
||||
else if (skill.isMagic())
|
||||
{
|
||||
@ -2016,15 +2013,12 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
// Check if the skill is physical and if the L2Character is not physical_muted
|
||||
else if (isPhysicalMuted())
|
||||
{
|
||||
// Check if the skill is physical and if the L2Character is not physical_muted
|
||||
if (isPhysicalMuted())
|
||||
{
|
||||
// Send a Server->Client packet ActionFailed to the L2PcInstance
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return false;
|
||||
}
|
||||
// Send a Server->Client packet ActionFailed to the L2PcInstance
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2159,7 +2153,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
* @param itemObjId the item object ID
|
||||
* @return if the item has a reuse time stamp, the remaining time, otherwise -1
|
||||
*/
|
||||
public synchronized final long getItemRemainingReuseTime(int itemObjId)
|
||||
public final synchronized long getItemRemainingReuseTime(int itemObjId)
|
||||
{
|
||||
final TimeStamp reuseStamp = (_reuseTimeStampsItems != null) ? _reuseTimeStampsItems.get(itemObjId) : null;
|
||||
return reuseStamp != null ? reuseStamp.getRemaining() : -1;
|
||||
@ -2230,7 +2224,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
* Removes a skill reuse time stamp.
|
||||
* @param skill the skill to remove
|
||||
*/
|
||||
public synchronized final void removeTimeStamp(Skill skill)
|
||||
public final synchronized void removeTimeStamp(Skill skill)
|
||||
{
|
||||
if (_reuseTimeStampsSkills != null)
|
||||
{
|
||||
@ -2241,7 +2235,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
/**
|
||||
* Removes all skill reuse time stamps.
|
||||
*/
|
||||
public synchronized final void resetTimeStamps()
|
||||
public final synchronized void resetTimeStamps()
|
||||
{
|
||||
if (_reuseTimeStampsSkills != null)
|
||||
{
|
||||
@ -2254,7 +2248,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
* @param hashCode the skill hash code
|
||||
* @return if the skill has a reuse time stamp, the remaining time, otherwise -1
|
||||
*/
|
||||
public synchronized final long getSkillRemainingReuseTime(int hashCode)
|
||||
public final synchronized long getSkillRemainingReuseTime(int hashCode)
|
||||
{
|
||||
final TimeStamp reuseStamp = (_reuseTimeStampsSkills != null) ? _reuseTimeStampsSkills.get(hashCode) : null;
|
||||
return reuseStamp != null ? reuseStamp.getRemaining() : -1;
|
||||
@ -2265,7 +2259,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
* @param hashCode the skill hash code
|
||||
* @return {@code true} if the skill is under reuse time, {@code false} otherwise
|
||||
*/
|
||||
public synchronized final boolean hasSkillReuse(int hashCode)
|
||||
public final synchronized boolean hasSkillReuse(int hashCode)
|
||||
{
|
||||
final TimeStamp reuseStamp = (_reuseTimeStampsSkills != null) ? _reuseTimeStampsSkills.get(hashCode) : null;
|
||||
return (reuseStamp != null) && reuseStamp.hasNotPassed();
|
||||
@ -2276,7 +2270,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
* @param hashCode the skill hash code
|
||||
* @return if the skill has a reuse time stamp, the skill reuse time stamp, otherwise {@code null}
|
||||
*/
|
||||
public synchronized final TimeStamp getSkillReuseTimeStamp(int hashCode)
|
||||
public final synchronized TimeStamp getSkillReuseTimeStamp(int hashCode)
|
||||
{
|
||||
return _reuseTimeStampsSkills != null ? _reuseTimeStampsSkills.get(hashCode) : null;
|
||||
}
|
||||
@ -2333,7 +2327,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
/**
|
||||
* Removes all the disabled skills.
|
||||
*/
|
||||
public synchronized final void resetDisabledSkills()
|
||||
public final synchronized void resetDisabledSkills()
|
||||
{
|
||||
if (_disabledSkills != null)
|
||||
{
|
||||
@ -3012,7 +3006,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
@Override
|
||||
public CharKnownList getKnownList()
|
||||
{
|
||||
return ((CharKnownList) super.getKnownList());
|
||||
return (CharKnownList) super.getKnownList();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -3105,13 +3099,13 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
*/
|
||||
public final void setTitle(String value)
|
||||
{
|
||||
if (value == null)
|
||||
if (value != null)
|
||||
{
|
||||
_title = "";
|
||||
_title = value.length() > 21 ? value.substring(0, 20) : value;
|
||||
}
|
||||
else
|
||||
{
|
||||
_title = value.length() > 21 ? value.substring(0, 20) : value;
|
||||
_title = "";
|
||||
}
|
||||
}
|
||||
|
||||
@ -3734,7 +3728,6 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
}
|
||||
else
|
||||
{
|
||||
final boolean broadcastFull = true;
|
||||
final StatusUpdate su = new StatusUpdate(this);
|
||||
UserInfo info = null;
|
||||
if (isPlayer())
|
||||
@ -3829,17 +3822,9 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
player.refreshExpertisePenalty();
|
||||
sendPacket(info);
|
||||
|
||||
if (broadcastFull)
|
||||
{
|
||||
player.broadcastPacket(new CharInfo(player));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (su.hasAttributes())
|
||||
{
|
||||
broadcastPacket(su);
|
||||
}
|
||||
}
|
||||
if (hasServitors() && isAffected(EffectFlag.SERVITOR_SHARE))
|
||||
{
|
||||
getServitors().values().forEach(L2Summon::broadcastStatusUpdate);
|
||||
@ -3847,7 +3832,6 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
}
|
||||
else if (isNpc())
|
||||
{
|
||||
if (broadcastFull)
|
||||
{
|
||||
for (L2PcInstance player : getKnownList().getKnownPlayers().values())
|
||||
{
|
||||
@ -3865,10 +3849,6 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (su.hasAttributes())
|
||||
{
|
||||
broadcastPacket(su);
|
||||
}
|
||||
}
|
||||
else if (su.hasAttributes())
|
||||
{
|
||||
@ -4092,8 +4072,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
final boolean isFloating = isFlying() || isInsideZone(ZoneId.WATER);
|
||||
|
||||
// Z coordinate will follow geodata or client values
|
||||
if ((Config.COORD_SYNCHRONIZE == 2) && !isFloating && !m.disregardingGeodata && ((GameTimeController.getInstance().getGameTicks() % 10) == 0 // once a second to reduce possible cpu load
|
||||
) && GeoData.getInstance().hasGeo(xPrev, yPrev))
|
||||
if ((Config.COORD_SYNCHRONIZE == 2) && !isFloating && !m.disregardingGeodata && ((GameTimeController.getInstance().getGameTicks() % 10) == 0) && GeoData.getInstance().hasGeo(xPrev, yPrev))
|
||||
{
|
||||
final int geoHeight = GeoData.getInstance().getSpawnHeight(xPrev, yPrev, zPrev);
|
||||
dz = m._zDestination - geoHeight;
|
||||
@ -4133,7 +4112,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
m._yAccurate += dy * distFraction;
|
||||
|
||||
// Set the position of the L2Character to estimated after parcial move
|
||||
super.setXYZ((int) (m._xAccurate), (int) (m._yAccurate), zPrev + (int) ((dz * distFraction) + 0.5));
|
||||
super.setXYZ((int) m._xAccurate, (int) m._yAccurate, zPrev + (int) ((dz * distFraction) + 0.5));
|
||||
}
|
||||
revalidateZone(false);
|
||||
|
||||
@ -4328,9 +4307,9 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
|
||||
// Calculate distance (dx,dy) between current position and destination
|
||||
// TODO: improve Z axis move/follow support when dx,dy are small compared to dz
|
||||
double dx = (x - curX);
|
||||
double dy = (y - curY);
|
||||
double dz = (z - curZ);
|
||||
double dx = x - curX;
|
||||
double dy = y - curY;
|
||||
double dz = z - curZ;
|
||||
double distance = Math.sqrt((dx * dx) + (dy * dy));
|
||||
|
||||
final boolean verticalMovementOnly = isFlying() && (distance == 0) && (dz != 0);
|
||||
@ -4347,9 +4326,9 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
x = curX + (int) (divider * dx);
|
||||
y = curY + (int) (divider * dy);
|
||||
z = curZ + (int) (divider * dz);
|
||||
dx = (x - curX);
|
||||
dy = (y - curY);
|
||||
dz = (z - curZ);
|
||||
dx = x - curX;
|
||||
dy = y - curY;
|
||||
dz = z - curZ;
|
||||
distance = Math.sqrt((dx * dx) + (dy * dy));
|
||||
}
|
||||
|
||||
@ -4391,7 +4370,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
sin = dy / distance;
|
||||
cos = dx / distance;
|
||||
|
||||
distance -= (offset - 5); // due to rounding error, we have to move a bit closer to be in range
|
||||
distance -= offset - 5; // due to rounding error, we have to move a bit closer to be in range
|
||||
|
||||
// Calculate the new destination with offset included
|
||||
x = curX + (int) (distance * cos);
|
||||
@ -4429,8 +4408,8 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
|
||||
// Movement checks:
|
||||
// When pathfinding enabled, for all characters except monsters returning home (could be changed later to teleport if pathfinding fails)
|
||||
if (((Config.PATHFINDING > 0) && (!(isAttackable() && ((L2Attackable) this).isReturningToSpawnPoint()))) //
|
||||
|| (isPlayer() && !(isInVehicle && (distance > 1500))))
|
||||
if (((Config.PATHFINDING > 0) && (!isAttackable() || !((L2Attackable) this).isReturningToSpawnPoint())) //
|
||||
|| (isPlayer() && (!isInVehicle || (distance <= 1500))))
|
||||
{
|
||||
if (isOnGeodataPath())
|
||||
{
|
||||
@ -4640,8 +4619,8 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
}
|
||||
m._zDestination = md.geoPath.get(m.onGeodataPathIndex).getZ();
|
||||
|
||||
final double dx = (m._xDestination - super.getX());
|
||||
final double dy = (m._yDestination - super.getY());
|
||||
final double dx = m._xDestination - super.getX();
|
||||
final double dy = m._yDestination - super.getY();
|
||||
final double distance = Math.sqrt((dx * dx) + (dy * dy));
|
||||
// Calculate and set the heading of the L2Character
|
||||
if (distance != 0)
|
||||
@ -4692,7 +4671,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
boolean result = true;
|
||||
if (m._heading != heading)
|
||||
{
|
||||
result = (m._heading == 0); // initial value or false
|
||||
result = m._heading == 0; // initial value or false
|
||||
m._heading = heading;
|
||||
}
|
||||
|
||||
@ -4725,7 +4704,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
public final boolean isInsideRadius(int x, int y, int z, int radius, boolean checkZAxis, boolean strictCheck)
|
||||
{
|
||||
final double distance = calculateDistance(x, y, z, checkZAxis, true);
|
||||
return (strictCheck) ? (distance < (radius * radius)) : (distance <= (radius * radius));
|
||||
return strictCheck ? (distance < (radius * radius)) : (distance <= (radius * radius));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -4876,7 +4855,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
if (!miss && (damage > 0))
|
||||
{
|
||||
final L2Weapon weapon = getActiveWeaponItem();
|
||||
final boolean isBow = ((weapon != null) && ((weapon.getItemType() == WeaponType.BOW) || (weapon.getItemType() == WeaponType.CROSSBOW)));
|
||||
final boolean isBow = (weapon != null) && ((weapon.getItemType() == WeaponType.BOW) || (weapon.getItemType() == WeaponType.CROSSBOW));
|
||||
int reflectedDamage = 0;
|
||||
|
||||
if (!isBow && !target.isInvul() && (!target.isRaid() || (getActingPlayer() == null) || (getActingPlayer().getLevel() <= (target.getLevel() + 8)))) // Do not reflect if weapon is of type bow or target is invunlerable
|
||||
@ -5120,7 +5099,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
|
||||
public boolean isInsidePeaceZone(L2PcInstance attacker, L2Object target)
|
||||
{
|
||||
return (!attacker.getAccessLevel().allowPeaceAttack() && isInsidePeaceZone((L2Object) attacker, target));
|
||||
return !attacker.getAccessLevel().allowPeaceAttack() && isInsidePeaceZone((L2Object) attacker, target);
|
||||
}
|
||||
|
||||
public boolean isInsidePeaceZone(L2Object attacker, L2Object target)
|
||||
@ -5129,7 +5108,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (!(target.isPlayable() && attacker.isPlayable()))
|
||||
if (!target.isPlayable() || !attacker.isPlayable())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -5151,7 +5130,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
}
|
||||
}
|
||||
|
||||
return (target.isInsideZone(ZoneId.PEACE) || attacker.isInsideZone(ZoneId.PEACE));
|
||||
return target.isInsideZone(ZoneId.PEACE) || attacker.isInsideZone(ZoneId.PEACE);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -5160,7 +5139,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
public boolean isInActiveRegion()
|
||||
{
|
||||
final L2WorldRegion region = getWorldRegion();
|
||||
return ((region != null) && (region.isActive()));
|
||||
return (region != null) && region.isActive();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -5441,13 +5420,10 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (((L2Character) target).isInsidePeaceZone(this, target))
|
||||
{
|
||||
if (((L2Character) target).isInsidePeaceZone(this, target))
|
||||
{
|
||||
skipPeaceZone++;
|
||||
continue;
|
||||
}
|
||||
skipPeaceZone++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
targetList.add(target);
|
||||
@ -5619,16 +5595,13 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
{
|
||||
onMagicFinalizer(mut);
|
||||
}
|
||||
else if (mut.isSimultaneous())
|
||||
{
|
||||
_skillCast2 = ThreadPoolManager.getInstance().scheduleEffect(mut, 300);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (mut.isSimultaneous())
|
||||
{
|
||||
_skillCast2 = ThreadPoolManager.getInstance().scheduleEffect(mut, 300);
|
||||
}
|
||||
else
|
||||
{
|
||||
_skillCast = ThreadPoolManager.getInstance().scheduleEffect(mut, 300);
|
||||
}
|
||||
_skillCast = ThreadPoolManager.getInstance().scheduleEffect(mut, 300);
|
||||
}
|
||||
}
|
||||
|
||||
@ -5660,7 +5633,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
}
|
||||
|
||||
// Attack target after skill use
|
||||
if ((skill.nextActionIsAttack()) && (getTarget() instanceof L2Character) && (getTarget() != this) && (target != null) && (getTarget() == target) && target.canBeAttacked()//
|
||||
if (skill.nextActionIsAttack() && (getTarget() instanceof L2Character) && (getTarget() != this) && (target != null) && (getTarget() == target) && target.canBeAttacked()//
|
||||
&& ((getAI().getNextIntention() == null) || (getAI().getNextIntention().getCtrlIntention() != CtrlIntention.AI_INTENTION_MOVE_TO)))
|
||||
{
|
||||
getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, target);
|
||||
@ -5822,7 +5795,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
|
||||
// attack of the own pet does not flag player
|
||||
// triggering trap not flag trap owner
|
||||
if ((player.getPet() != target) && !player.hasServitor(target.getObjectId()) && !isTrap() && !((skill.getEffectPoint() == 0) && (skill.getAffectRange() > 0)))
|
||||
if ((player.getPet() != target) && !player.hasServitor(target.getObjectId()) && !isTrap() && ((skill.getEffectPoint() != 0) || (skill.getAffectRange() <= 0)))
|
||||
{
|
||||
player.updatePvPStatus((L2Character) target);
|
||||
}
|
||||
@ -5849,21 +5822,18 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
((L2Character) target).getAI().notifyEvent(CtrlEvent.EVT_ATTACKED, this);
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (target.isPlayer())
|
||||
{
|
||||
if (target.isPlayer())
|
||||
{
|
||||
// Casting non offensive skill on player with pvp flag set or with karma
|
||||
if (!(target.equals(this) || target.equals(player)) && ((target.getActingPlayer().getPvpFlag() > 0) || (target.getActingPlayer().getReputation() < 0)))
|
||||
{
|
||||
player.updatePvPStatus();
|
||||
}
|
||||
}
|
||||
else if (target.isAttackable())
|
||||
// Casting non offensive skill on player with pvp flag set or with karma
|
||||
if (!target.equals(this) && !target.equals(player) && ((target.getActingPlayer().getPvpFlag() > 0) || (target.getActingPlayer().getReputation() < 0)))
|
||||
{
|
||||
player.updatePvPStatus();
|
||||
}
|
||||
}
|
||||
else if (target.isAttackable())
|
||||
{
|
||||
player.updatePvPStatus();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -5873,7 +5843,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
if ((spMob != null) && spMob.isNpc())
|
||||
{
|
||||
final L2Npc npcMob = (L2Npc) spMob;
|
||||
if ((npcMob.isInsideRadius(player, 1000, true, true)))
|
||||
if (npcMob.isInsideRadius(player, 1000, true, true))
|
||||
{
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnNpcSkillSee(npcMob, player, skill, targets, isSummon()), npcMob);
|
||||
|
||||
@ -5906,7 +5876,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((npcTarget == skillTarget) || (npcMob == skillTarget))
|
||||
{
|
||||
attackable.addDamageHate((isSummon() ? this : player), 0, (skillEffectPoint * 150) / (attackable.getLevel() + 7));
|
||||
attackable.addDamageHate(isSummon() ? this : player, 0, (skillEffectPoint * 150) / (attackable.getLevel() + 7));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -6041,7 +6011,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
*/
|
||||
public double getLevelMod()
|
||||
{
|
||||
return ((getLevel() + 89) / 100d);
|
||||
return (getLevel() + 89) / 100d;
|
||||
}
|
||||
|
||||
public final void setSkillCast(Future<?> newSkillCast)
|
||||
@ -6075,7 +6045,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
final L2Weapon activeWeapon = getActiveWeaponItem();
|
||||
final int random = activeWeapon != null ? activeWeapon.getRandomDamage() : 5 + (int) Math.sqrt(getLevel());
|
||||
|
||||
return (1 + ((double) Rnd.get(0 - random, random) / 100));
|
||||
return 1 + ((double) Rnd.get(0 - random, random) / 100);
|
||||
}
|
||||
|
||||
public final long getAttackEndTime()
|
||||
@ -6318,7 +6288,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
|
||||
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion() && (Config.L2JMOD_CHAMPION_HP != 0))
|
||||
{
|
||||
getStatus().reduceHp((damage / Config.L2JMOD_CHAMPION_HP), attacker, awake, isDOT, false);
|
||||
getStatus().reduceHp(damage / Config.L2JMOD_CHAMPION_HP, attacker, awake, isDOT, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -6563,7 +6533,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
{
|
||||
try
|
||||
{
|
||||
if ((skill == null))
|
||||
if (skill == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -6828,7 +6798,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
return false;
|
||||
}
|
||||
final SkillHolder holder = getInvulAgainstSkills().get(skillId);
|
||||
return ((holder != null) && ((holder.getSkillLvl() < 1) || (holder.getSkillLvl() == skillLvl)));
|
||||
return (holder != null) && ((holder.getSkillLvl() < 1) || (holder.getSkillLvl() == skillLvl));
|
||||
}
|
||||
|
||||
private Map<Integer, InvulSkillHolder> getInvulAgainstSkills()
|
||||
@ -6871,8 +6841,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
||||
return globalListeners;
|
||||
}
|
||||
|
||||
final Queue<AbstractEventListener> both = new LinkedBlockingDeque<>(objectListenres.size() + templateListeners.size() + globalListeners.size());
|
||||
both.addAll(objectListenres);
|
||||
final Queue<AbstractEventListener> both = new LinkedBlockingDeque<>(objectListenres);
|
||||
both.addAll(templateListeners);
|
||||
both.addAll(globalListeners);
|
||||
return both;
|
||||
|
@ -246,15 +246,12 @@ public class L2Npc extends L2Character
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (!_npc.isInActiveRegion())
|
||||
{
|
||||
if (!_npc.isInActiveRegion())
|
||||
{
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(_npc.isDead() || _npc.isStunned() || _npc.isSleeping() || _npc.isParalyzed()))
|
||||
if (!_npc.isDead() && !_npc.isStunned() && !_npc.isSleeping() && !_npc.isParalyzed())
|
||||
{
|
||||
_npc.onRandomAnimation(Rnd.get(2, 3));
|
||||
}
|
||||
@ -309,7 +306,7 @@ public class L2Npc extends L2Character
|
||||
*/
|
||||
public boolean hasRandomAnimation()
|
||||
{
|
||||
return ((Config.MAX_NPC_ANIMATION > 0) && _isRandomAnimationEnabled && !getAiType().equals(AIType.CORPSE));
|
||||
return (Config.MAX_NPC_ANIMATION > 0) && _isRandomAnimationEnabled && !getAiType().equals(AIType.CORPSE);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -823,12 +820,9 @@ public class L2Npc extends L2Character
|
||||
return temp;
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (HtmCache.getInstance().isLoadable(temp))
|
||||
{
|
||||
if (HtmCache.getInstance().isLoadable(temp))
|
||||
{
|
||||
return temp;
|
||||
}
|
||||
return temp;
|
||||
}
|
||||
|
||||
// If the file is not found, the standard message "I have nothing to say to you" is returned
|
||||
@ -954,7 +948,7 @@ public class L2Npc extends L2Character
|
||||
return;
|
||||
}
|
||||
// Get the text of the selected HTML file in function of the npcId and of the page number
|
||||
filename = (getHtmlPath(npcId, val));
|
||||
filename = getHtmlPath(npcId, val);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1492,7 +1486,7 @@ public class L2Npc extends L2Character
|
||||
*/
|
||||
public boolean isInMySpawnGroup(L2Npc npc)
|
||||
{
|
||||
return ((getSpawn() != null) && (npc.getSpawn() != null) && (getSpawn().getName() != null) && (getSpawn().getName().equals(npc.getSpawn().getName())));
|
||||
return (getSpawn() != null) && (npc.getSpawn() != null) && (getSpawn().getName() != null) && getSpawn().getName().equals(npc.getSpawn().getName());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1500,7 +1494,7 @@ public class L2Npc extends L2Character
|
||||
*/
|
||||
public boolean staysInSpawnLoc()
|
||||
{
|
||||
return ((getSpawn() != null) && (getSpawn().getX(this) == getX()) && (getSpawn().getY(this) == getY()));
|
||||
return (getSpawn() != null) && (getSpawn().getX(this) == getX()) && (getSpawn().getY(this) == getY());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -180,7 +180,7 @@ public abstract class L2Playable extends L2Character
|
||||
{
|
||||
for (QuestState qs : actingPlayer.getNotifyQuestOfDeath())
|
||||
{
|
||||
qs.getQuest().notifyDeath((killer == null ? this : killer), this, qs);
|
||||
qs.getQuest().notifyDeath(killer == null ? this : killer, this, qs);
|
||||
}
|
||||
}
|
||||
// Notify instance
|
||||
|
@ -699,13 +699,10 @@ public abstract class L2Summon extends L2Playable
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else if ((!target.canBeAttacked() && !getOwner().getAccessLevel().allowPeaceAttack())//
|
||||
|| (!target.isAutoAttackable(this) && !forceUse && !target.isNpc() && (skill.getTargetType() != L2TargetType.AURA) && (skill.getTargetType() != L2TargetType.FRONT_AURA) && (skill.getTargetType() != L2TargetType.BEHIND_AURA) && (skill.getTargetType() != L2TargetType.CLAN) && (skill.getTargetType() != L2TargetType.PARTY) && (skill.getTargetType() != L2TargetType.SELF)))
|
||||
{
|
||||
if ((!target.canBeAttacked() && !getOwner().getAccessLevel().allowPeaceAttack())//
|
||||
|| (!target.isAutoAttackable(this) && !forceUse && !target.isNpc() && (skill.getTargetType() != L2TargetType.AURA) && (skill.getTargetType() != L2TargetType.FRONT_AURA) && (skill.getTargetType() != L2TargetType.BEHIND_AURA) && (skill.getTargetType() != L2TargetType.CLAN) && (skill.getTargetType() != L2TargetType.PARTY) && (skill.getTargetType() != L2TargetType.SELF)))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Notify the AI with AI_INTENTION_CAST and target
|
||||
@ -773,7 +770,7 @@ public abstract class L2Summon extends L2Playable
|
||||
sm.addNpcName(this);
|
||||
sm.addCharName(target);
|
||||
sm.addInt(damage);
|
||||
sm.addPopup(target.getObjectId(), getObjectId(), (damage * -1));
|
||||
sm.addPopup(target.getObjectId(), getObjectId(), damage * -1);
|
||||
}
|
||||
|
||||
sendPacket(sm);
|
||||
@ -912,16 +909,13 @@ public abstract class L2Summon extends L2Playable
|
||||
activeChar.sendPacket(new PetItemList(getInventory().getItems()));
|
||||
}
|
||||
}
|
||||
else if (isPet())
|
||||
{
|
||||
activeChar.sendPacket(new ExPetInfo(this, activeChar, 0));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isPet())
|
||||
{
|
||||
activeChar.sendPacket(new ExPetInfo(this, activeChar, 0));
|
||||
}
|
||||
else
|
||||
{
|
||||
activeChar.sendPacket(new SummonInfo(this, activeChar, 0));
|
||||
}
|
||||
activeChar.sendPacket(new SummonInfo(this, activeChar, 0));
|
||||
}
|
||||
}
|
||||
|
||||
@ -970,8 +964,7 @@ public abstract class L2Summon extends L2Playable
|
||||
{
|
||||
final L2PcInstance owner = getOwner();
|
||||
final L2Object target = getOwner().getTarget();
|
||||
if ((owner == null) || (target == null)//
|
||||
|| (Config.FACTION_SYSTEM_ENABLED && target.isPlayer() && ((owner.isGood() && target.getActingPlayer().isGood()) || (owner.isEvil() && target.getActingPlayer().isEvil()))))
|
||||
if ((owner == null) || (target == null) || (Config.FACTION_SYSTEM_ENABLED && target.isPlayer() && ((owner.isGood() && target.getActingPlayer().isGood()) || (owner.isEvil() && target.getActingPlayer().isEvil()))))
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -1063,13 +1056,7 @@ public abstract class L2Summon extends L2Playable
|
||||
return false;
|
||||
}
|
||||
|
||||
// Siege golems AI doesn't support attacking other than doors/walls at the moment.
|
||||
if (target.isDoor() && (getTemplate().getRace() != Race.SIEGE_WEAPON))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
return !target.isDoor() || (getTemplate().getRace() == Race.SIEGE_WEAPON);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -42,14 +42,14 @@ public abstract class L2Tower extends L2Npc
|
||||
public boolean canBeAttacked()
|
||||
{
|
||||
// Attackable during siege by attacker only
|
||||
return ((getCastle() != null) && (getCastle().getResidenceId() > 0) && getCastle().getSiege().isInProgress());
|
||||
return (getCastle() != null) && (getCastle().getResidenceId() > 0) && getCastle().getSiege().isInProgress();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(L2Character attacker)
|
||||
{
|
||||
// Attackable during siege by attacker only
|
||||
return ((attacker != null) && attacker.isPlayer() && (getCastle() != null) && (getCastle().getResidenceId() > 0) && getCastle().getSiege().isInProgress() && getCastle().getSiege().checkIsAttacker(((L2PcInstance) attacker).getClan()));
|
||||
return (attacker != null) && attacker.isPlayer() && (getCastle() != null) && (getCastle().getResidenceId() > 0) && getCastle().getSiege().isInProgress() && getCastle().getSiege().checkIsAttacker(((L2PcInstance) attacker).getClan());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -108,7 +108,7 @@ public final class L2AuctioneerInstance extends L2Npc
|
||||
html.replace("%AGIT_AUCTION_MIN%", String.valueOf(a.getStartingBid()));
|
||||
html.replace("%AGIT_AUCTION_DESC%", ClanHallManager.getInstance().getClanHallByOwner(player.getClan()).getDesc());
|
||||
html.replace("%AGIT_LINK_BACK%", "bypass -h npc_" + getObjectId() + "_sale2");
|
||||
html.replace("%objectId%", String.valueOf((getObjectId())));
|
||||
html.replace("%objectId%", String.valueOf(getObjectId()));
|
||||
player.sendPacket(html);
|
||||
}
|
||||
catch (Exception e)
|
||||
@ -172,7 +172,7 @@ public final class L2AuctioneerInstance extends L2Npc
|
||||
html.replace("%AGIT_LEASE%", String.valueOf(ClanHallManager.getInstance().getAuctionableHallById(a.getItemId()).getLease()));
|
||||
html.replace("%AGIT_LOCATION%", ClanHallManager.getInstance().getAuctionableHallById(a.getItemId()).getLocation());
|
||||
html.replace("%AGIT_AUCTION_END%", String.valueOf(format.format(a.getEndDate())));
|
||||
html.replace("%AGIT_AUCTION_REMAIN%", String.valueOf((a.getEndDate() - System.currentTimeMillis()) / 3600000) + " hours " + String.valueOf((((a.getEndDate() - System.currentTimeMillis()) / 60000) % 60)) + " minutes");
|
||||
html.replace("%AGIT_AUCTION_REMAIN%", String.valueOf((a.getEndDate() - System.currentTimeMillis()) / 3600000) + " hours " + String.valueOf(((a.getEndDate() - System.currentTimeMillis()) / 60000) % 60) + " minutes");
|
||||
html.replace("%AGIT_AUCTION_MINBID%", String.valueOf(a.getStartingBid()));
|
||||
html.replace("%AGIT_AUCTION_COUNT%", String.valueOf(a.getBidders().size()));
|
||||
html.replace("%AGIT_AUCTION_DESC%", ClanHallManager.getInstance().getAuctionableHallById(a.getItemId()).getDesc());
|
||||
@ -205,7 +205,7 @@ public final class L2AuctioneerInstance extends L2Npc
|
||||
final int auctionId = Integer.parseInt(val);
|
||||
try
|
||||
{
|
||||
ClanHallAuctionManager.getInstance().getAuction(auctionId).setBid(player, (st.countTokens() >= 1 ? Math.min(Long.parseLong(st.nextToken()), MAX_ADENA) : 0));
|
||||
ClanHallAuctionManager.getInstance().getAuction(auctionId).setBid(player, st.countTokens() >= 1 ? Math.min(Long.parseLong(st.nextToken()), MAX_ADENA) : 0);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@ -403,7 +403,7 @@ public final class L2AuctioneerInstance extends L2Npc
|
||||
html.replace("%AGIT_LEASE%", String.valueOf(ClanHallManager.getInstance().getAuctionableHallById(a.getItemId()).getLease()));
|
||||
html.replace("%AGIT_LOCATION%", ClanHallManager.getInstance().getAuctionableHallById(a.getItemId()).getLocation());
|
||||
html.replace("%AGIT_AUCTION_END%", String.valueOf(format.format(a.getEndDate())));
|
||||
html.replace("%AGIT_AUCTION_REMAIN%", String.valueOf((a.getEndDate() - System.currentTimeMillis()) / 3600000) + " hours " + String.valueOf((((a.getEndDate() - System.currentTimeMillis()) / 60000) % 60)) + " minutes");
|
||||
html.replace("%AGIT_AUCTION_REMAIN%", String.valueOf((a.getEndDate() - System.currentTimeMillis()) / 3600000) + " hours " + String.valueOf(((a.getEndDate() - System.currentTimeMillis()) / 60000) % 60) + " minutes");
|
||||
html.replace("%AGIT_AUCTION_MINBID%", String.valueOf(a.getStartingBid()));
|
||||
html.replace("%AGIT_AUCTION_MYBID%", String.valueOf(a.getBidders().get(player.getClanId()).getBid()));
|
||||
html.replace("%AGIT_AUCTION_DESC%", ClanHallManager.getInstance().getAuctionableHallById(a.getItemId()).getDesc());
|
||||
@ -434,7 +434,7 @@ public final class L2AuctioneerInstance extends L2Npc
|
||||
html.replace("%AGIT_LEASE%", String.valueOf(ClanHallManager.getInstance().getAuctionableHallById(a.getItemId()).getLease()));
|
||||
html.replace("%AGIT_LOCATION%", ClanHallManager.getInstance().getAuctionableHallById(a.getItemId()).getLocation());
|
||||
html.replace("%AGIT_AUCTION_END%", String.valueOf(format.format(a.getEndDate())));
|
||||
html.replace("%AGIT_AUCTION_REMAIN%", String.valueOf((a.getEndDate() - System.currentTimeMillis()) / 3600000) + " hours " + String.valueOf((((a.getEndDate() - System.currentTimeMillis()) / 60000) % 60)) + " minutes");
|
||||
html.replace("%AGIT_AUCTION_REMAIN%", String.valueOf((a.getEndDate() - System.currentTimeMillis()) / 3600000) + " hours " + String.valueOf(((a.getEndDate() - System.currentTimeMillis()) / 60000) % 60) + " minutes");
|
||||
html.replace("%AGIT_AUCTION_MINBID%", String.valueOf(a.getStartingBid()));
|
||||
html.replace("%AGIT_AUCTION_BIDCOUNT%", String.valueOf(a.getBidders().size()));
|
||||
html.replace("%AGIT_AUCTION_DESC%", ClanHallManager.getInstance().getAuctionableHallById(a.getItemId()).getDesc());
|
||||
|
@ -113,17 +113,14 @@ public final class L2BabyPetInstance extends L2PetInstance
|
||||
_minorHeal = _majorHeal;
|
||||
healPower = skill.getPower();
|
||||
}
|
||||
// another heal skill found - search for most powerful
|
||||
else if (skill.getPower() > healPower)
|
||||
{
|
||||
_majorHeal = new SkillHolder(skill);
|
||||
}
|
||||
else
|
||||
{
|
||||
// another heal skill found - search for most powerful
|
||||
if (skill.getPower() > healPower)
|
||||
{
|
||||
_majorHeal = new SkillHolder(skill);
|
||||
}
|
||||
else
|
||||
{
|
||||
_minorHeal = new SkillHolder(skill);
|
||||
}
|
||||
_minorHeal = new SkillHolder(skill);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
@ -130,19 +130,16 @@ public class L2ClanHallDoormenInstance extends L2DoormenInstance
|
||||
html.setFile(player.getHtmlPrefix(), _hasEvolve ? "html/clanHallDoormen/doormen2.htm" : "html/clanHallDoormen/doormen1.htm");
|
||||
html.replace("%clanname%", owner.getName());
|
||||
}
|
||||
else if ((owner != null) && (owner.getLeader() != null))
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/clanHallDoormen/doormen-no.htm");
|
||||
html.replace("%leadername%", owner.getLeaderName());
|
||||
html.replace("%clanname%", owner.getName());
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((owner != null) && (owner.getLeader() != null))
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/clanHallDoormen/doormen-no.htm");
|
||||
html.replace("%leadername%", owner.getLeaderName());
|
||||
html.replace("%clanname%", owner.getName());
|
||||
}
|
||||
else
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/clanHallDoormen/emptyowner.htm");
|
||||
html.replace("%hallname%", getClanHall().getName());
|
||||
}
|
||||
html.setFile(player.getHtmlPrefix(), "html/clanHallDoormen/emptyowner.htm");
|
||||
html.replace("%hallname%", getClanHall().getName());
|
||||
}
|
||||
|
||||
html.replace("%objectId%", String.valueOf(getObjectId()));
|
||||
|
@ -161,13 +161,13 @@ public class L2ClanHallManagerInstance extends L2MerchantInstance
|
||||
if (val.equalsIgnoreCase("tele"))
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
|
||||
if (getClanHall().getFunction(ClanHall.FUNC_TELEPORT) == null)
|
||||
if (getClanHall().getFunction(ClanHall.FUNC_TELEPORT) != null)
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/clanHallManager/chamberlain-nac.htm");
|
||||
html.setFile(player.getHtmlPrefix(), "html/clanHallManager/tele" + getClanHall().getLocation() + getClanHall().getFunction(ClanHall.FUNC_TELEPORT).getLvl() + ".htm");
|
||||
}
|
||||
else
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/clanHallManager/tele" + getClanHall().getLocation() + getClanHall().getFunction(ClanHall.FUNC_TELEPORT).getLvl() + ".htm");
|
||||
html.setFile(player.getHtmlPrefix(), "html/clanHallManager/chamberlain-nac.htm");
|
||||
}
|
||||
sendHtmlMessage(player, html);
|
||||
}
|
||||
@ -184,7 +184,7 @@ public class L2ClanHallManagerInstance extends L2MerchantInstance
|
||||
{
|
||||
return;
|
||||
}
|
||||
showBuyWindow(player, (Integer.parseInt(st.nextToken()) + (getClanHall().getFunction(ClanHall.FUNC_ITEM_CREATE).getLvl() * 100000)));
|
||||
showBuyWindow(player, Integer.parseInt(st.nextToken()) + (getClanHall().getFunction(ClanHall.FUNC_ITEM_CREATE).getLvl() * 100000));
|
||||
}
|
||||
else if (val.equalsIgnoreCase("support"))
|
||||
{
|
||||
@ -523,7 +523,7 @@ public class L2ClanHallManagerInstance extends L2MerchantInstance
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!getClanHall().updateFunctions(player, ClanHall.FUNC_RESTORE_HP, percent, fee, Config.CH_HPREG_FEE_RATIO, (getClanHall().getFunction(ClanHall.FUNC_RESTORE_HP) == null)))
|
||||
if (!getClanHall().updateFunctions(player, ClanHall.FUNC_RESTORE_HP, percent, fee, Config.CH_HPREG_FEE_RATIO, getClanHall().getFunction(ClanHall.FUNC_RESTORE_HP) == null))
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/clanHallManager/low_adena.htm");
|
||||
sendHtmlMessage(player, html);
|
||||
@ -590,7 +590,7 @@ public class L2ClanHallManagerInstance extends L2MerchantInstance
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!getClanHall().updateFunctions(player, ClanHall.FUNC_RESTORE_MP, percent, fee, Config.CH_MPREG_FEE_RATIO, (getClanHall().getFunction(ClanHall.FUNC_RESTORE_MP) == null)))
|
||||
if (!getClanHall().updateFunctions(player, ClanHall.FUNC_RESTORE_MP, percent, fee, Config.CH_MPREG_FEE_RATIO, getClanHall().getFunction(ClanHall.FUNC_RESTORE_MP) == null))
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/clanHallManager/low_adena.htm");
|
||||
sendHtmlMessage(player, html);
|
||||
@ -667,7 +667,7 @@ public class L2ClanHallManagerInstance extends L2MerchantInstance
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!getClanHall().updateFunctions(player, ClanHall.FUNC_RESTORE_EXP, percent, fee, Config.CH_EXPREG_FEE_RATIO, (getClanHall().getFunction(ClanHall.FUNC_RESTORE_EXP) == null)))
|
||||
if (!getClanHall().updateFunctions(player, ClanHall.FUNC_RESTORE_EXP, percent, fee, Config.CH_EXPREG_FEE_RATIO, getClanHall().getFunction(ClanHall.FUNC_RESTORE_EXP) == null))
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/clanHallManager/low_adena.htm");
|
||||
sendHtmlMessage(player, html);
|
||||
@ -1064,7 +1064,7 @@ public class L2ClanHallManagerInstance extends L2MerchantInstance
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!getClanHall().updateFunctions(player, ClanHall.FUNC_ITEM_CREATE, lvl, fee, Config.CH_ITEM_FEE_RATIO, (getClanHall().getFunction(ClanHall.FUNC_ITEM_CREATE) == null)))
|
||||
if (!getClanHall().updateFunctions(player, ClanHall.FUNC_ITEM_CREATE, lvl, fee, Config.CH_ITEM_FEE_RATIO, getClanHall().getFunction(ClanHall.FUNC_ITEM_CREATE) == null))
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/clanHallManager/low_adena.htm");
|
||||
sendHtmlMessage(player, html);
|
||||
@ -1116,7 +1116,7 @@ public class L2ClanHallManagerInstance extends L2MerchantInstance
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!getClanHall().updateFunctions(player, ClanHall.FUNC_TELEPORT, lvl, fee, Config.CH_TELE_FEE_RATIO, (getClanHall().getFunction(ClanHall.FUNC_TELEPORT) == null)))
|
||||
if (!getClanHall().updateFunctions(player, ClanHall.FUNC_TELEPORT, lvl, fee, Config.CH_TELE_FEE_RATIO, getClanHall().getFunction(ClanHall.FUNC_TELEPORT) == null))
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/clanHallManager/low_adena.htm");
|
||||
sendHtmlMessage(player, html);
|
||||
@ -1198,7 +1198,7 @@ public class L2ClanHallManagerInstance extends L2MerchantInstance
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!getClanHall().updateFunctions(player, ClanHall.FUNC_SUPPORT, lvl, fee, Config.CH_SUPPORT_FEE_RATIO, (getClanHall().getFunction(ClanHall.FUNC_SUPPORT) == null)))
|
||||
if (!getClanHall().updateFunctions(player, ClanHall.FUNC_SUPPORT, lvl, fee, Config.CH_SUPPORT_FEE_RATIO, getClanHall().getFunction(ClanHall.FUNC_SUPPORT) == null))
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/clanHallManager/low_adena.htm");
|
||||
sendHtmlMessage(player, html);
|
||||
@ -1421,7 +1421,7 @@ public class L2ClanHallManagerInstance extends L2MerchantInstance
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!getClanHall().updateFunctions(player, ClanHall.FUNC_DECO_CURTAINS, lvl, fee, Config.CH_CURTAIN_FEE_RATIO, (getClanHall().getFunction(ClanHall.FUNC_DECO_CURTAINS) == null)))
|
||||
if (!getClanHall().updateFunctions(player, ClanHall.FUNC_DECO_CURTAINS, lvl, fee, Config.CH_CURTAIN_FEE_RATIO, getClanHall().getFunction(ClanHall.FUNC_DECO_CURTAINS) == null))
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/clanHallManager/low_adena.htm");
|
||||
sendHtmlMessage(player, html);
|
||||
@ -1473,7 +1473,7 @@ public class L2ClanHallManagerInstance extends L2MerchantInstance
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!getClanHall().updateFunctions(player, ClanHall.FUNC_DECO_FRONTPLATEFORM, lvl, fee, Config.CH_FRONT_FEE_RATIO, (getClanHall().getFunction(ClanHall.FUNC_DECO_FRONTPLATEFORM) == null)))
|
||||
if (!getClanHall().updateFunctions(player, ClanHall.FUNC_DECO_FRONTPLATEFORM, lvl, fee, Config.CH_FRONT_FEE_RATIO, getClanHall().getFunction(ClanHall.FUNC_DECO_FRONTPLATEFORM) == null))
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/clanHallManager/low_adena.htm");
|
||||
sendHtmlMessage(player, html);
|
||||
@ -1602,7 +1602,7 @@ public class L2ClanHallManagerInstance extends L2MerchantInstance
|
||||
if (actualCommand.equalsIgnoreCase("list_back"))
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
|
||||
final String file = !HtmCache.getInstance().isLoadable(("html/clanHallManager/chamberlain-" + getId() + ".htm")) ? "html/clanHallManager/chamberlain.htm" : "html/clanHallManager/chamberlain-" + getId() + ".htm";
|
||||
final String file = !HtmCache.getInstance().isLoadable("html/clanHallManager/chamberlain-" + getId() + ".htm") ? "html/clanHallManager/chamberlain.htm" : "html/clanHallManager/chamberlain-" + getId() + ".htm";
|
||||
html.setFile(player.getHtmlPrefix(), file);
|
||||
html.replace("%objectId%", String.valueOf(getObjectId()));
|
||||
html.replace("%npcname%", getName());
|
||||
|
@ -129,7 +129,7 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
|
||||
}
|
||||
}
|
||||
|
||||
public static final void onTutorialLink(L2PcInstance player, String request)
|
||||
public static void onTutorialLink(L2PcInstance player, String request)
|
||||
{
|
||||
if (!Config.ALTERNATE_CLASS_MASTER || (request == null) || !request.startsWith("AlternateClassMaster"))
|
||||
{
|
||||
@ -152,7 +152,7 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
|
||||
player.sendPacket(TutorialCloseHtml.STATIC_PACKET);
|
||||
}
|
||||
|
||||
public static final void onTutorialQuestionMark(L2PcInstance player, int number)
|
||||
public static void onTutorialQuestionMark(L2PcInstance player, int number)
|
||||
{
|
||||
if (!Config.ALTERNATE_CLASS_MASTER || (number != 1001))
|
||||
{
|
||||
@ -162,7 +162,7 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
|
||||
showTutorialHtml(player);
|
||||
}
|
||||
|
||||
public static final void showQuestionMark(L2PcInstance player)
|
||||
public static void showQuestionMark(L2PcInstance player)
|
||||
{
|
||||
if (!Config.ALTERNATE_CLASS_MASTER)
|
||||
{
|
||||
@ -178,7 +178,7 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
|
||||
player.sendPacket(new TutorialShowQuestionMark(1001));
|
||||
}
|
||||
|
||||
private static final void showHtmlMenu(L2PcInstance player, int objectId, int level)
|
||||
private static void showHtmlMenu(L2PcInstance player, int objectId, int level)
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(objectId);
|
||||
|
||||
@ -311,17 +311,14 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
|
||||
html.replace("%level%", String.valueOf(getMinLevel(level - 1, player)));
|
||||
}
|
||||
}
|
||||
else if (minLevel < Integer.MAX_VALUE)
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/classmaster/comebacklater.htm");
|
||||
html.replace("%level%", String.valueOf(minLevel));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (minLevel < Integer.MAX_VALUE)
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/classmaster/comebacklater.htm");
|
||||
html.replace("%level%", String.valueOf(minLevel));
|
||||
}
|
||||
else
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/classmaster/nomore.htm");
|
||||
}
|
||||
html.setFile(player.getHtmlPrefix(), "html/classmaster/nomore.htm");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -331,7 +328,7 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
|
||||
player.sendPacket(html);
|
||||
}
|
||||
|
||||
private static final void showTutorialHtml(L2PcInstance player)
|
||||
private static void showTutorialHtml(L2PcInstance player)
|
||||
{
|
||||
final ClassId currentClassId = player.getClassId();
|
||||
if ((getMinLevel(currentClassId.level(), player) > player.getLevel()) && !Config.ALLOW_ENTIRE_TREE)
|
||||
@ -358,7 +355,7 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
|
||||
player.sendPacket(new NpcHtmlMessage(msg));
|
||||
}
|
||||
|
||||
private static final boolean checkAndChangeClass(L2PcInstance player, int val)
|
||||
private static boolean checkAndChangeClass(L2PcInstance player, int val)
|
||||
{
|
||||
final ClassId currentClassId = player.getClassId();
|
||||
if (((getMinLevel(currentClassId.level(), player) > player.getLevel()) && !Config.ALLOW_ENTIRE_TREE) || !validateClassId(currentClassId, val))
|
||||
@ -432,7 +429,7 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
|
||||
* @param player L2PcInstance
|
||||
* @return minimum player level required for next class transfer
|
||||
*/
|
||||
private static final int getMinLevel(int level, L2PcInstance player)
|
||||
private static int getMinLevel(int level, L2PcInstance player)
|
||||
{
|
||||
if (player.getRace() == Race.ERTHEIA)
|
||||
{
|
||||
@ -487,7 +484,7 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
|
||||
* @param val new class index
|
||||
* @return
|
||||
*/
|
||||
private static final boolean validateClassId(ClassId oldCID, int val)
|
||||
private static boolean validateClassId(ClassId oldCID, int val)
|
||||
{
|
||||
return validateClassId(oldCID, ClassId.getClassId(val));
|
||||
}
|
||||
@ -498,7 +495,7 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
|
||||
* @param newCID new ClassId
|
||||
* @return true if class change is possible
|
||||
*/
|
||||
private static final boolean validateClassId(ClassId oldCID, ClassId newCID)
|
||||
private static boolean validateClassId(ClassId oldCID, ClassId newCID)
|
||||
{
|
||||
if ((newCID == null) || (newCID.getRace() == null))
|
||||
{
|
||||
|
@ -76,12 +76,7 @@ public class L2ControllableAirShipInstance extends L2AirShipInstance
|
||||
@Override
|
||||
public boolean isOwner(L2PcInstance player)
|
||||
{
|
||||
if (_ownerId == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return (player.getClanId() == _ownerId) || (player.getObjectId() == _ownerId);
|
||||
return (_ownerId != 0) && ((player.getClanId() == _ownerId) || (player.getObjectId() == _ownerId));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -121,76 +116,73 @@ public class L2ControllableAirShipInstance extends L2AirShipInstance
|
||||
{
|
||||
_captain = null;
|
||||
}
|
||||
else
|
||||
else if ((_captain == null) && (player.getAirShip() == this))
|
||||
{
|
||||
if ((_captain == null) && (player.getAirShip() == this))
|
||||
{
|
||||
final int x = player.getInVehiclePosition().getX() - 0x16e;
|
||||
final int y = player.getInVehiclePosition().getY();
|
||||
final int z = player.getInVehiclePosition().getZ() - 0x6b;
|
||||
if (((x * x) + (y * y) + (z * z)) > 2500)
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_BECAUSE_YOU_ARE_TOO_FAR);
|
||||
return false;
|
||||
}
|
||||
// TODO: Missing message ID: 2739 Message: You cannot control the helm because you do not meet the requirements.
|
||||
else if (player.isInCombat())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_IN_A_BATTLE);
|
||||
return false;
|
||||
}
|
||||
else if (player.isSitting())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_IN_A_SITTING_POSITION);
|
||||
return false;
|
||||
}
|
||||
else if (player.isParalyzed())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_YOU_ARE_PETRIFIED);
|
||||
return false;
|
||||
}
|
||||
else if (player.isCursedWeaponEquipped())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_A_CURSED_WEAPON_IS_EQUIPPED);
|
||||
return false;
|
||||
}
|
||||
else if (player.isFishing())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_FISHING);
|
||||
return false;
|
||||
}
|
||||
else if (player.isDead() || player.isFakeDeath())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHEN_YOU_ARE_DEAD);
|
||||
return false;
|
||||
}
|
||||
else if (player.isCastingNow())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_USING_A_SKILL);
|
||||
return false;
|
||||
}
|
||||
else if (player.isTransformed())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_TRANSFORMED);
|
||||
return false;
|
||||
}
|
||||
else if (player.isCombatFlagEquipped())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_HOLDING_A_FLAG);
|
||||
return false;
|
||||
}
|
||||
else if (player.isInDuel())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_IN_A_DUEL);
|
||||
return false;
|
||||
}
|
||||
_captain = player;
|
||||
player.broadcastUserInfo();
|
||||
}
|
||||
else
|
||||
final int x = player.getInVehiclePosition().getX() - 0x16e;
|
||||
final int y = player.getInVehiclePosition().getY();
|
||||
final int z = player.getInVehiclePosition().getZ() - 0x6b;
|
||||
if (((x * x) + (y * y) + (z * z)) > 2500)
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_BECAUSE_YOU_ARE_TOO_FAR);
|
||||
return false;
|
||||
}
|
||||
// TODO: Missing message ID: 2739 Message: You cannot control the helm because you do not meet the requirements.
|
||||
else if (player.isInCombat())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_IN_A_BATTLE);
|
||||
return false;
|
||||
}
|
||||
else if (player.isSitting())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_IN_A_SITTING_POSITION);
|
||||
return false;
|
||||
}
|
||||
else if (player.isParalyzed())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_YOU_ARE_PETRIFIED);
|
||||
return false;
|
||||
}
|
||||
else if (player.isCursedWeaponEquipped())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_A_CURSED_WEAPON_IS_EQUIPPED);
|
||||
return false;
|
||||
}
|
||||
else if (player.isFishing())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_FISHING);
|
||||
return false;
|
||||
}
|
||||
else if (player.isDead() || player.isFakeDeath())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHEN_YOU_ARE_DEAD);
|
||||
return false;
|
||||
}
|
||||
else if (player.isCastingNow())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_USING_A_SKILL);
|
||||
return false;
|
||||
}
|
||||
else if (player.isTransformed())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_TRANSFORMED);
|
||||
return false;
|
||||
}
|
||||
else if (player.isCombatFlagEquipped())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_HOLDING_A_FLAG);
|
||||
return false;
|
||||
}
|
||||
else if (player.isInDuel())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_IN_A_DUEL);
|
||||
return false;
|
||||
}
|
||||
_captain = player;
|
||||
player.broadcastUserInfo();
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
updateAbnormalVisualEffects();
|
||||
return true;
|
||||
|
@ -377,7 +377,7 @@ public final class L2CubicInstance implements IIdentifiable
|
||||
if (ownerTarget.getActingPlayer() != null)
|
||||
{
|
||||
final L2PcInstance target = ownerTarget.getActingPlayer();
|
||||
if (enemyTeam.containsPlayer(target.getObjectId()) && !(target.isDead()))
|
||||
if (enemyTeam.containsPlayer(target.getObjectId()) && !target.isDead())
|
||||
{
|
||||
_target = (L2Character) ownerTarget;
|
||||
}
|
||||
@ -414,24 +414,21 @@ public final class L2CubicInstance implements IIdentifiable
|
||||
partyEnemy = partyA;
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (PlayerA == _owner)
|
||||
{
|
||||
if (PlayerA == _owner)
|
||||
if (partyB != null)
|
||||
{
|
||||
if (partyB != null)
|
||||
{
|
||||
partyEnemy = partyB;
|
||||
}
|
||||
else
|
||||
{
|
||||
_target = PlayerB;
|
||||
}
|
||||
partyEnemy = partyB;
|
||||
}
|
||||
else
|
||||
{
|
||||
_target = PlayerA;
|
||||
_target = PlayerB;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_target = PlayerA;
|
||||
}
|
||||
if (((_target == PlayerA) || (_target == PlayerB)) && (_target == ownerTarget))
|
||||
{
|
||||
return;
|
||||
@ -682,9 +679,9 @@ public final class L2CubicInstance implements IIdentifiable
|
||||
}
|
||||
|
||||
// TODO: Unhardcode fixed value
|
||||
final double hpAdd = (0.4 * damage);
|
||||
final double hpAdd = 0.4 * damage;
|
||||
final L2PcInstance owner = _owner;
|
||||
final double hp = ((owner.getCurrentHp() + hpAdd) > owner.getMaxHp() ? owner.getMaxHp() : (owner.getCurrentHp() + hpAdd));
|
||||
final double hp = (owner.getCurrentHp() + hpAdd) > owner.getMaxHp() ? owner.getMaxHp() : (owner.getCurrentHp() + hpAdd);
|
||||
|
||||
owner.setCurrentHp(hp);
|
||||
|
||||
@ -738,12 +735,9 @@ public final class L2CubicInstance implements IIdentifiable
|
||||
_log.info("Disablers: useCubicSkill() -> success");
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (Config.DEBUG)
|
||||
{
|
||||
if (Config.DEBUG)
|
||||
{
|
||||
_log.info("Disablers: useCubicSkill() -> failed");
|
||||
}
|
||||
_log.info("Disablers: useCubicSkill() -> failed");
|
||||
}
|
||||
}
|
||||
|
||||
@ -764,12 +758,9 @@ public final class L2CubicInstance implements IIdentifiable
|
||||
_log.info("Disablers: useCubicSkill() -> success");
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (Config.DEBUG)
|
||||
{
|
||||
if (Config.DEBUG)
|
||||
{
|
||||
_log.info("Disablers: useCubicSkill() -> failed");
|
||||
}
|
||||
_log.info("Disablers: useCubicSkill() -> failed");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -791,11 +782,11 @@ public final class L2CubicInstance implements IIdentifiable
|
||||
// temporary range check until real behavior of cubics is known/coded
|
||||
final int range = MAX_MAGIC_RANGE;
|
||||
|
||||
x = (owner.getX() - target.getX());
|
||||
y = (owner.getY() - target.getY());
|
||||
z = (owner.getZ() - target.getZ());
|
||||
x = owner.getX() - target.getX();
|
||||
y = owner.getY() - target.getY();
|
||||
z = owner.getZ() - target.getZ();
|
||||
|
||||
return (((x * x) + (y * y) + (z * z)) <= (range * range));
|
||||
return ((x * x) + (y * y) + (z * z)) <= (range * range);
|
||||
}
|
||||
|
||||
/** this sets the friendly target for a cubic */
|
||||
@ -815,7 +806,7 @@ public final class L2CubicInstance implements IIdentifiable
|
||||
{
|
||||
if (!partyMember.isDead() && isInCubicRange(_owner, partyMember) && (partyMember.getCurrentHp() < partyMember.getMaxHp()) && (percentleft > (partyMember.getCurrentHp() / partyMember.getMaxHp())))
|
||||
{
|
||||
percentleft = (partyMember.getCurrentHp() / partyMember.getMaxHp());
|
||||
percentleft = partyMember.getCurrentHp() / partyMember.getMaxHp();
|
||||
target = partyMember;
|
||||
}
|
||||
final L2Summon pet = partyMember.getPet();
|
||||
@ -830,7 +821,7 @@ public final class L2CubicInstance implements IIdentifiable
|
||||
// the lowest HP
|
||||
if ((pet.getCurrentHp() < pet.getMaxHp()) && (percentleft > (pet.getCurrentHp() / pet.getMaxHp())))
|
||||
{
|
||||
percentleft = (pet.getCurrentHp() / pet.getMaxHp());
|
||||
percentleft = pet.getCurrentHp() / pet.getMaxHp();
|
||||
target = pet;
|
||||
}
|
||||
}
|
||||
@ -845,7 +836,7 @@ public final class L2CubicInstance implements IIdentifiable
|
||||
// the lowest HP
|
||||
if ((s.getCurrentHp() < s.getMaxHp()) && (percentleft > (s.getCurrentHp() / s.getMaxHp())))
|
||||
{
|
||||
percentleft = (s.getCurrentHp() / s.getMaxHp());
|
||||
percentleft = s.getCurrentHp() / s.getMaxHp();
|
||||
target = s;
|
||||
}
|
||||
}
|
||||
@ -855,7 +846,7 @@ public final class L2CubicInstance implements IIdentifiable
|
||||
{
|
||||
if (_owner.getCurrentHp() < _owner.getMaxHp())
|
||||
{
|
||||
percentleft = (_owner.getCurrentHp() / _owner.getMaxHp());
|
||||
percentleft = _owner.getCurrentHp() / _owner.getMaxHp();
|
||||
target = _owner;
|
||||
}
|
||||
for (L2Summon summon : _owner.getServitors().values())
|
||||
|
@ -95,10 +95,10 @@ public class L2DefenderInstance extends L2Attackable
|
||||
// Check if siege is in progress
|
||||
if (((_fort != null) && _fort.getZone().isActive()) || ((_castle != null) && _castle.getZone().isActive()) || ((_hall != null) && _hall.getSiegeZone().isActive()))
|
||||
{
|
||||
final int activeSiegeId = (_fort != null ? _fort.getResidenceId() : (_castle != null ? _castle.getResidenceId() : (_hall != null ? _hall.getId() : 0)));
|
||||
final int activeSiegeId = _fort != null ? _fort.getResidenceId() : (_castle != null ? _castle.getResidenceId() : (_hall != null ? _hall.getId() : 0));
|
||||
|
||||
// Check if player is an enemy of this defender npc
|
||||
if ((player != null) && (((player.getSiegeState() == 2) && !player.isRegisteredOnThisSiegeField(activeSiegeId)) || ((player.getSiegeState() == 1)) || (player.getSiegeState() == 0)))
|
||||
if ((player != null) && (((player.getSiegeState() == 2) && !player.isRegisteredOnThisSiegeField(activeSiegeId)) || (player.getSiegeState() == 1) || (player.getSiegeState() == 0)))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -203,7 +203,7 @@ public class L2DefenderInstance extends L2Attackable
|
||||
// Check if siege is in progress
|
||||
if (((_fort != null) && _fort.getZone().isActive()) || ((_castle != null) && _castle.getZone().isActive()) || ((_hall != null) && _hall.getSiegeZone().isActive()))
|
||||
{
|
||||
final int activeSiegeId = (_fort != null ? _fort.getResidenceId() : (_castle != null ? _castle.getResidenceId() : (_hall != null ? _hall.getId() : 0)));
|
||||
final int activeSiegeId = _fort != null ? _fort.getResidenceId() : (_castle != null ? _castle.getResidenceId() : (_hall != null ? _hall.getId() : 0));
|
||||
if ((player != null) && (player.getSiegeState() == 2) && player.isRegisteredOnThisSiegeField(activeSiegeId))
|
||||
{
|
||||
return;
|
||||
|
@ -319,13 +319,9 @@ public class L2DoorInstance extends L2Character
|
||||
|
||||
public boolean isEnemy()
|
||||
{
|
||||
if (((getCastle() != null) && (getCastle().getResidenceId() > 0) && getCastle().getZone().isActive() && getIsShowHp())//
|
||||
return ((getCastle() != null) && (getCastle().getResidenceId() > 0) && getCastle().getZone().isActive() && getIsShowHp())//
|
||||
|| ((getFort() != null) && (getFort().getResidenceId() > 0) && getFort().getZone().isActive() && getIsShowHp())//
|
||||
|| ((getClanHall() != null) && getClanHall().isSiegableHall() && ((SiegableHall) getClanHall()).getSiegeZone().isActive() && getIsShowHp()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|| ((getClanHall() != null) && getClanHall().isSiegableHall() && ((SiegableHall) getClanHall()).getSiegeZone().isActive() && getIsShowHp());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -351,15 +347,11 @@ public class L2DoorInstance extends L2Character
|
||||
if (getClanHall() != null)
|
||||
{
|
||||
final SiegableHall hall = (SiegableHall) getClanHall();
|
||||
if (!hall.isSiegableHall())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return hall.isInSiege() && hall.getSiege().doorIsAutoAttackable() && hall.getSiege().checkIsAttacker(actingPlayer.getClan());
|
||||
return hall.isSiegableHall() && hall.isInSiege() && hall.getSiege().doorIsAutoAttackable() && hall.getSiege().checkIsAttacker(actingPlayer.getClan());
|
||||
}
|
||||
// Attackable only during siege by everyone (not owner)
|
||||
final boolean isCastle = ((getCastle() != null) && (getCastle().getResidenceId() > 0) && getCastle().getZone().isActive());
|
||||
final boolean isFort = ((getFort() != null) && (getFort().getResidenceId() > 0) && getFort().getZone().isActive());
|
||||
final boolean isCastle = (getCastle() != null) && (getCastle().getResidenceId() > 0) && getCastle().getZone().isActive();
|
||||
final boolean isFort = (getFort() != null) && (getFort().getResidenceId() > 0) && getFort().getZone().isActive();
|
||||
|
||||
if (isFort)
|
||||
{
|
||||
@ -377,7 +369,7 @@ public class L2DoorInstance extends L2Character
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return (isCastle || isFort);
|
||||
return isCastle || isFort;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -432,7 +424,7 @@ public class L2DoorInstance extends L2Character
|
||||
continue;
|
||||
}
|
||||
|
||||
if (player.isGM() || (((getCastle() != null) && (getCastle().getResidenceId() > 0)) || ((getFort() != null) && (getFort().getResidenceId() > 0))))
|
||||
if (player.isGM() || ((getCastle() != null) && (getCastle().getResidenceId() > 0)) || ((getFort() != null) && (getFort().getResidenceId() > 0)))
|
||||
{
|
||||
player.sendPacket(targetableSu);
|
||||
}
|
||||
@ -623,9 +615,9 @@ public class L2DoorInstance extends L2Character
|
||||
return false;
|
||||
}
|
||||
|
||||
final boolean isFort = ((getFort() != null) && (getFort().getResidenceId() > 0) && getFort().getSiege().isInProgress());
|
||||
final boolean isCastle = ((getCastle() != null) && (getCastle().getResidenceId() > 0) && getCastle().getSiege().isInProgress());
|
||||
final boolean isHall = ((getClanHall() != null) && getClanHall().isSiegableHall() && ((SiegableHall) getClanHall()).isInSiege());
|
||||
final boolean isFort = (getFort() != null) && (getFort().getResidenceId() > 0) && getFort().getSiege().isInProgress();
|
||||
final boolean isCastle = (getCastle() != null) && (getCastle().getResidenceId() > 0) && getCastle().getSiege().isInProgress();
|
||||
final boolean isHall = (getClanHall() != null) && getClanHall().isSiegableHall() && ((SiegableHall) getClanHall()).isInSiege();
|
||||
|
||||
if (isFort || isCastle || isHall)
|
||||
{
|
||||
|
@ -53,13 +53,7 @@ public class L2FortCommanderInstance extends L2DefenderInstance
|
||||
@Override
|
||||
public boolean isAutoAttackable(L2Character attacker)
|
||||
{
|
||||
if ((attacker == null) || !(attacker instanceof L2PcInstance))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Attackable during siege by all except defenders
|
||||
return ((getFort() != null) && (getFort().getResidenceId() > 0) && getFort().getSiege().isInProgress() && !getFort().getSiege().checkIsDefender(((L2PcInstance) attacker).getClan()));
|
||||
return (attacker instanceof L2PcInstance) && (getFort() != null) && (getFort().getResidenceId() > 0) && getFort().getSiege().isInProgress() && !getFort().getSiege().checkIsDefender(((L2PcInstance) attacker).getClan());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -103,49 +103,34 @@ public class L2FortManagerInstance extends L2MerchantInstance
|
||||
}
|
||||
if (actualCommand.equalsIgnoreCase("banish_foreigner"))
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
|
||||
if (player.hasClanPrivilege(ClanPrivilege.CS_DISMISS))
|
||||
{
|
||||
getFort().banishForeigners(); // Move non-clan members off fortress area
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
|
||||
html.setFile(player.getHtmlPrefix(), "html/fortress/foreman-expeled.htm");
|
||||
html.replace("%objectId%", String.valueOf(getObjectId()));
|
||||
player.sendPacket(html);
|
||||
}
|
||||
else
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
|
||||
html.setFile(player.getHtmlPrefix(), "html/fortress/foreman-noprivs.htm");
|
||||
html.replace("%objectId%", String.valueOf(getObjectId()));
|
||||
player.sendPacket(html);
|
||||
}
|
||||
html.replace("%objectId%", String.valueOf(getObjectId()));
|
||||
player.sendPacket(html);
|
||||
return;
|
||||
}
|
||||
if (actualCommand.equalsIgnoreCase("receive_report"))
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
|
||||
if (getFort().getFortState() < 2)
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
|
||||
html.setFile(player.getHtmlPrefix(), "html/fortress/foreman-report.htm");
|
||||
html.replace("%objectId%", String.valueOf(getObjectId()));
|
||||
if (Config.FS_MAX_OWN_TIME > 0)
|
||||
{
|
||||
final int hour = (int) Math.floor(getFort().getTimeTillRebelArmy() / 3600);
|
||||
final int minutes = (int) (Math.floor(getFort().getTimeTillRebelArmy() - (hour * 3600)) / 60);
|
||||
html.replace("%hr%", String.valueOf(hour));
|
||||
html.replace("%min%", String.valueOf(minutes));
|
||||
}
|
||||
else
|
||||
{
|
||||
final int hour = (int) Math.floor(getFort().getOwnedTime() / 3600);
|
||||
final int minutes = (int) (Math.floor(getFort().getOwnedTime() - (hour * 3600)) / 60);
|
||||
html.replace("%hr%", String.valueOf(hour));
|
||||
html.replace("%min%", String.valueOf(minutes));
|
||||
}
|
||||
player.sendPacket(html);
|
||||
final int hour = Config.FS_MAX_OWN_TIME > 0 ? (int) Math.floor(getFort().getTimeTillRebelArmy() / 3600) : (int) Math.floor(getFort().getOwnedTime() / 3600);
|
||||
final int minutes = Config.FS_MAX_OWN_TIME > 0 ? (int) (Math.floor(getFort().getTimeTillRebelArmy() - (hour * 3600)) / 60) : (int) (Math.floor(getFort().getOwnedTime() - (hour * 3600)) / 60);
|
||||
html.replace("%hr%", String.valueOf(hour));
|
||||
html.replace("%min%", String.valueOf(minutes));
|
||||
}
|
||||
else
|
||||
{
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
|
||||
html.setFile(player.getHtmlPrefix(), "html/fortress/foreman-castlereport.htm");
|
||||
html.replace("%objectId%", String.valueOf(getObjectId()));
|
||||
int hour, minutes;
|
||||
@ -166,8 +151,8 @@ public class L2FortManagerInstance extends L2MerchantInstance
|
||||
html.replace("%castle%", getFort().getContractedCastle().getName());
|
||||
html.replace("%hr2%", String.valueOf(hour));
|
||||
html.replace("%min2%", String.valueOf(minutes));
|
||||
player.sendPacket(html);
|
||||
}
|
||||
player.sendPacket(html);
|
||||
return;
|
||||
}
|
||||
if (actualCommand.equalsIgnoreCase("operate_door"))
|
||||
@ -176,7 +161,7 @@ public class L2FortManagerInstance extends L2MerchantInstance
|
||||
{
|
||||
if (!val.isEmpty())
|
||||
{
|
||||
final boolean open = (Integer.parseInt(val) == 1);
|
||||
final boolean open = Integer.parseInt(val) == 1;
|
||||
while (st.hasMoreTokens())
|
||||
{
|
||||
getFort().openCloseDoor(player, Integer.parseInt(st.nextToken()), open);
|
||||
@ -457,7 +442,7 @@ public class L2FortManagerInstance extends L2MerchantInstance
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!getFort().updateFunctions(player, Fort.FUNC_RESTORE_HP, percent, fee, Config.FS_HPREG_FEE_RATIO, (getFort().getFunction(Fort.FUNC_RESTORE_HP) == null)))
|
||||
if (!getFort().updateFunctions(player, Fort.FUNC_RESTORE_HP, percent, fee, Config.FS_HPREG_FEE_RATIO, getFort().getFunction(Fort.FUNC_RESTORE_HP) == null))
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/fortress/low_adena.htm");
|
||||
sendHtmlMessage(player, html);
|
||||
@ -505,7 +490,7 @@ public class L2FortManagerInstance extends L2MerchantInstance
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!getFort().updateFunctions(player, Fort.FUNC_RESTORE_MP, percent, fee, Config.FS_MPREG_FEE_RATIO, (getFort().getFunction(Fort.FUNC_RESTORE_MP) == null)))
|
||||
if (!getFort().updateFunctions(player, Fort.FUNC_RESTORE_MP, percent, fee, Config.FS_MPREG_FEE_RATIO, getFort().getFunction(Fort.FUNC_RESTORE_MP) == null))
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/fortress/low_adena.htm");
|
||||
sendHtmlMessage(player, html);
|
||||
@ -553,7 +538,7 @@ public class L2FortManagerInstance extends L2MerchantInstance
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!getFort().updateFunctions(player, Fort.FUNC_RESTORE_EXP, percent, fee, Config.FS_EXPREG_FEE_RATIO, (getFort().getFunction(Fort.FUNC_RESTORE_EXP) == null)))
|
||||
if (!getFort().updateFunctions(player, Fort.FUNC_RESTORE_EXP, percent, fee, Config.FS_EXPREG_FEE_RATIO, getFort().getFunction(Fort.FUNC_RESTORE_EXP) == null))
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/fortress/low_adena.htm");
|
||||
sendHtmlMessage(player, html);
|
||||
@ -725,7 +710,7 @@ public class L2FortManagerInstance extends L2MerchantInstance
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!getFort().updateFunctions(player, Fort.FUNC_TELEPORT, lvl, fee, Config.FS_TELE_FEE_RATIO, (getFort().getFunction(Fort.FUNC_TELEPORT) == null)))
|
||||
if (!getFort().updateFunctions(player, Fort.FUNC_TELEPORT, lvl, fee, Config.FS_TELE_FEE_RATIO, getFort().getFunction(Fort.FUNC_TELEPORT) == null))
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/fortress/low_adena.htm");
|
||||
sendHtmlMessage(player, html);
|
||||
@ -773,7 +758,7 @@ public class L2FortManagerInstance extends L2MerchantInstance
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!getFort().updateFunctions(player, Fort.FUNC_SUPPORT, lvl, fee, Config.FS_SUPPORT_FEE_RATIO, (getFort().getFunction(Fort.FUNC_SUPPORT) == null)))
|
||||
if (!getFort().updateFunctions(player, Fort.FUNC_SUPPORT, lvl, fee, Config.FS_SUPPORT_FEE_RATIO, getFort().getFunction(Fort.FUNC_SUPPORT) == null))
|
||||
{
|
||||
html.setFile(player.getHtmlPrefix(), "html/fortress/low_adena.htm");
|
||||
}
|
||||
@ -864,7 +849,7 @@ public class L2FortManagerInstance extends L2MerchantInstance
|
||||
sendHtmlMessage(player, html);
|
||||
return;
|
||||
}
|
||||
this.doCast(skill);
|
||||
doCast(skill);
|
||||
}
|
||||
html.setFile(player.getHtmlPrefix(), "html/fortress/support-done.htm");
|
||||
html.replace("%mp%", String.valueOf((int) getCurrentMp()));
|
||||
|
@ -53,11 +53,7 @@ public class L2FriendlyMobInstance extends L2Attackable
|
||||
@Override
|
||||
public boolean isAutoAttackable(L2Character attacker)
|
||||
{
|
||||
if (attacker instanceof L2PcInstance)
|
||||
{
|
||||
return ((L2PcInstance) attacker).getReputation() < 0;
|
||||
}
|
||||
return false;
|
||||
return (attacker instanceof L2PcInstance) && (((L2PcInstance) attacker).getReputation() < 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -84,7 +84,7 @@ public final class L2GrandBossInstance extends L2MonsterInstance
|
||||
{
|
||||
for (L2PcInstance member : player.getParty().getMembers())
|
||||
{
|
||||
member.setRaidPoints(member.getRaidPoints() + ((getLevel() / 2) + Rnd.get(-5, 5)));
|
||||
member.setRaidPoints(member.getRaidPoints() + (getLevel() / 2) + Rnd.get(-5, 5));
|
||||
if (member.isNoble())
|
||||
{
|
||||
Hero.getInstance().setRBkilled(member.getObjectId(), getId());
|
||||
@ -93,7 +93,7 @@ public final class L2GrandBossInstance extends L2MonsterInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
player.setRaidPoints(player.getRaidPoints() + ((getLevel() / 2) + Rnd.get(-5, 5)));
|
||||
player.setRaidPoints(player.getRaidPoints() + (getLevel() / 2) + Rnd.get(-5, 5));
|
||||
if (player.isNoble())
|
||||
{
|
||||
Hero.getInstance().setRBkilled(player.getObjectId(), getId());
|
||||
|
@ -87,7 +87,7 @@ public class L2GuardInstance extends L2Attackable
|
||||
|
||||
// check the region where this mob is, do not activate the AI if region is inactive.
|
||||
final L2WorldRegion region = L2World.getInstance().getRegion(getX(), getY());
|
||||
if ((region != null) && (!region.isActive()))
|
||||
if ((region != null) && !region.isActive())
|
||||
{
|
||||
getAI().stopAITask();
|
||||
}
|
||||
@ -163,36 +163,33 @@ public class L2GuardInstance extends L2Attackable
|
||||
// Set the L2PcInstance Intention to AI_INTENTION_ATTACK
|
||||
player.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, this);
|
||||
}
|
||||
// Calculate the distance between the L2PcInstance and the L2NpcInstance
|
||||
else if (!canInteract(player))
|
||||
{
|
||||
// Set the L2PcInstance Intention to AI_INTENTION_INTERACT
|
||||
player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Calculate the distance between the L2PcInstance and the L2NpcInstance
|
||||
if (!canInteract(player))
|
||||
// Send a Server->Client packet SocialAction to the all L2PcInstance on the _knownPlayer of the L2NpcInstance
|
||||
// to display a social action of the L2GuardInstance on their client
|
||||
broadcastPacket(new SocialAction(getObjectId(), Rnd.nextInt(8)));
|
||||
|
||||
player.setLastFolkNPC(this);
|
||||
|
||||
// Open a chat window on client with the text of the L2GuardInstance
|
||||
if (hasListener(EventType.ON_NPC_QUEST_START))
|
||||
{
|
||||
// Set the L2PcInstance Intention to AI_INTENTION_INTERACT
|
||||
player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this);
|
||||
player.setLastQuestNpcObject(getObjectId());
|
||||
}
|
||||
|
||||
if (hasListener(EventType.ON_NPC_FIRST_TALK))
|
||||
{
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnNpcFirstTalk(this, player), this);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Send a Server->Client packet SocialAction to the all L2PcInstance on the _knownPlayer of the L2NpcInstance
|
||||
// to display a social action of the L2GuardInstance on their client
|
||||
broadcastPacket(new SocialAction(getObjectId(), Rnd.nextInt(8)));
|
||||
|
||||
player.setLastFolkNPC(this);
|
||||
|
||||
// Open a chat window on client with the text of the L2GuardInstance
|
||||
if (hasListener(EventType.ON_NPC_QUEST_START))
|
||||
{
|
||||
player.setLastQuestNpcObject(getObjectId());
|
||||
}
|
||||
|
||||
if (hasListener(EventType.ON_NPC_FIRST_TALK))
|
||||
{
|
||||
EventDispatcher.getInstance().notifyEventAsync(new OnNpcFirstTalk(this, player), this);
|
||||
}
|
||||
else
|
||||
{
|
||||
showChatWindow(player, 0);
|
||||
}
|
||||
showChatWindow(player, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -87,7 +87,7 @@ public class L2MerchantInstance extends L2NpcInstance
|
||||
return;
|
||||
}
|
||||
|
||||
final double taxRate = (applyTax) ? getMpc().getTotalTaxRate() : 0;
|
||||
final double taxRate = applyTax ? getMpc().getTotalTaxRate() : 0;
|
||||
|
||||
player.setInventoryBlockingStatus(true);
|
||||
|
||||
|
@ -214,7 +214,7 @@ public class L2MonsterInstance extends L2Attackable
|
||||
@Override
|
||||
public boolean isWalker()
|
||||
{
|
||||
return ((getLeader() == null) ? super.isWalker() : getLeader().isWalker());
|
||||
return (getLeader() == null) ? super.isWalker() : getLeader().isWalker();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -132,18 +132,15 @@ public class L2NpcInstance extends L2Npc
|
||||
sm.addInt(minLevel);
|
||||
player.sendPacket(sm);
|
||||
}
|
||||
else if (player.getClassId().level() == 1)
|
||||
{
|
||||
final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN_PLEASE_COME_BACK_AFTER_S1ND_CLASS_CHANGE);
|
||||
sm.addInt(2);
|
||||
player.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (player.getClassId().level() == 1)
|
||||
{
|
||||
final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN_PLEASE_COME_BACK_AFTER_S1ND_CLASS_CHANGE);
|
||||
sm.addInt(2);
|
||||
player.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN);
|
||||
}
|
||||
player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -53,16 +53,13 @@ public final class L2ObservationInstance extends L2Npc
|
||||
filename = "html/observation/" + getId() + "-Oracle-" + val + ".htm";
|
||||
}
|
||||
}
|
||||
else if (val == 0)
|
||||
{
|
||||
filename = "html/observation/" + getId() + ".htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (val == 0)
|
||||
{
|
||||
filename = "html/observation/" + getId() + ".htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
filename = "html/observation/" + getId() + "-" + val + ".htm";
|
||||
}
|
||||
filename = "html/observation/" + getId() + "-" + val + ".htm";
|
||||
}
|
||||
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
|
||||
|
@ -750,7 +750,7 @@ public final class L2PcInstance extends L2Playable
|
||||
private int _fishx = 0;
|
||||
private int _fishy = 0;
|
||||
private int _fishz = 0;
|
||||
private final static SkillHolder FISHING_SKILL = new SkillHolder(1312, 1);
|
||||
private static final SkillHolder FISHING_SKILL = new SkillHolder(1312, 1);
|
||||
|
||||
private ScheduledFuture<?> _taskRentPet;
|
||||
private ScheduledFuture<?> _taskWater;
|
||||
@ -1495,7 +1495,7 @@ public final class L2PcInstance extends L2Playable
|
||||
final List<Quest> quests = new LinkedList<>();
|
||||
for (QuestState qs : _quests.values())
|
||||
{
|
||||
if ((qs == null) || (qs.getQuest() == null) || (!qs.isCompleted()))
|
||||
if ((qs == null) || (qs.getQuest() == null) || !qs.isCompleted())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@ -1528,7 +1528,7 @@ public final class L2PcInstance extends L2Playable
|
||||
final L2Object object = L2World.getInstance().findObject(getLastQuestNpcObject());
|
||||
if (object.isNpc() && isInsideRadius(object, L2Npc.INTERACTION_DISTANCE, false, false))
|
||||
{
|
||||
quest.notifyEvent(event, ((L2Npc) object), this);
|
||||
quest.notifyEvent(event, (L2Npc) object, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1702,7 +1702,7 @@ public final class L2PcInstance extends L2Playable
|
||||
|
||||
public boolean isRegisteredOnThisSiegeField(int val)
|
||||
{
|
||||
return ((_siegeSide == val) || ((_siegeSide >= 81) && (_siegeSide <= 89)));
|
||||
return (_siegeSide == val) || ((_siegeSide >= 81) && (_siegeSide <= 89));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -1815,7 +1815,7 @@ public final class L2PcInstance extends L2Playable
|
||||
return;
|
||||
}
|
||||
_lastCompassZone = ExSetCompassZoneCode.ALTEREDZONE;
|
||||
sendPacket((new ExSetCompassZoneCode(ExSetCompassZoneCode.ALTEREDZONE)));
|
||||
sendPacket(new ExSetCompassZoneCode(ExSetCompassZoneCode.ALTEREDZONE));
|
||||
}
|
||||
else if (isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
@ -1824,7 +1824,7 @@ public final class L2PcInstance extends L2Playable
|
||||
return;
|
||||
}
|
||||
_lastCompassZone = ExSetCompassZoneCode.SIEGEWARZONE2;
|
||||
sendPacket((new ExSetCompassZoneCode(ExSetCompassZoneCode.SIEGEWARZONE2)));
|
||||
sendPacket(new ExSetCompassZoneCode(ExSetCompassZoneCode.SIEGEWARZONE2));
|
||||
}
|
||||
else if (isInsideZone(ZoneId.PVP))
|
||||
{
|
||||
@ -1833,7 +1833,7 @@ public final class L2PcInstance extends L2Playable
|
||||
return;
|
||||
}
|
||||
_lastCompassZone = ExSetCompassZoneCode.PVPZONE;
|
||||
sendPacket((new ExSetCompassZoneCode(ExSetCompassZoneCode.PVPZONE)));
|
||||
sendPacket(new ExSetCompassZoneCode(ExSetCompassZoneCode.PVPZONE));
|
||||
}
|
||||
else if (isInsideZone(ZoneId.PEACE))
|
||||
{
|
||||
@ -1842,7 +1842,7 @@ public final class L2PcInstance extends L2Playable
|
||||
return;
|
||||
}
|
||||
_lastCompassZone = ExSetCompassZoneCode.PEACEZONE;
|
||||
sendPacket((new ExSetCompassZoneCode(ExSetCompassZoneCode.PEACEZONE)));
|
||||
sendPacket(new ExSetCompassZoneCode(ExSetCompassZoneCode.PEACEZONE));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1855,7 +1855,7 @@ public final class L2PcInstance extends L2Playable
|
||||
updatePvPStatus();
|
||||
}
|
||||
_lastCompassZone = ExSetCompassZoneCode.GENERALZONE;
|
||||
sendPacket((new ExSetCompassZoneCode(ExSetCompassZoneCode.GENERALZONE)));
|
||||
sendPacket(new ExSetCompassZoneCode(ExSetCompassZoneCode.GENERALZONE));
|
||||
}
|
||||
}
|
||||
|
||||
@ -2082,7 +2082,7 @@ public final class L2PcInstance extends L2Playable
|
||||
final int maxLoad = getMaxLoad();
|
||||
if (maxLoad > 0)
|
||||
{
|
||||
final long weightproc = (((getCurrentLoad() - getBonusWeightPenalty()) * 1000) / getMaxLoad());
|
||||
final long weightproc = ((getCurrentLoad() - getBonusWeightPenalty()) * 1000) / getMaxLoad();
|
||||
int newWeightPenalty;
|
||||
if ((weightproc < 500) || _dietMode)
|
||||
{
|
||||
@ -2139,7 +2139,7 @@ public final class L2PcInstance extends L2Playable
|
||||
|
||||
for (L2ItemInstance item : getInventory().getItems())
|
||||
{
|
||||
if ((item != null) && item.isEquipped() && ((item.getItemType() != EtcItemType.ARROW) && (item.getItemType() != EtcItemType.BOLT)))
|
||||
if ((item != null) && item.isEquipped() && (item.getItemType() != EtcItemType.ARROW) && (item.getItemType() != EtcItemType.BOLT))
|
||||
{
|
||||
crystaltype = item.getItem().getCrystalType().getId();
|
||||
if (crystaltype > expertiseLevel)
|
||||
@ -2215,13 +2215,12 @@ public final class L2PcInstance extends L2Playable
|
||||
{
|
||||
sm = SystemMessage.getSystemMessage(SystemMessageId.THE_EQUIPMENT_S1_S2_HAS_BEEN_REMOVED);
|
||||
sm.addInt(item.getEnchantLevel());
|
||||
sm.addItemName(item);
|
||||
}
|
||||
else
|
||||
{
|
||||
sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HAS_BEEN_UNEQUIPPED);
|
||||
sm.addItemName(item);
|
||||
}
|
||||
sm.addItemName(item);
|
||||
sendPacket(sm);
|
||||
|
||||
final int slot = getInventory().getSlotFromItem(item);
|
||||
@ -2245,13 +2244,12 @@ public final class L2PcInstance extends L2Playable
|
||||
{
|
||||
sm = SystemMessage.getSystemMessage(SystemMessageId.EQUIPPED_S1_S2);
|
||||
sm.addInt(item.getEnchantLevel());
|
||||
sm.addItemName(item);
|
||||
}
|
||||
else
|
||||
{
|
||||
sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_EQUIPPED_YOUR_S1);
|
||||
sm.addItemName(item);
|
||||
}
|
||||
sm.addItemName(item);
|
||||
sendPacket(sm);
|
||||
|
||||
// Consume mana - will start a task if required; returns if item is not a shadow item
|
||||
@ -2376,7 +2374,7 @@ public final class L2PcInstance extends L2Playable
|
||||
}
|
||||
else
|
||||
{
|
||||
_clan.addReputationScore((Config.JOIN_ACADEMY_MAX_REP_SCORE - ((getLvlJoinedAcademy() - 16) * 20)), true);
|
||||
_clan.addReputationScore(Config.JOIN_ACADEMY_MAX_REP_SCORE - ((getLvlJoinedAcademy() - 16) * 20), true);
|
||||
}
|
||||
setLvlJoinedAcademy(0);
|
||||
// oust pledge member from the academy, cuz he has finished his 2nd class transfer
|
||||
@ -3379,13 +3377,13 @@ public final class L2PcInstance extends L2Playable
|
||||
}
|
||||
// Auto-use herbs.
|
||||
final IItemHandler handler = ItemHandler.getInstance().getHandler(item instanceof L2EtcItem ? (L2EtcItem) item : null);
|
||||
if (handler == null)
|
||||
if (handler != null)
|
||||
{
|
||||
_log.warning("No item handler registered for Herb ID " + item.getId() + "!");
|
||||
handler.useItem(this, new L2ItemInstance(itemId), false);
|
||||
}
|
||||
else
|
||||
{
|
||||
handler.useItem(this, new L2ItemInstance(itemId), false);
|
||||
_log.warning("No item handler registered for Herb ID " + item.getId() + "!");
|
||||
}
|
||||
}
|
||||
return null;
|
||||
@ -4029,12 +4027,9 @@ public final class L2PcInstance extends L2Playable
|
||||
{
|
||||
_client.cleanMe(true);
|
||||
}
|
||||
else
|
||||
else if (!_client.getConnection().isClosed())
|
||||
{
|
||||
if (!_client.getConnection().isClosed())
|
||||
{
|
||||
_client.close(closeClient ? LeaveWorld.STATIC_PACKET : ServerClose.STATIC_PACKET);
|
||||
}
|
||||
_client.close(closeClient ? LeaveWorld.STATIC_PACKET : ServerClose.STATIC_PACKET);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4071,7 +4066,7 @@ public final class L2PcInstance extends L2Playable
|
||||
}
|
||||
|
||||
// Check if the spell using charges or not in AirShip
|
||||
if (((getCharges() < skill.getChargeConsume())) || (isInAirShip() && !skill.hasEffectType(L2EffectType.REFUEL_AIRSHIP)))
|
||||
if ((getCharges() < skill.getChargeConsume()) || (isInAirShip() && !skill.hasEffectType(L2EffectType.REFUEL_AIRSHIP)))
|
||||
{
|
||||
final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED_DUE_TO_UNSUITABLE_TERMS);
|
||||
sm.addSkillName(skill);
|
||||
@ -4424,13 +4419,10 @@ public final class L2PcInstance extends L2Playable
|
||||
sendPacket(new RecipeShopSellList(this, temp));
|
||||
}
|
||||
}
|
||||
else
|
||||
// _interactTarget=null should never happen but one never knows ^^;
|
||||
else if (target != null)
|
||||
{
|
||||
// _interactTarget=null should never happen but one never knows ^^;
|
||||
if (target != null)
|
||||
{
|
||||
target.onAction(this);
|
||||
}
|
||||
target.onAction(this);
|
||||
}
|
||||
}
|
||||
|
||||
@ -4495,7 +4487,7 @@ public final class L2PcInstance extends L2Playable
|
||||
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
|
||||
|
||||
// Check if the L2Object to pick up is a L2ItemInstance
|
||||
if (!(object.isItem()))
|
||||
if (!object.isItem())
|
||||
{
|
||||
// dont try to pickup anything that is not an item :)
|
||||
_log.warning(this + " trying to pickup wrong target." + getTarget());
|
||||
@ -4584,13 +4576,13 @@ public final class L2PcInstance extends L2Playable
|
||||
if (target.getItem().hasExImmediateEffect())
|
||||
{
|
||||
final IItemHandler handler = ItemHandler.getInstance().getHandler(target.getEtcItem());
|
||||
if (handler == null)
|
||||
if (handler != null)
|
||||
{
|
||||
_log.warning("No item handler registered for item ID: " + target.getId() + ".");
|
||||
handler.useItem(this, target, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
handler.useItem(this, target, false);
|
||||
_log.warning("No item handler registered for item ID: " + target.getId() + ".");
|
||||
}
|
||||
ItemTable.getInstance().destroyItem("Consume", target, this, null);
|
||||
}
|
||||
@ -4697,7 +4689,7 @@ public final class L2PcInstance extends L2Playable
|
||||
@Override
|
||||
public int getMinShopDistance()
|
||||
{
|
||||
return (isSitting()) ? Config.SHOP_MIN_RANGE_FROM_PLAYER : 0;
|
||||
return isSitting() ? Config.SHOP_MIN_RANGE_FROM_PLAYER : 0;
|
||||
}
|
||||
|
||||
public void tryOpenPrivateBuyStore()
|
||||
@ -4854,12 +4846,12 @@ public final class L2PcInstance extends L2Playable
|
||||
*/
|
||||
public int getTransformationId()
|
||||
{
|
||||
return (isTransformed() ? getTransformation().getId() : 0);
|
||||
return isTransformed() ? getTransformation().getId() : 0;
|
||||
}
|
||||
|
||||
public int getTransformationDisplayId()
|
||||
{
|
||||
return (isTransformed() ? getTransformation().getDisplayId() : 0);
|
||||
return isTransformed() ? getTransformation().getDisplayId() : 0;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -4876,7 +4868,7 @@ public final class L2PcInstance extends L2Playable
|
||||
{
|
||||
if (newTarget != null)
|
||||
{
|
||||
final boolean isInParty = (newTarget.isPlayer() && isInParty() && getParty().containsPlayer(newTarget.getActingPlayer()));
|
||||
final boolean isInParty = newTarget.isPlayer() && isInParty() && getParty().containsPlayer(newTarget.getActingPlayer());
|
||||
|
||||
// Prevents /target exploiting
|
||||
if (!isInParty && (Math.abs(newTarget.getZ() - getZ()) > 1000))
|
||||
@ -5253,7 +5245,7 @@ public final class L2PcInstance extends L2Playable
|
||||
|
||||
if (!insidePvpZone && !insideSiegeZone)
|
||||
{
|
||||
if ((pk != null) && (pk.getClan() != null) && (getClan() != null) && !isAcademyMember() && !(pk.isAcademyMember()))
|
||||
if ((pk != null) && (pk.getClan() != null) && (getClan() != null) && !isAcademyMember() && !pk.isAcademyMember())
|
||||
{
|
||||
if ((_clan.isAtWarWith(pk.getClanId()) && pk.getClan().isAtWarWith(_clan.getId())) || (isInSiege() && pk.isInSiege()))
|
||||
{
|
||||
@ -5350,7 +5342,7 @@ public final class L2PcInstance extends L2Playable
|
||||
if ((!isInsideZone(ZoneId.PVP) || (pk == null)) && (!isGM() || Config.KARMA_DROP_GM))
|
||||
{
|
||||
boolean isKarmaDrop = false;
|
||||
final boolean isKillerNpc = (killer instanceof L2Npc);
|
||||
final boolean isKillerNpc = killer instanceof L2Npc;
|
||||
final int pkLimit = Config.KARMA_PK_LIMIT;
|
||||
|
||||
int dropEquip = 0;
|
||||
@ -5611,7 +5603,7 @@ public final class L2PcInstance extends L2Playable
|
||||
return;
|
||||
}
|
||||
|
||||
if ((isInDuel() && (player_target.getDuelId() == getDuelId())))
|
||||
if (isInDuel() && (player_target.getDuelId() == getDuelId()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -5918,7 +5910,7 @@ public final class L2PcInstance extends L2Playable
|
||||
*/
|
||||
public boolean isRequestExpired()
|
||||
{
|
||||
return !(_requestExpireTime > GameTimeController.getInstance().getGameTicks());
|
||||
return _requestExpireTime <= GameTimeController.getInstance().getGameTicks();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -6440,13 +6432,12 @@ public final class L2PcInstance extends L2Playable
|
||||
{
|
||||
sm = SystemMessage.getSystemMessage(SystemMessageId.THE_EQUIPMENT_S1_S2_HAS_BEEN_REMOVED);
|
||||
sm.addInt(unequiped[0].getEnchantLevel());
|
||||
sm.addItemName(unequiped[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HAS_BEEN_UNEQUIPPED);
|
||||
sm.addItemName(unequiped[0]);
|
||||
}
|
||||
sm.addItemName(unequiped[0]);
|
||||
sendPacket(sm);
|
||||
}
|
||||
}
|
||||
@ -7895,7 +7886,7 @@ public final class L2PcInstance extends L2Playable
|
||||
{
|
||||
for (Shortcut sc : getAllShortCuts())
|
||||
{
|
||||
if ((sc != null) && (sc.getId() == skill.getId()) && (sc.getType() == ShortcutType.SKILL) && !((skill.getId() >= 3080) && (skill.getId() <= 3259)))
|
||||
if ((sc != null) && (sc.getId() == skill.getId()) && (sc.getType() == ShortcutType.SKILL) && ((skill.getId() < 3080) || (skill.getId() > 3259)))
|
||||
{
|
||||
deleteShortCut(sc.getSlot(), sc.getPage());
|
||||
}
|
||||
@ -8392,19 +8383,16 @@ public final class L2PcInstance extends L2Playable
|
||||
_hennaCHA += h.getStatCHA();
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (h.getDyeId() <= 180)
|
||||
{
|
||||
if (h.getDyeId() <= 180)
|
||||
{
|
||||
_hennaINT += ((_hennaINT + h.getStatINT()) > 5) ? 5 - _hennaINT : h.getStatINT();
|
||||
_hennaSTR += ((_hennaSTR + h.getStatSTR()) > 5) ? 5 - _hennaSTR : h.getStatSTR();
|
||||
_hennaMEN += ((_hennaMEN + h.getStatMEN()) > 5) ? 5 - _hennaMEN : h.getStatMEN();
|
||||
_hennaCON += ((_hennaCON + h.getStatCON()) > 5) ? 5 - _hennaCON : h.getStatCON();
|
||||
_hennaWIT += ((_hennaWIT + h.getStatWIT()) > 5) ? 5 - _hennaWIT : h.getStatWIT();
|
||||
_hennaDEX += ((_hennaDEX + h.getStatDEX()) > 5) ? 5 - _hennaDEX : h.getStatDEX();
|
||||
_hennaLUC += ((_hennaLUC + h.getStatLUC()) > 5) ? 5 - _hennaLUC : h.getStatLUC();
|
||||
_hennaCHA += ((_hennaCHA + h.getStatCHA()) > 5) ? 5 - _hennaCHA : h.getStatCHA();
|
||||
}
|
||||
_hennaINT += ((_hennaINT + h.getStatINT()) > 5) ? 5 - _hennaINT : h.getStatINT();
|
||||
_hennaSTR += ((_hennaSTR + h.getStatSTR()) > 5) ? 5 - _hennaSTR : h.getStatSTR();
|
||||
_hennaMEN += ((_hennaMEN + h.getStatMEN()) > 5) ? 5 - _hennaMEN : h.getStatMEN();
|
||||
_hennaCON += ((_hennaCON + h.getStatCON()) > 5) ? 5 - _hennaCON : h.getStatCON();
|
||||
_hennaWIT += ((_hennaWIT + h.getStatWIT()) > 5) ? 5 - _hennaWIT : h.getStatWIT();
|
||||
_hennaDEX += ((_hennaDEX + h.getStatDEX()) > 5) ? 5 - _hennaDEX : h.getStatDEX();
|
||||
_hennaLUC += ((_hennaLUC + h.getStatLUC()) > 5) ? 5 - _hennaLUC : h.getStatLUC();
|
||||
_hennaCHA += ((_hennaCHA + h.getStatCHA()) > 5) ? 5 - _hennaCHA : h.getStatCHA();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -8566,11 +8554,7 @@ public final class L2PcInstance extends L2Playable
|
||||
// Check if the attacker is in olympia and olympia start
|
||||
if (attacker.isPlayer() && attacker.getActingPlayer().isInOlympiadMode())
|
||||
{
|
||||
if (isInOlympiadMode() && isOlympiadStart() && (((L2PcInstance) attacker).getOlympiadGameId() == getOlympiadGameId()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return isInOlympiadMode() && isOlympiadStart() && (((L2PcInstance) attacker).getOlympiadGameId() == getOlympiadGameId());
|
||||
}
|
||||
|
||||
// Check if the attacker is in TvT and TvT is started
|
||||
@ -8617,7 +8601,7 @@ public final class L2PcInstance extends L2Playable
|
||||
|
||||
// Check if the L2PcInstance is in an arena, but NOT siege zone. NOTE: This check comes before clan/ally checks, but after party checks.
|
||||
// This is done because in arenas, clan/ally members can autoattack if they arent in party.
|
||||
if ((isInsideZone(ZoneId.PVP) && attackerPlayer.isInsideZone(ZoneId.PVP)) && !(isInsideZone(ZoneId.SIEGE) && attackerPlayer.isInsideZone(ZoneId.SIEGE)))
|
||||
if (isInsideZone(ZoneId.PVP) && attackerPlayer.isInsideZone(ZoneId.PVP) && (!isInsideZone(ZoneId.SIEGE) || !attackerPlayer.isInsideZone(ZoneId.SIEGE)))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -8635,7 +8619,7 @@ public final class L2PcInstance extends L2Playable
|
||||
}
|
||||
|
||||
// Now check again if the L2PcInstance is in pvp zone, but this time at siege PvP zone, applying clan/ally checks
|
||||
if ((isInsideZone(ZoneId.PVP) && attackerPlayer.isInsideZone(ZoneId.PVP)) && (isInsideZone(ZoneId.SIEGE) && attackerPlayer.isInsideZone(ZoneId.SIEGE)))
|
||||
if (isInsideZone(ZoneId.PVP) && attackerPlayer.isInsideZone(ZoneId.PVP) && isInsideZone(ZoneId.SIEGE) && attackerPlayer.isInsideZone(ZoneId.SIEGE))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -8650,7 +8634,7 @@ public final class L2PcInstance extends L2Playable
|
||||
if (getClan() != null)
|
||||
{
|
||||
final Siege siege = SiegeManager.getInstance().getSiege(this);
|
||||
return ((siege != null) && siege.checkIsAttacker(getClan()));
|
||||
return (siege != null) && siege.checkIsAttacker(getClan());
|
||||
}
|
||||
}
|
||||
|
||||
@ -8924,7 +8908,7 @@ public final class L2PcInstance extends L2Playable
|
||||
final int remainingTime = (int) (getSkillRemainingReuseTime(skill.getReuseHashCode()) / 1000);
|
||||
final int hours = remainingTime / 3600;
|
||||
final int minutes = (remainingTime % 3600) / 60;
|
||||
final int seconds = (remainingTime % 60);
|
||||
final int seconds = remainingTime % 60;
|
||||
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);
|
||||
@ -8971,7 +8955,7 @@ public final class L2PcInstance extends L2Playable
|
||||
// Check if this is bad magic skill
|
||||
if (skill.isBad())
|
||||
{
|
||||
if ((isInsidePeaceZone(this, target)) && !getAccessLevel().allowPeaceAttack())
|
||||
if (isInsidePeaceZone(this, target) && !getAccessLevel().allowPeaceAttack())
|
||||
{
|
||||
// If L2Character or target is in a peace zone, send a system message TARGET_IN_PEACEZONE a Server->Client packet ActionFailed
|
||||
sendPacket(SystemMessageId.YOU_MAY_NOT_ATTACK_THIS_TARGET_IN_A_PEACEFUL_ZONE);
|
||||
@ -9139,12 +9123,7 @@ public final class L2PcInstance extends L2Playable
|
||||
return getParty().getCommandChannel().getMembers().contains(looter);
|
||||
}
|
||||
|
||||
if (isInParty() && (looter != null))
|
||||
{
|
||||
return getParty().getMembers().contains(looter);
|
||||
}
|
||||
|
||||
return false;
|
||||
return isInParty() && (looter != null) && getParty().getMembers().contains(looter);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -9211,11 +9190,7 @@ public final class L2PcInstance extends L2Playable
|
||||
}
|
||||
else if ((getParty().getCommandChannel() != null) && getParty().getCommandChannel().containsPlayer(targetPlayer))
|
||||
{
|
||||
if ((skill.getEffectRange() > 0) && isCtrlPressed && (getTarget() == target) && skill.isDamage())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return (skill.getEffectRange() > 0) && isCtrlPressed && (getTarget() == target) && skill.isDamage();
|
||||
}
|
||||
}
|
||||
|
||||
@ -9233,20 +9208,12 @@ public final class L2PcInstance extends L2Playable
|
||||
if (aClan.isAtWarWith(tClan.getId()) && tClan.isAtWarWith(aClan.getId()))
|
||||
{
|
||||
// Check if skill can do damage
|
||||
if ((skill.isAOE() && (skill.getEffectRange() > 0)) && isCtrlPressed && (getTarget() == target))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return isCtrlPressed;
|
||||
return (skill.isAOE() && (skill.getEffectRange() > 0) && isCtrlPressed && (getTarget() == target)) || isCtrlPressed;
|
||||
}
|
||||
else if ((getClanId() == targetPlayer.getClanId()) || ((getAllyId() > 0) && (getAllyId() == targetPlayer.getAllyId())))
|
||||
{
|
||||
// Check if skill can do damage
|
||||
if ((skill.getEffectRange() > 0) && isCtrlPressed && (getTarget() == target) && skill.isDamage())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return (skill.getEffectRange() > 0) && isCtrlPressed && (getTarget() == target) && skill.isDamage();
|
||||
}
|
||||
}
|
||||
|
||||
@ -9260,18 +9227,10 @@ public final class L2PcInstance extends L2Playable
|
||||
if ((targetPlayer.getPvpFlag() == 0) && (targetPlayer.getReputation() > 0))
|
||||
{
|
||||
// Check if skill can do damage
|
||||
if ((skill.getEffectRange() > 0) && isCtrlPressed && (getTarget() == target) && skill.isDamage())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return (skill.getEffectRange() > 0) && isCtrlPressed && (getTarget() == target) && skill.isDamage();
|
||||
}
|
||||
|
||||
if ((targetPlayer.getPvpFlag() > 0) || (targetPlayer.getReputation() < 0))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return (targetPlayer.getPvpFlag() > 0) || (targetPlayer.getReputation() < 0);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -9300,7 +9259,7 @@ public final class L2PcInstance extends L2Playable
|
||||
// if this is a castle that is currently being sieged, and the rider is NOT a castle owner
|
||||
// he cannot land.
|
||||
// castle owner is the leader of the clan that owns the castle where the pc is
|
||||
if (isInsideZone(ZoneId.SIEGE) && !((getClan() != null) && (CastleManager.getInstance().getCastle(this) == CastleManager.getInstance().getCastleByOwner(getClan())) && (this == getClan().getLeader().getPlayerInstance())))
|
||||
if (isInsideZone(ZoneId.SIEGE) && ((getClan() == null) || (CastleManager.getInstance().getCastle(this) != CastleManager.getInstance().getCastleByOwner(getClan())) || (this != getClan().getLeader().getPlayerInstance())))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -10897,16 +10856,13 @@ public final class L2PcInstance extends L2Playable
|
||||
{
|
||||
reviver.sendPacket(SystemMessageId.RESURRECTION_HAS_ALREADY_BEEN_PROPOSED); // Resurrection is already been proposed.
|
||||
}
|
||||
else if (Pet)
|
||||
{
|
||||
reviver.sendPacket(SystemMessageId.A_PET_CANNOT_BE_RESURRECTED_WHILE_IT_S_OWNER_IS_IN_THE_PROCESS_OF_RESURRECTING); // A pet cannot be resurrected while it's owner is in the process of resurrecting.
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Pet)
|
||||
{
|
||||
reviver.sendPacket(SystemMessageId.A_PET_CANNOT_BE_RESURRECTED_WHILE_IT_S_OWNER_IS_IN_THE_PROCESS_OF_RESURRECTING); // A pet cannot be resurrected while it's owner is in the process of resurrecting.
|
||||
}
|
||||
else
|
||||
{
|
||||
reviver.sendPacket(SystemMessageId.WHILE_A_PET_IS_BEING_RESURRECTED_IT_CANNOT_HELP_IN_RESURRECTING_ITS_MASTER); // While a pet is attempting to resurrect, it cannot help in resurrecting its master.
|
||||
}
|
||||
reviver.sendPacket(SystemMessageId.WHILE_A_PET_IS_BEING_RESURRECTED_IT_CANNOT_HELP_IN_RESURRECTING_ITS_MASTER); // While a pet is attempting to resurrect, it cannot help in resurrecting its master.
|
||||
}
|
||||
return;
|
||||
}
|
||||
@ -10974,7 +10930,7 @@ public final class L2PcInstance extends L2Playable
|
||||
|
||||
public boolean isReviveRequested()
|
||||
{
|
||||
return (_reviveRequested == 1);
|
||||
return _reviveRequested == 1;
|
||||
}
|
||||
|
||||
public boolean isRevivingPet()
|
||||
@ -11115,13 +11071,10 @@ public final class L2PcInstance extends L2Playable
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (_teleportWatchdog != null)
|
||||
{
|
||||
if (_teleportWatchdog != null)
|
||||
{
|
||||
_teleportWatchdog.cancel(false);
|
||||
_teleportWatchdog = null;
|
||||
}
|
||||
_teleportWatchdog.cancel(false);
|
||||
_teleportWatchdog = null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -12687,7 +12640,7 @@ public final class L2PcInstance extends L2Playable
|
||||
percent *= calcStat(Stats.REDUCE_DEATH_PENALTY_BY_PVP, 1);
|
||||
}
|
||||
|
||||
if ((killer.isInCategory(CategoryType.SHILENS_FOLLOWERS) || (Rnd.get(1, 100) <= ((Config.DEATH_PENALTY_CHANCE) * percent))) && (!killer.isPlayable() || (getReputation() < 0)))
|
||||
if ((killer.isInCategory(CategoryType.SHILENS_FOLLOWERS) || (Rnd.get(1, 100) <= (Config.DEATH_PENALTY_CHANCE * percent))) && (!killer.isPlayable() || (getReputation() < 0)))
|
||||
{
|
||||
increaseShilensBreathDebuff();
|
||||
}
|
||||
@ -12792,7 +12745,7 @@ public final class L2PcInstance extends L2Playable
|
||||
sm.addPcName(this);
|
||||
sm.addCharName(target);
|
||||
sm.addInt(damage);
|
||||
sm.addPopup(target.getObjectId(), getObjectId(), (damage * -1));
|
||||
sm.addPopup(target.getObjectId(), getObjectId(), damage * -1);
|
||||
}
|
||||
sendPacket(sm);
|
||||
}
|
||||
@ -13048,7 +13001,7 @@ public final class L2PcInstance extends L2Playable
|
||||
|
||||
public boolean isFlyingMounted()
|
||||
{
|
||||
return (isTransformed() && (getTransformation().isFlying()));
|
||||
return isTransformed() && getTransformation().isFlying();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -13655,7 +13608,7 @@ public final class L2PcInstance extends L2Playable
|
||||
{
|
||||
friend.setLevel(rs.getByte("level"));
|
||||
friend.setClassId(rs.getInt("classid"));
|
||||
bClassId = (rs.getInt("base_class"));
|
||||
bClassId = rs.getInt("base_class");
|
||||
friend.setClanId(rs.getInt("clanid"));
|
||||
friend.setLastLogin(rs.getLong("lastAccess"));
|
||||
friend.setCreateDate(rs.getLong("createDate"));
|
||||
@ -14138,7 +14091,7 @@ public final class L2PcInstance extends L2Playable
|
||||
|
||||
public boolean canMakeSocialAction()
|
||||
{
|
||||
return ((getPrivateStoreType() == PrivateStoreType.NONE) && (getActiveRequester() == null) && !isAlikeDead() && !isAllSkillsDisabled() && !isCastingNow() && !isCastingSimultaneouslyNow() && (getAI().getIntention() == CtrlIntention.AI_INTENTION_IDLE));
|
||||
return (getPrivateStoreType() == PrivateStoreType.NONE) && (getActiveRequester() == null) && !isAlikeDead() && !isAllSkillsDisabled() && !isCastingNow() && !isCastingSimultaneouslyNow() && (getAI().getIntention() == CtrlIntention.AI_INTENTION_IDLE);
|
||||
}
|
||||
|
||||
public void setMultiSocialAction(int id, int targetId)
|
||||
@ -14225,7 +14178,7 @@ public final class L2PcInstance extends L2Playable
|
||||
*/
|
||||
public boolean isInventoryUnder90(boolean includeQuestInv)
|
||||
{
|
||||
return (getInventory().getSize(includeQuestInv) <= (getInventoryLimit() * 0.9));
|
||||
return getInventory().getSize(includeQuestInv) <= (getInventoryLimit() * 0.9);
|
||||
}
|
||||
|
||||
public boolean havePetInvItems()
|
||||
@ -14761,15 +14714,7 @@ public final class L2PcInstance extends L2Playable
|
||||
*/
|
||||
public boolean isAtWarWith(L2Character target)
|
||||
{
|
||||
if (target == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((_clan != null) && !isAcademyMember() && (target.getClan() != null) && !target.isAcademyMember())
|
||||
{
|
||||
return _clan.isAtWarWith(target.getClan());
|
||||
}
|
||||
return false;
|
||||
return (target != null) && (_clan != null) && !isAcademyMember() && (target.getClan() != null) && !target.isAcademyMember() && _clan.isAtWarWith(target.getClan());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -235,7 +235,7 @@ public class L2PetInstance extends L2Summon
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized static L2PetInstance spawnPet(L2NpcTemplate template, L2PcInstance owner, L2ItemInstance control)
|
||||
public static synchronized L2PetInstance spawnPet(L2NpcTemplate template, L2PcInstance owner, L2ItemInstance control)
|
||||
{
|
||||
if (L2World.getInstance().getPet(owner.getObjectId()) != null)
|
||||
{
|
||||
@ -556,13 +556,13 @@ public class L2PetInstance extends L2Summon
|
||||
if (target.getItem().hasExImmediateEffect())
|
||||
{
|
||||
final IItemHandler handler = ItemHandler.getInstance().getHandler(target.getEtcItem());
|
||||
if (handler == null)
|
||||
if (handler != null)
|
||||
{
|
||||
_log.warning("No item handler registered for item ID: " + target.getId() + ".");
|
||||
handler.useItem(this, target, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
handler.useItem(this, target, false);
|
||||
_log.warning("No item handler registered for item ID: " + target.getId() + ".");
|
||||
}
|
||||
|
||||
ItemTable.getInstance().destroyItem("Consume", target, getOwner(), null);
|
||||
@ -1204,7 +1204,7 @@ public class L2PetInstance extends L2Summon
|
||||
final int maxLoad = getMaxLoad();
|
||||
if (maxLoad > 0)
|
||||
{
|
||||
final long weightproc = (((getCurrentLoad() - getBonusWeightPenalty()) * 1000) / maxLoad);
|
||||
final long weightproc = ((getCurrentLoad() - getBonusWeightPenalty()) * 1000) / maxLoad;
|
||||
int newWeightPenalty;
|
||||
if ((weightproc < 500) || getOwner().getDietMode())
|
||||
{
|
||||
|
@ -80,7 +80,7 @@ public class L2RaidBossInstance extends L2MonsterInstance
|
||||
{
|
||||
for (L2PcInstance member : player.getParty().getMembers())
|
||||
{
|
||||
member.setRaidPoints(member.getRaidPoints() + ((getLevel() / 2) + Rnd.get(-5, 5)));
|
||||
member.setRaidPoints(member.getRaidPoints() + (getLevel() / 2) + Rnd.get(-5, 5));
|
||||
if (member.isNoble())
|
||||
{
|
||||
Hero.getInstance().setRBkilled(member.getObjectId(), getId());
|
||||
@ -89,7 +89,7 @@ public class L2RaidBossInstance extends L2MonsterInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
player.setRaidPoints(player.getRaidPoints() + ((getLevel() / 2) + Rnd.get(-5, 5)));
|
||||
player.setRaidPoints(player.getRaidPoints() + (getLevel() / 2) + Rnd.get(-5, 5));
|
||||
if (player.isNoble())
|
||||
{
|
||||
Hero.getInstance().setRBkilled(player.getObjectId(), getId());
|
||||
|
@ -88,7 +88,7 @@ public class L2ServitorInstance extends L2Summon implements Runnable
|
||||
@Override
|
||||
public final int getLevel()
|
||||
{
|
||||
return (getTemplate() != null ? getTemplate().getLevel() : 0);
|
||||
return getTemplate() != null ? getTemplate().getLevel() : 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -500,7 +500,7 @@ public class L2ServitorInstance extends L2Summon implements Runnable
|
||||
@Override
|
||||
public int getCriticalHit(L2Character target, Skill skill)
|
||||
{
|
||||
return (int) (super.getCriticalHit(target, skill) + ((getActingPlayer().getCriticalHit(target, skill)) * (getActingPlayer().getServitorShareBonus(Stats.CRITICAL_RATE) - 1.0)));
|
||||
return (int) (super.getCriticalHit(target, skill) + (getActingPlayer().getCriticalHit(target, skill) * (getActingPlayer().getServitorShareBonus(Stats.CRITICAL_RATE) - 1.0)));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -84,13 +84,13 @@ public class L2SiegeFlagInstance extends L2Npc
|
||||
@Override
|
||||
public boolean canBeAttacked()
|
||||
{
|
||||
return !(isInvul() || isHpBlocked());
|
||||
return !isInvul() && !isHpBlocked();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAutoAttackable(L2Character attacker)
|
||||
{
|
||||
return !(isInvul() || isHpBlocked());
|
||||
return !isInvul() && !isHpBlocked();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -176,7 +176,7 @@ public final class L2StaticObjectInstance extends L2Character
|
||||
public void setMeshIndex(int meshIndex)
|
||||
{
|
||||
_meshIndex = meshIndex;
|
||||
this.broadcastPacket(new StaticObject(this));
|
||||
broadcastPacket(new StaticObject(this));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -219,7 +219,7 @@ public final class L2TamedBeastInstance extends L2FeedableBeastInstance
|
||||
for (Skill skill : _beastSkills)
|
||||
{
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new buffCast(skill), delay);
|
||||
delay += (100 + skill.getHitTime());
|
||||
delay += 100 + skill.getHitTime();
|
||||
}
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new buffCast(null), delay);
|
||||
}
|
||||
@ -236,13 +236,13 @@ public final class L2TamedBeastInstance extends L2FeedableBeastInstance
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
if (_skill == null)
|
||||
if (_skill != null)
|
||||
{
|
||||
getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, _owner);
|
||||
sitCastAndFollow(_skill, _owner);
|
||||
}
|
||||
else
|
||||
{
|
||||
sitCastAndFollow(_skill, _owner);
|
||||
getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, _owner);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -353,7 +353,7 @@ public final class L2TamedBeastInstance extends L2FeedableBeastInstance
|
||||
return;
|
||||
}
|
||||
|
||||
final float HPRatio = ((float) _owner.getCurrentHp()) / _owner.getMaxHp();
|
||||
final float HPRatio = (float) _owner.getCurrentHp() / _owner.getMaxHp();
|
||||
|
||||
// if the owner has a lot of HP, then debuff the enemy with a random debuff among the available skills
|
||||
// use of more than one debuff at this moment is acceptable
|
||||
@ -362,7 +362,7 @@ public final class L2TamedBeastInstance extends L2FeedableBeastInstance
|
||||
for (Skill skill : getTemplate().getSkills().values())
|
||||
{
|
||||
// if the skill is a debuff, check if the attacker has it already [ attacker.getEffect(L2Skill skill) ]
|
||||
if (skill.isDebuff() && (Rnd.get(3) < 1) && ((attacker != null) && attacker.isAffectedBySkill(skill.getId())))
|
||||
if (skill.isDebuff() && (Rnd.get(3) < 1) && (attacker != null) && attacker.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
sitCastAndFollow(skill, attacker);
|
||||
}
|
||||
@ -460,14 +460,11 @@ public final class L2TamedBeastInstance extends L2FeedableBeastInstance
|
||||
owner.callSkill(SkillData.getInstance().getSkill(foodTypeSkillId, 1), targets);
|
||||
owner.setTarget(oldTarget);
|
||||
}
|
||||
else
|
||||
// if the owner has no food, the beast immediately despawns, except when it was only
|
||||
// newly spawned. Newly spawned beasts can last up to 5 minutes
|
||||
else if (_tamedBeast.getRemainingTime() < (MAX_DURATION - 300000))
|
||||
{
|
||||
// if the owner has no food, the beast immediately despawns, except when it was only
|
||||
// newly spawned. Newly spawned beasts can last up to 5 minutes
|
||||
if (_tamedBeast.getRemainingTime() < (MAX_DURATION - 300000))
|
||||
{
|
||||
_tamedBeast.setRemainingTime(-1);
|
||||
}
|
||||
_tamedBeast.setRemainingTime(-1);
|
||||
}
|
||||
// There are too many conflicting reports about whether distance from home should be taken into consideration. Disabled for now.
|
||||
// if (_tamedBeast.isTooFarFromHome())
|
||||
|
@ -237,7 +237,7 @@ public final class L2TeleporterInstance extends L2Npc
|
||||
final Calendar cal = Calendar.getInstance();
|
||||
final int hour = cal.get(Calendar.HOUR_OF_DAY);
|
||||
final int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
|
||||
if ((hour >= 20) && ((dayOfWeek >= Calendar.MONDAY) && (dayOfWeek <= Calendar.TUESDAY)))
|
||||
if ((hour >= 20) && (dayOfWeek >= Calendar.MONDAY) && (dayOfWeek <= Calendar.TUESDAY))
|
||||
{
|
||||
return loc.getFeeCount() / 2;
|
||||
}
|
||||
@ -247,7 +247,7 @@ public final class L2TeleporterInstance extends L2Npc
|
||||
|
||||
protected boolean shouldPayFee(L2PcInstance player, TeleportType type, TeleportLocation loc)
|
||||
{
|
||||
return (type != TeleportType.NORMAL) || (!Config.FREE_TELEPORTING && ((player.getLevel() > 76) || player.isSubClassActive()) && ((loc.getFeeId() != 0) && (loc.getFeeCount() > 0)));
|
||||
return (type != TeleportType.NORMAL) || (!Config.FREE_TELEPORTING && ((player.getLevel() > 76) || player.isSubClassActive()) && (loc.getFeeId() != 0) && (loc.getFeeCount() > 0));
|
||||
}
|
||||
|
||||
protected int parseNextInt(StringTokenizer st, int defaultVal)
|
||||
@ -454,7 +454,7 @@ public final class L2TeleporterInstance extends L2Npc
|
||||
|
||||
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
|
||||
|
||||
final String filename = !HtmCache.getInstance().isLoadable(("html/teleporter/half/" + getId() + ".htm")) ? "html/teleporter/" + getId() + "-1.htm" : "html/teleporter/half/" + getId() + ".htm";
|
||||
final String filename = !HtmCache.getInstance().isLoadable("html/teleporter/half/" + getId() + ".htm") ? "html/teleporter/" + getId() + "-1.htm" : "html/teleporter/half/" + getId() + ".htm";
|
||||
html.setFile(player.getHtmlPrefix(), filename);
|
||||
html.replace("%objectId%", String.valueOf(getObjectId()));
|
||||
html.replace("%npcname%", getName());
|
||||
|
@ -346,7 +346,7 @@ public final class L2TrapInstance extends L2Npc
|
||||
sm.addCharName(this);
|
||||
sm.addCharName(target);
|
||||
sm.addInt(damage);
|
||||
sm.addPopup(target.getObjectId(), getObjectId(), (damage * -1));
|
||||
sm.addPopup(target.getObjectId(), getObjectId(), damage * -1);
|
||||
_owner.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
|
@ -158,13 +158,13 @@ public class L2VillageMasterInstance extends L2NpcInstance
|
||||
return;
|
||||
}
|
||||
|
||||
if (player.getClan() == null)
|
||||
if (player.getClan() != null)
|
||||
{
|
||||
player.sendPacket(SystemMessageId.ONLY_CLAN_LEADERS_MAY_CREATE_ALLIANCES);
|
||||
player.getClan().createAlly(player, cmdParams);
|
||||
}
|
||||
else
|
||||
{
|
||||
player.getClan().createAlly(player, cmdParams);
|
||||
player.sendPacket(SystemMessageId.ONLY_CLAN_LEADERS_MAY_CREATE_ALLIANCES);
|
||||
}
|
||||
}
|
||||
else if (actualCommand.equalsIgnoreCase("dissolve_ally"))
|
||||
@ -309,7 +309,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
|
||||
return checkVillageMasterRace(pclass) && checkVillageMasterTeachType(pclass);
|
||||
}
|
||||
|
||||
private static final void dissolveClan(L2PcInstance player, int clanId)
|
||||
private static void dissolveClan(L2PcInstance player, int clanId)
|
||||
{
|
||||
if (!player.isClanLeader())
|
||||
{
|
||||
@ -370,7 +370,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
|
||||
ClanTable.getInstance().scheduleRemoveClan(clan.getId());
|
||||
}
|
||||
|
||||
private static final void recoverClan(L2PcInstance player, int clanId)
|
||||
private static void recoverClan(L2PcInstance player, int clanId)
|
||||
{
|
||||
if (!player.isClanLeader())
|
||||
{
|
||||
@ -383,7 +383,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
|
||||
clan.updateClanInDB();
|
||||
}
|
||||
|
||||
private static final void createSubPledge(L2PcInstance player, String clanName, String leaderName, int pledgeType, int minClanLvl)
|
||||
private static void createSubPledge(L2PcInstance player, String clanName, String leaderName, int pledgeType, int minClanLvl)
|
||||
{
|
||||
if (!player.isClanLeader())
|
||||
{
|
||||
@ -493,7 +493,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
|
||||
}
|
||||
}
|
||||
|
||||
private static final void renameSubPledge(L2PcInstance player, int pledgeType, String pledgeName)
|
||||
private static void renameSubPledge(L2PcInstance player, int pledgeType, String pledgeName)
|
||||
{
|
||||
if (!player.isClanLeader())
|
||||
{
|
||||
@ -526,7 +526,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
|
||||
player.sendMessage("Pledge name changed.");
|
||||
}
|
||||
|
||||
private static final void assignSubPledgeLeader(L2PcInstance player, String clanName, String leaderName)
|
||||
private static void assignSubPledgeLeader(L2PcInstance player, String clanName, String leaderName)
|
||||
{
|
||||
if (!player.isClanLeader())
|
||||
{
|
||||
@ -588,7 +588,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
|
||||
* this displays PledgeSkillList to the player.
|
||||
* @param player
|
||||
*/
|
||||
public static final void showPledgeSkillList(L2PcInstance player)
|
||||
public static void showPledgeSkillList(L2PcInstance player)
|
||||
{
|
||||
if (!player.isClanLeader())
|
||||
{
|
||||
|
@ -50,10 +50,10 @@ public class DefenderKnownList extends AttackableKnownList
|
||||
{
|
||||
player = object.getActingPlayer();
|
||||
}
|
||||
final int activeSiegeId = (fortress != null ? fortress.getResidenceId() : (castle != null ? castle.getResidenceId() : hall != null ? hall.getId() : 0));
|
||||
final int activeSiegeId = fortress != null ? fortress.getResidenceId() : (castle != null ? castle.getResidenceId() : hall != null ? hall.getId() : 0);
|
||||
|
||||
// Check if player is an enemy of this defender npc
|
||||
if ((player != null) && (((player.getSiegeState() == 2) && !player.isRegisteredOnThisSiegeField(activeSiegeId)) || ((player.getSiegeState() == 1)) || (player.getSiegeState() == 0)))
|
||||
if ((player != null) && (((player.getSiegeState() == 2) && !player.isRegisteredOnThisSiegeField(activeSiegeId)) || (player.getSiegeState() == 1) || (player.getSiegeState() == 0)))
|
||||
{
|
||||
if (getActiveChar().getAI().getIntention() == CtrlIntention.AI_INTENTION_IDLE)
|
||||
{
|
||||
|
@ -73,7 +73,7 @@ public class GuardKnownList extends AttackableKnownList
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ((Config.GUARD_ATTACK_AGGRO_MOB && getActiveChar().isInActiveRegion()) && object.isMonster() && ((L2MonsterInstance) object).isAggressive())
|
||||
else if (Config.GUARD_ATTACK_AGGRO_MOB && getActiveChar().isInActiveRegion() && object.isMonster() && ((L2MonsterInstance) object).isAggressive())
|
||||
{
|
||||
if (Config.DEBUG)
|
||||
{
|
||||
|
@ -77,16 +77,13 @@ public class PcKnownList extends PlayableKnownList
|
||||
// else if (object.getPolytype().equals("npc"))
|
||||
// sendPacket(new NpcInfoPoly(object, this));
|
||||
}
|
||||
else
|
||||
else if (object.isVisibleFor(getActiveChar()))
|
||||
{
|
||||
if (object.isVisibleFor(getActiveChar()))
|
||||
object.sendInfo(getActiveChar());
|
||||
|
||||
if ((object instanceof L2Character) && ((L2Character) object).hasAI())
|
||||
{
|
||||
object.sendInfo(getActiveChar());
|
||||
|
||||
if ((object instanceof L2Character) && ((L2Character) object).hasAI())
|
||||
{
|
||||
((L2Character) object).getAI().describeStateToPlayer(getActiveChar());
|
||||
}
|
||||
((L2Character) object).getAI().describeStateToPlayer(getActiveChar());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -160,7 +160,7 @@ public class CharStat
|
||||
*/
|
||||
public final float getAttackSpeedMultiplier()
|
||||
{
|
||||
return (float) (((1.1) * getPAtkSpd()) / _activeChar.getTemplate().getBasePAtkSpd());
|
||||
return (float) ((1.1 * getPAtkSpd()) / _activeChar.getTemplate().getBasePAtkSpd());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -188,7 +188,7 @@ public class CharStat
|
||||
{
|
||||
if (maxCrit > 0)
|
||||
{
|
||||
val = Math.min(val, (Config.MAX_PCRIT_RATE + maxCrit));
|
||||
val = Math.min(val, Config.MAX_PCRIT_RATE + maxCrit);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -587,7 +587,7 @@ public class CharStat
|
||||
*/
|
||||
public double getPDef(L2Character target)
|
||||
{
|
||||
return calcStat(Stats.POWER_DEFENCE, (_activeChar.isRaid()) ? _activeChar.getTemplate().getBasePDef() * Config.RAID_PDEFENCE_MULTIPLIER : _activeChar.getTemplate().getBasePDef(), target, null);
|
||||
return calcStat(Stats.POWER_DEFENCE, _activeChar.isRaid() ? _activeChar.getTemplate().getBasePDef() * Config.RAID_PDEFENCE_MULTIPLIER : _activeChar.getTemplate().getBasePDef(), target, null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -183,22 +183,19 @@ public class PcStat extends PlayableStat
|
||||
sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_EARNED_S1_XP);
|
||||
sm.addLong(addToExp);
|
||||
}
|
||||
else if (addToExp > baseExp)
|
||||
{
|
||||
sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_ACQUIRED_S1_XP_BONUS_S2_AND_S3_SP_BONUS_S4);
|
||||
sm.addLong(addToExp);
|
||||
sm.addLong(addToExp - baseExp);
|
||||
sm.addLong(addToSp);
|
||||
sm.addLong(addToSp - baseSp);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (addToExp > baseExp)
|
||||
{
|
||||
sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_ACQUIRED_S1_XP_BONUS_S2_AND_S3_SP_BONUS_S4);
|
||||
sm.addLong(addToExp);
|
||||
sm.addLong(addToExp - baseExp);
|
||||
sm.addLong(addToSp);
|
||||
sm.addLong(addToSp - baseSp);
|
||||
}
|
||||
else
|
||||
{
|
||||
sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_EARNED_S1_XP_AND_S2_SP);
|
||||
sm.addLong(addToExp);
|
||||
sm.addLong(addToSp);
|
||||
}
|
||||
sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_EARNED_S1_XP_AND_S2_SP);
|
||||
sm.addLong(addToExp);
|
||||
sm.addLong(addToSp);
|
||||
}
|
||||
activeChar.sendPacket(sm);
|
||||
return true;
|
||||
@ -765,12 +762,12 @@ public class PcStat extends PlayableStat
|
||||
|
||||
if (vitality > 1.0)
|
||||
{
|
||||
bonus += (vitality - 1);
|
||||
bonus += vitality - 1;
|
||||
}
|
||||
|
||||
if (bonusExp > 1)
|
||||
{
|
||||
bonus += (bonusExp - 1);
|
||||
bonus += bonusExp - 1;
|
||||
}
|
||||
|
||||
// Check for abnormal bonuses
|
||||
@ -794,12 +791,12 @@ public class PcStat extends PlayableStat
|
||||
|
||||
if (vitality > 1.0)
|
||||
{
|
||||
bonus += (vitality - 1);
|
||||
bonus += vitality - 1;
|
||||
}
|
||||
|
||||
if (bonusSp > 1)
|
||||
{
|
||||
bonus += (bonusSp - 1);
|
||||
bonus += bonusSp - 1;
|
||||
}
|
||||
|
||||
// Check for abnormal bonuses
|
||||
|
@ -167,7 +167,7 @@ public class PlayableStat extends CharStat
|
||||
}
|
||||
}
|
||||
|
||||
final boolean levelIncreased = ((getLevel() + value) > getLevel());
|
||||
final boolean levelIncreased = (getLevel() + value) > getLevel();
|
||||
value += getLevel();
|
||||
setLevel(value);
|
||||
|
||||
|
@ -138,7 +138,7 @@ public class CharStatus
|
||||
}
|
||||
|
||||
// invul handling
|
||||
if ((getActiveChar().isInvul() || getActiveChar().isHpBlocked()) && !(isDOT || isHPConsumption))
|
||||
if ((getActiveChar().isInvul() || getActiveChar().isHpBlocked()) && !isDOT && !isHPConsumption)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ public class PcStatus extends PlayableStatus
|
||||
return;
|
||||
}
|
||||
|
||||
if ((getActiveChar().isInvul() || getActiveChar().isHpBlocked()) && !getActiveChar().isVulnerableFor(attacker) && !(isDOT || isHPConsumption))
|
||||
if ((getActiveChar().isInvul() || getActiveChar().isHpBlocked()) && !getActiveChar().isVulnerableFor(attacker) && !isDOT && !isHPConsumption)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -175,7 +175,7 @@ public class PcStatus extends PlayableStatus
|
||||
final L2PcInstance caster = getActiveChar().getTransferingDamageTo();
|
||||
if ((caster != null) && (getActiveChar().getParty() != null) && Util.checkIfInRange(1000, getActiveChar(), caster, true) && !caster.isDead() && (getActiveChar() != caster) && getActiveChar().getParty().getMembers().contains(caster))
|
||||
{
|
||||
int transferDmg = Math.min((int) caster.getCurrentHp() - 1, (((int) value * (int) getActiveChar().getStat().calcStat(Stats.TRANSFER_DAMAGE_TO_PLAYER, 0, null, null)) / 100));
|
||||
int transferDmg = Math.min((int) caster.getCurrentHp() - 1, ((int) value * (int) getActiveChar().getStat().calcStat(Stats.TRANSFER_DAMAGE_TO_PLAYER, 0, null, null)) / 100);
|
||||
|
||||
if (transferDmg > 0)
|
||||
{
|
||||
@ -304,7 +304,7 @@ public class PcStatus extends PlayableStatus
|
||||
return;
|
||||
}
|
||||
|
||||
if ((attacker != null) && (attacker.isPlayer()))
|
||||
if ((attacker != null) && attacker.isPlayer())
|
||||
{
|
||||
final int hpRestore = (int) attacker.getStat().calcStat(Stats.HP_RESTORE_ON_KILL, 0, null, null);
|
||||
if (hpRestore > 0)
|
||||
|
@ -56,7 +56,7 @@ public class SummonStatus extends PlayableStatus
|
||||
{
|
||||
if ((caster != null) && Util.checkIfInRange(1000, getActiveChar(), caster, true) && !caster.isDead() && getActiveChar().getParty().getMembers().contains(caster))
|
||||
{
|
||||
int transferDmg = Math.min((int) caster.getCurrentHp() - 1, (((int) value * (int) getActiveChar().getStat().calcStat(Stats.TRANSFER_DAMAGE_TO_PLAYER, 0, null, null)) / 100));
|
||||
int transferDmg = Math.min((int) caster.getCurrentHp() - 1, ((int) value * (int) getActiveChar().getStat().calcStat(Stats.TRANSFER_DAMAGE_TO_PLAYER, 0, null, null)) / 100);
|
||||
|
||||
if (transferDmg > 0)
|
||||
{
|
||||
@ -90,7 +90,7 @@ public class SummonStatus extends PlayableStatus
|
||||
}
|
||||
else if ((caster != null) && (caster == getActiveChar().getOwner()) && Util.checkIfInRange(1000, getActiveChar(), caster, true) && !caster.isDead()) // when no party, transfer only to owner (caster)
|
||||
{
|
||||
int transferDmg = Math.min((int) caster.getCurrentHp() - 1, (((int) value * (int) getActiveChar().getStat().calcStat(Stats.TRANSFER_DAMAGE_TO_PLAYER, 0, null, null)) / 100));
|
||||
int transferDmg = Math.min((int) caster.getCurrentHp() - 1, ((int) value * (int) getActiveChar().getStat().calcStat(Stats.TRANSFER_DAMAGE_TO_PLAYER, 0, null, null)) / 100);
|
||||
|
||||
if (transferDmg > 0)
|
||||
{
|
||||
|
Reference in New Issue
Block a user