Fixed Seal of Ruler casting prohibition.

This commit is contained in:
MobiusDevelopment
2021-10-25 22:48:10 +00:00
parent b1ceafd00c
commit fe146ca4e4
25 changed files with 77 additions and 77 deletions

View File

@@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.INVALID_TARGET);
canTakeCastle = false;
}
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
canTakeCastle = false;

View File

@@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.INVALID_TARGET);
canTakeCastle = false;
}
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
canTakeCastle = false;

View File

@@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.INVALID_TARGET);
canTakeCastle = false;
}
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
canTakeCastle = false;

View File

@@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.INVALID_TARGET);
canTakeCastle = false;
}
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
canTakeCastle = false;

View File

@@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.INVALID_TARGET);
canTakeCastle = false;
}
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
canTakeCastle = false;

View File

@@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.INVALID_TARGET);
canTakeCastle = false;
}
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
canTakeCastle = false;

View File

@@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.INVALID_TARGET);
canTakeCastle = false;
}
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
canTakeCastle = false;

View File

@@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.INVALID_TARGET);
canTakeCastle = false;
}
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
canTakeCastle = false;

View File

@@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.INVALID_TARGET);
canTakeCastle = false;
}
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
canTakeCastle = false;

View File

@@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.INVALID_TARGET);
canTakeCastle = false;
}
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
canTakeCastle = false;

View File

@@ -130,7 +130,7 @@ public class TakeCastle implements ISkillHandler
{
message = "You can only use this skill during a siege.";
}
else if (!Util.checkIfInRange(200, player, player.getTarget(), true) || (Math.abs(player.getZ() - player.getTarget().getZ()) > 40))
else if (!Util.checkIfInRange(200, player, player.getTarget(), true) || (Math.abs(player.getZ() - player.getTarget().getZ()) > 45))
{
message = "You are not in range of the artifact.";
}

View File

@@ -9808,10 +9808,10 @@ public class PlayerInstance extends Playable
// ************************************* Check Target *******************************************
// Create and set a WorldObject containing the target of the skill
WorldObject target = null;
final SkillTargetType sklTargetType = skill.getTargetType();
final SkillType sklType = skill.getSkillType();
final SkillTargetType skillTargetType = skill.getTargetType();
final SkillType skillType = skill.getSkillType();
switch (sklTargetType)
switch (skillTargetType)
{
// Target the player if skill type is AURA, PARTY, CLAN or SELF
case TARGET_AURA:
@@ -9882,7 +9882,7 @@ public class PlayerInstance extends Playable
}
// If target is not attackable, send a Server->Client packet ActionFailed
if (!target.canBeAttacked() && !getAccessLevel().allowPeaceAttack() && !target.isDoor())
if (!target.canBeAttacked() && !getAccessLevel().allowPeaceAttack() && !target.isDoor() && (skillType != SkillType.TAKECASTLE))
{
sendPacket(ActionFailed.STATIC_PACKET);
return;
@@ -9955,7 +9955,7 @@ public class PlayerInstance extends Playable
if ((requiredItems == null) || (requiredItems.getCount() < skill.getItemConsume()))
{
// Checked: when a summon skill failed, server show required consume item count
if (sklType == SkillType.SUMMON)
if (skillType == SkillType.SUMMON)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.SUMMONING_A_SERVITOR_COSTS_S2_S1);
sm.addItemName(skill.getItemConsumeId());
@@ -9979,7 +9979,7 @@ public class PlayerInstance extends Playable
}
// Like L2OFF if you have a summon you can't summon another one (ignore cubics)
if ((sklType == SkillType.SUMMON) && (skill instanceof SkillSummon) && !((SkillSummon) skill).isCubic() && ((getPet() != null) || isMounted()))
if ((skillType == SkillType.SUMMON) && (skill instanceof SkillSummon) && !((SkillSummon) skill).isCubic() && ((getPet() != null) || isMounted()))
{
sendPacket(SystemMessageId.YOU_ALREADY_HAVE_A_PET);
return;
@@ -10030,7 +10030,7 @@ public class PlayerInstance extends Playable
return;
}
if (isFishing() && (sklType != SkillType.PUMPING) && (sklType != SkillType.REELING) && (sklType != SkillType.FISHING))
if (isFishing() && (skillType != SkillType.PUMPING) && (skillType != SkillType.REELING) && (skillType != SkillType.FISHING))
{
// Only fishing skills are available
sendPacket(SystemMessageId.ONLY_FISHING_SKILLS_MAY_BE_USED_AT_THIS_TIME);
@@ -10044,21 +10044,21 @@ public class PlayerInstance extends Playable
{
if (isInsidePeaceZone(this, target) // Like L2OFF you can use cupid bow skills on peace zone
&& ((skill.getId() != 3260 /* Forgiveness */) && (skill.getId() != 3261 /* Heart Shot */) && (skill.getId() != 3262 /* Double Heart Shot */) //
&& (sklTargetType != SkillTargetType.TARGET_AURA))) // Like L2OFF people can use TARGET_AURE skills on peace zone
&& (skillTargetType != SkillTargetType.TARGET_AURA))) // Like L2OFF people can use TARGET_AURE skills on peace zone
{
// If Creature 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);
sendPacket(ActionFailed.STATIC_PACKET);
return;
}
if (isInOlympiadMode() && !isOlympiadStart() && (sklTargetType != SkillTargetType.TARGET_AURA))
if (isInOlympiadMode() && !isOlympiadStart() && (skillTargetType != SkillTargetType.TARGET_AURA))
{
// if PlayerInstance is in Olympia and the match isn't already start, send a Server->Client packet ActionFailed
sendPacket(ActionFailed.STATIC_PACKET);
return;
}
if (!(target instanceof MonsterInstance) && (sklType == SkillType.CONFUSE_MOB_ONLY))
if (!(target instanceof MonsterInstance) && (skillType == SkillType.CONFUSE_MOB_ONLY))
{
sendPacket(ActionFailed.STATIC_PACKET);
return;
@@ -10071,12 +10071,12 @@ public class PlayerInstance extends Playable
&& (!_inEventDM || !DM.hasStarted()) //
&& (!_inEventCTF || !CTF.isStarted()) //
&& (!_inEventVIP || !VIP._started) //
&& (sklTargetType != SkillTargetType.TARGET_AURA) //
&& (sklTargetType != SkillTargetType.TARGET_CLAN) //
&& (sklTargetType != SkillTargetType.TARGET_ALLY) //
&& (sklTargetType != SkillTargetType.TARGET_PARTY) //
&& (sklTargetType != SkillTargetType.TARGET_SELF) //
&& (sklTargetType != SkillTargetType.TARGET_GROUND))
&& (skillTargetType != SkillTargetType.TARGET_AURA) //
&& (skillTargetType != SkillTargetType.TARGET_CLAN) //
&& (skillTargetType != SkillTargetType.TARGET_ALLY) //
&& (skillTargetType != SkillTargetType.TARGET_PARTY) //
&& (skillTargetType != SkillTargetType.TARGET_SELF) //
&& (skillTargetType != SkillTargetType.TARGET_GROUND))
{
// Send a Server->Client packet ActionFailed to the PlayerInstance
sendPacket(ActionFailed.STATIC_PACKET);
@@ -10087,7 +10087,7 @@ public class PlayerInstance extends Playable
if (dontMove)
{
// Calculate the distance between the PlayerInstance and the target
if (sklTargetType == SkillTargetType.TARGET_GROUND)
if (skillTargetType == SkillTargetType.TARGET_GROUND)
{
if (!isInsideRadius2D(getCurrentSkillWorldPosition().getX(), getCurrentSkillWorldPosition().getY(), getCurrentSkillWorldPosition().getZ(), skill.getCastRange() + getTemplate().getCollisionRadius()))
{
@@ -10110,7 +10110,7 @@ public class PlayerInstance extends Playable
}
}
// Check range for SIGNET skills
else if ((sklType == SkillType.SIGNET) && !isInsideRadius2D(getCurrentSkillWorldPosition().getX(), getCurrentSkillWorldPosition().getY(), getCurrentSkillWorldPosition().getZ(), skill.getCastRange() + getTemplate().getCollisionRadius()))
else if ((skillType == SkillType.SIGNET) && !isInsideRadius2D(getCurrentSkillWorldPosition().getX(), getCurrentSkillWorldPosition().getY(), getCurrentSkillWorldPosition().getZ(), skill.getCastRange() + getTemplate().getCollisionRadius()))
{
// Send a System Message to the caster
sendPacket(SystemMessageId.YOUR_TARGET_IS_OUT_OF_RANGE);
@@ -10121,7 +10121,7 @@ public class PlayerInstance extends Playable
}
}
// Check if the skill is defensive and if the target is a monster and if force attack is set.. if not then we don't want to cast.
if (!skill.isOffensive() && (target instanceof MonsterInstance) && !forceUse && (sklTargetType != SkillTargetType.TARGET_PET) && (sklTargetType != SkillTargetType.TARGET_AURA) && (sklTargetType != SkillTargetType.TARGET_CLAN) && (sklTargetType != SkillTargetType.TARGET_SELF) && (sklTargetType != SkillTargetType.TARGET_PARTY) && (sklTargetType != SkillTargetType.TARGET_ALLY) && (sklTargetType != SkillTargetType.TARGET_CORPSE_MOB) && (sklTargetType != SkillTargetType.TARGET_AREA_CORPSE_MOB) && (sklTargetType != SkillTargetType.TARGET_GROUND) && (sklType != SkillType.BEAST_FEED) && (sklType != SkillType.DELUXE_KEY_UNLOCK) && (sklType != SkillType.UNLOCK))
if (!skill.isOffensive() && (target instanceof MonsterInstance) && !forceUse && (skillTargetType != SkillTargetType.TARGET_PET) && (skillTargetType != SkillTargetType.TARGET_AURA) && (skillTargetType != SkillTargetType.TARGET_CLAN) && (skillTargetType != SkillTargetType.TARGET_SELF) && (skillTargetType != SkillTargetType.TARGET_PARTY) && (skillTargetType != SkillTargetType.TARGET_ALLY) && (skillTargetType != SkillTargetType.TARGET_CORPSE_MOB) && (skillTargetType != SkillTargetType.TARGET_AREA_CORPSE_MOB) && (skillTargetType != SkillTargetType.TARGET_GROUND) && (skillType != SkillType.BEAST_FEED) && (skillType != SkillType.DELUXE_KEY_UNLOCK) && (skillType != SkillType.UNLOCK))
{
// send the action failed so that the skill doens't go off.
sendPacket(ActionFailed.STATIC_PACKET);
@@ -10129,7 +10129,7 @@ public class PlayerInstance extends Playable
}
// Check if the skill is Spoil type and if the target isn't already spoiled
if ((sklType == SkillType.SPOIL) && !(target instanceof MonsterInstance))
if ((skillType == SkillType.SPOIL) && !(target instanceof MonsterInstance))
{
// Send a System Message to the PlayerInstance
sendPacket(SystemMessageId.THAT_IS_THE_INCORRECT_TARGET);
@@ -10140,7 +10140,7 @@ public class PlayerInstance extends Playable
}
// Check if the skill is Sweep type and if conditions not apply
if ((sklType == SkillType.SWEEP) && (target instanceof Attackable))
if ((skillType == SkillType.SWEEP) && (target instanceof Attackable))
{
final int spoilerId = ((Attackable) target).getSpoiledBy();
if (((Attackable) target).isDead())
@@ -10168,7 +10168,7 @@ public class PlayerInstance extends Playable
}
// Check if the skill is Drain Soul (Soul Crystals) and if the target is a MOB
if ((sklType == SkillType.DRAIN_SOUL) && !(target instanceof MonsterInstance))
if ((skillType == SkillType.DRAIN_SOUL) && !(target instanceof MonsterInstance))
{
// Send a System Message to the PlayerInstance
sendPacket(SystemMessageId.THAT_IS_THE_INCORRECT_TARGET);
@@ -10178,14 +10178,14 @@ public class PlayerInstance extends Playable
return;
}
if ((sklTargetType == SkillTargetType.TARGET_GROUND) && (getCurrentSkillWorldPosition() == null))
if ((skillTargetType == SkillTargetType.TARGET_GROUND) && (getCurrentSkillWorldPosition() == null))
{
sendPacket(ActionFailed.STATIC_PACKET);
return;
}
// Check if this is a Pvp skill and target isn't a non-flagged/non-karma player
switch (sklTargetType)
switch (skillTargetType)
{
case TARGET_PARTY:
case TARGET_ALLY: // For such skills, checkPvpSkill() is called from Skill.getTargetList()
@@ -10212,20 +10212,20 @@ public class PlayerInstance extends Playable
}
}
if ((sklTargetType == SkillTargetType.TARGET_HOLY) && !TakeCastle.checkIfOkToCastSealOfRule(this, false))
if ((skillTargetType == SkillTargetType.TARGET_HOLY) && !TakeCastle.checkIfOkToCastSealOfRule(this, false))
{
sendPacket(ActionFailed.STATIC_PACKET);
abortCast();
return;
}
if ((sklType == SkillType.SIEGEFLAG) && !SiegeFlag.checkIfOkToPlaceFlag(this, false))
if ((skillType == SkillType.SIEGEFLAG) && !SiegeFlag.checkIfOkToPlaceFlag(this, false))
{
sendPacket(ActionFailed.STATIC_PACKET);
abortCast();
return;
}
else if ((sklType == SkillType.STRSIEGEASSAULT) && !StrSiegeAssault.checkIfOkToUseStriderSiegeAssault(this, false))
else if ((skillType == SkillType.STRSIEGEASSAULT) && !StrSiegeAssault.checkIfOkToUseStriderSiegeAssault(this, false))
{
sendPacket(ActionFailed.STATIC_PACKET);
abortCast();

View File

@@ -130,7 +130,7 @@ public class TakeCastle implements ISkillHandler
{
message = "You can only use this skill during a siege.";
}
else if (!Util.checkIfInRange(200, player, player.getTarget(), true) || (Math.abs(player.getZ() - player.getTarget().getZ()) > 40))
else if (!Util.checkIfInRange(200, player, player.getTarget(), true) || (Math.abs(player.getZ() - player.getTarget().getZ()) > 45))
{
message = "You are not in range of the artifact.";
}

View File

@@ -9970,10 +9970,10 @@ public class PlayerInstance extends Playable
// ************************************* Check Target *******************************************
// Create and set a WorldObject containing the target of the skill
WorldObject target = null;
final SkillTargetType sklTargetType = skill.getTargetType();
final SkillType sklType = skill.getSkillType();
final SkillTargetType skillTargetType = skill.getTargetType();
final SkillType skillType = skill.getSkillType();
switch (sklTargetType)
switch (skillTargetType)
{
// Target the player if skill type is AURA, PARTY, CLAN or SELF
case TARGET_AURA:
@@ -10044,7 +10044,7 @@ public class PlayerInstance extends Playable
}
// If target is not attackable, send a Server->Client packet ActionFailed
if (!target.canBeAttacked() && !getAccessLevel().allowPeaceAttack() && !target.isDoor())
if (!target.canBeAttacked() && !getAccessLevel().allowPeaceAttack() && !target.isDoor() && (skillType != SkillType.TAKECASTLE))
{
sendPacket(ActionFailed.STATIC_PACKET);
return;
@@ -10125,7 +10125,7 @@ public class PlayerInstance extends Playable
if ((requiredItems == null) || (requiredItems.getCount() < skill.getItemConsume()))
{
// Checked: when a summon skill failed, server show required consume item count
if (sklType == SkillType.SUMMON)
if (skillType == SkillType.SUMMON)
{
final SystemMessage sm = new SystemMessage(SystemMessageId.SUMMONING_A_SERVITOR_COSTS_S2_S1);
sm.addItemName(skill.getItemConsumeId());
@@ -10149,7 +10149,7 @@ public class PlayerInstance extends Playable
}
// Like L2OFF if you have a summon you can't summon another one (ignore cubics)
if ((sklType == SkillType.SUMMON) && (skill instanceof SkillSummon) && !((SkillSummon) skill).isCubic() && ((getPet() != null) || isMounted()))
if ((skillType == SkillType.SUMMON) && (skill instanceof SkillSummon) && !((SkillSummon) skill).isCubic() && ((getPet() != null) || isMounted()))
{
sendPacket(SystemMessageId.YOU_ALREADY_HAVE_A_PET);
return;
@@ -10201,7 +10201,7 @@ public class PlayerInstance extends Playable
return;
}
if (isFishing() && (sklType != SkillType.PUMPING) && (sklType != SkillType.REELING) && (sklType != SkillType.FISHING))
if (isFishing() && (skillType != SkillType.PUMPING) && (skillType != SkillType.REELING) && (skillType != SkillType.FISHING))
{
// Only fishing skills are available
sendPacket(SystemMessageId.ONLY_FISHING_SKILLS_MAY_BE_USED_AT_THIS_TIME);
@@ -10215,21 +10215,21 @@ public class PlayerInstance extends Playable
{
if (isInsidePeaceZone(this, target) // Like L2OFF you can use cupid bow skills on peace zone
&& ((skill.getId() != 3260 /* Forgiveness */) && (skill.getId() != 3261 /* Heart Shot */) && (skill.getId() != 3262 /* Double Heart Shot */) //
&& (sklTargetType != SkillTargetType.TARGET_AURA))) // Like L2OFF people can use TARGET_AURE skills on peace zone
&& (skillTargetType != SkillTargetType.TARGET_AURA))) // Like L2OFF people can use TARGET_AURE skills on peace zone
{
// If Creature 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);
sendPacket(ActionFailed.STATIC_PACKET);
return;
}
if (isInOlympiadMode() && !isOlympiadStart() && (sklTargetType != SkillTargetType.TARGET_AURA))
if (isInOlympiadMode() && !isOlympiadStart() && (skillTargetType != SkillTargetType.TARGET_AURA))
{
// if PlayerInstance is in Olympia and the match isn't already start, send a Server->Client packet ActionFailed
sendPacket(ActionFailed.STATIC_PACKET);
return;
}
if (!(target instanceof MonsterInstance) && (sklType == SkillType.CONFUSE_MOB_ONLY))
if (!(target instanceof MonsterInstance) && (skillType == SkillType.CONFUSE_MOB_ONLY))
{
sendPacket(ActionFailed.STATIC_PACKET);
return;
@@ -10242,12 +10242,12 @@ public class PlayerInstance extends Playable
&& (!_inEventDM || !DM.hasStarted()) //
&& (!_inEventCTF || !CTF.isStarted()) //
&& (!_inEventVIP || !VIP._started) //
&& (sklTargetType != SkillTargetType.TARGET_AURA) //
&& (sklTargetType != SkillTargetType.TARGET_CLAN) //
&& (sklTargetType != SkillTargetType.TARGET_ALLY) //
&& (sklTargetType != SkillTargetType.TARGET_PARTY) //
&& (sklTargetType != SkillTargetType.TARGET_SELF) //
&& (sklTargetType != SkillTargetType.TARGET_GROUND))
&& (skillTargetType != SkillTargetType.TARGET_AURA) //
&& (skillTargetType != SkillTargetType.TARGET_CLAN) //
&& (skillTargetType != SkillTargetType.TARGET_ALLY) //
&& (skillTargetType != SkillTargetType.TARGET_PARTY) //
&& (skillTargetType != SkillTargetType.TARGET_SELF) //
&& (skillTargetType != SkillTargetType.TARGET_GROUND))
{
// Send a Server->Client packet ActionFailed to the PlayerInstance
sendPacket(ActionFailed.STATIC_PACKET);
@@ -10258,7 +10258,7 @@ public class PlayerInstance extends Playable
if (dontMove)
{
// Calculate the distance between the PlayerInstance and the target
if (sklTargetType == SkillTargetType.TARGET_GROUND)
if (skillTargetType == SkillTargetType.TARGET_GROUND)
{
if (!isInsideRadius2D(getCurrentSkillWorldPosition().getX(), getCurrentSkillWorldPosition().getY(), getCurrentSkillWorldPosition().getZ(), skill.getCastRange() + getTemplate().getCollisionRadius()))
{
@@ -10281,7 +10281,7 @@ public class PlayerInstance extends Playable
}
}
// Check range for SIGNET skills
else if ((sklType == SkillType.SIGNET) && !isInsideRadius2D(getCurrentSkillWorldPosition().getX(), getCurrentSkillWorldPosition().getY(), getCurrentSkillWorldPosition().getZ(), skill.getCastRange() + getTemplate().getCollisionRadius()))
else if ((skillType == SkillType.SIGNET) && !isInsideRadius2D(getCurrentSkillWorldPosition().getX(), getCurrentSkillWorldPosition().getY(), getCurrentSkillWorldPosition().getZ(), skill.getCastRange() + getTemplate().getCollisionRadius()))
{
// Send a System Message to the caster
sendPacket(SystemMessageId.YOUR_TARGET_IS_OUT_OF_RANGE);
@@ -10292,7 +10292,7 @@ public class PlayerInstance extends Playable
}
}
// Check if the skill is defensive and if the target is a monster and if force attack is set.. if not then we don't want to cast.
if (!skill.isOffensive() && (target instanceof MonsterInstance) && !forceUse && (sklTargetType != SkillTargetType.TARGET_PET) && (sklTargetType != SkillTargetType.TARGET_AURA) && (sklTargetType != SkillTargetType.TARGET_CLAN) && (sklTargetType != SkillTargetType.TARGET_SELF) && (sklTargetType != SkillTargetType.TARGET_PARTY) && (sklTargetType != SkillTargetType.TARGET_ALLY) && (sklTargetType != SkillTargetType.TARGET_CORPSE_MOB) && (sklTargetType != SkillTargetType.TARGET_AREA_CORPSE_MOB) && (sklTargetType != SkillTargetType.TARGET_GROUND) && (sklType != SkillType.BEAST_FEED) && (sklType != SkillType.DELUXE_KEY_UNLOCK) && (sklType != SkillType.UNLOCK))
if (!skill.isOffensive() && (target instanceof MonsterInstance) && !forceUse && (skillTargetType != SkillTargetType.TARGET_PET) && (skillTargetType != SkillTargetType.TARGET_AURA) && (skillTargetType != SkillTargetType.TARGET_CLAN) && (skillTargetType != SkillTargetType.TARGET_SELF) && (skillTargetType != SkillTargetType.TARGET_PARTY) && (skillTargetType != SkillTargetType.TARGET_ALLY) && (skillTargetType != SkillTargetType.TARGET_CORPSE_MOB) && (skillTargetType != SkillTargetType.TARGET_AREA_CORPSE_MOB) && (skillTargetType != SkillTargetType.TARGET_GROUND) && (skillType != SkillType.BEAST_FEED) && (skillType != SkillType.DELUXE_KEY_UNLOCK) && (skillType != SkillType.UNLOCK))
{
// send the action failed so that the skill doens't go off.
sendPacket(ActionFailed.STATIC_PACKET);
@@ -10300,7 +10300,7 @@ public class PlayerInstance extends Playable
}
// Check if the skill is Spoil type and if the target isn't already spoiled
if ((sklType == SkillType.SPOIL) && !(target instanceof MonsterInstance))
if ((skillType == SkillType.SPOIL) && !(target instanceof MonsterInstance))
{
// Send a System Message to the PlayerInstance
sendPacket(SystemMessageId.THAT_IS_THE_INCORRECT_TARGET);
@@ -10311,7 +10311,7 @@ public class PlayerInstance extends Playable
}
// Check if the skill is Sweep type and if conditions not apply
if ((sklType == SkillType.SWEEP) && (target instanceof Attackable))
if ((skillType == SkillType.SWEEP) && (target instanceof Attackable))
{
final int spoilerId = ((Attackable) target).getSpoiledBy();
if (((Attackable) target).isDead())
@@ -10339,7 +10339,7 @@ public class PlayerInstance extends Playable
}
// Check if the skill is Drain Soul (Soul Crystals) and if the target is a MOB
if ((sklType == SkillType.DRAIN_SOUL) && !(target instanceof MonsterInstance))
if ((skillType == SkillType.DRAIN_SOUL) && !(target instanceof MonsterInstance))
{
// Send a System Message to the PlayerInstance
sendPacket(SystemMessageId.THAT_IS_THE_INCORRECT_TARGET);
@@ -10349,14 +10349,14 @@ public class PlayerInstance extends Playable
return;
}
if ((sklTargetType == SkillTargetType.TARGET_GROUND) && (getCurrentSkillWorldPosition() == null))
if ((skillTargetType == SkillTargetType.TARGET_GROUND) && (getCurrentSkillWorldPosition() == null))
{
sendPacket(ActionFailed.STATIC_PACKET);
return;
}
// Check if this is a Pvp skill and target isn't a non-flagged/non-karma player
switch (sklTargetType)
switch (skillTargetType)
{
case TARGET_PARTY:
case TARGET_ALLY: // For such skills, checkPvpSkill() is called from Skill.getTargetList()
@@ -10383,20 +10383,20 @@ public class PlayerInstance extends Playable
}
}
if ((sklTargetType == SkillTargetType.TARGET_HOLY) && !TakeCastle.checkIfOkToCastSealOfRule(this, false))
if ((skillTargetType == SkillTargetType.TARGET_HOLY) && !TakeCastle.checkIfOkToCastSealOfRule(this, false))
{
sendPacket(ActionFailed.STATIC_PACKET);
abortCast();
return;
}
if ((sklType == SkillType.SIEGEFLAG) && !SiegeFlag.checkIfOkToPlaceFlag(this, false))
if ((skillType == SkillType.SIEGEFLAG) && !SiegeFlag.checkIfOkToPlaceFlag(this, false))
{
sendPacket(ActionFailed.STATIC_PACKET);
abortCast();
return;
}
else if ((sklType == SkillType.STRSIEGEASSAULT) && !StrSiegeAssault.checkIfOkToUseStriderSiegeAssault(this, false))
else if ((skillType == SkillType.STRSIEGEASSAULT) && !StrSiegeAssault.checkIfOkToUseStriderSiegeAssault(this, false))
{
sendPacket(ActionFailed.STATIC_PACKET);
abortCast();

View File

@@ -60,7 +60,7 @@ public class ConditionPlayerCanTakeCastle extends Condition
player.sendPacket(SystemMessageId.INVALID_TARGET);
return false;
}
else if (!Util.checkIfInRange(200, player, effected, true) || (player.getZ() < effected.getZ()) || (Math.abs(player.getZ() - effected.getZ()) > 40))
else if (!Util.checkIfInRange(200, player, effected, true) || (player.getZ() < effected.getZ()) || (Math.abs(player.getZ() - effected.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
return false;

View File

@@ -60,7 +60,7 @@ public class ConditionPlayerCanTakeCastle extends Condition
player.sendPacket(SystemMessageId.INVALID_TARGET);
return false;
}
else if (!Util.checkIfInRange(200, player, effected, true) || (player.getZ() < effected.getZ()) || (Math.abs(player.getZ() - effected.getZ()) > 40))
else if (!Util.checkIfInRange(200, player, effected, true) || (player.getZ() < effected.getZ()) || (Math.abs(player.getZ() - effected.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_STOPPED);
return false;

View File

@@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.INVALID_TARGET);
canTakeCastle = false;
}
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
canTakeCastle = false;

View File

@@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.INVALID_TARGET);
canTakeCastle = false;
}
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
canTakeCastle = false;

View File

@@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.INVALID_TARGET);
canTakeCastle = false;
}
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
canTakeCastle = false;

View File

@@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.INVALID_TARGET);
canTakeCastle = false;
}
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
canTakeCastle = false;

View File

@@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.INVALID_TARGET);
canTakeCastle = false;
}
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
canTakeCastle = false;

View File

@@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.INVALID_TARGET);
canTakeCastle = false;
}
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
canTakeCastle = false;

View File

@@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.INVALID_TARGET);
canTakeCastle = false;
}
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
canTakeCastle = false;

View File

@@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.INVALID_TARGET);
canTakeCastle = false;
}
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
canTakeCastle = false;

View File

@@ -66,7 +66,7 @@ public class PossessHolythingSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.INVALID_TARGET);
canTakeCastle = false;
}
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 40))
else if (!Util.checkIfInRange(skill.getCastRange(), player, target, true) || (Math.abs(player.getZ() - target.getZ()) > 45))
{
player.sendPacket(SystemMessageId.THE_DISTANCE_IS_TOO_FAR_AND_SO_THE_CASTING_HAS_BEEN_CANCELLED);
canTakeCastle = false;