Solo event status related additions.

This commit is contained in:
MobiusDevelopment
2021-10-30 13:54:02 +00:00
parent 4df8d007bd
commit 593e36fc3a
118 changed files with 263 additions and 120 deletions
@@ -79,7 +79,7 @@ public class NotFriend implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -79,7 +79,7 @@ public class NotFriendPc implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -1022,7 +1022,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return; return;
} }
// Events. // Events.
else if (getActingPlayer().isOnEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam())) else if (getActingPlayer().isOnEvent() && !getActingPlayer().isOnSoloEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam()))
{ {
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
@@ -64,7 +64,7 @@ public class ConditionPlayerCanTransform extends Condition
player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET); player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET);
canTransform = false; canTransform = false;
} }
else if (player.isOnEvent()) else if (player.isRegisteredOnEvent())
{ {
player.sendMessage("You cannot transform while registered on an event."); player.sendMessage("You cannot transform while registered on an event.");
canTransform = false; canTransform = false;
@@ -1130,7 +1130,7 @@ public class SkillCaster implements Runnable
return false; return false;
} }
if (skill.isBad()) if (skill.isBad() && !player.isOnSoloEvent())
{ {
final WorldObject target = player.getTarget(); final WorldObject target = player.getTarget();
if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam())) if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam()))
@@ -80,7 +80,7 @@ public class NotFriend implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -80,7 +80,7 @@ public class NotFriendPc implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -1022,7 +1022,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return; return;
} }
// Events. // Events.
else if (getActingPlayer().isOnEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam())) else if (getActingPlayer().isOnEvent() && !getActingPlayer().isOnSoloEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam()))
{ {
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
@@ -64,7 +64,7 @@ public class ConditionPlayerCanTransform extends Condition
player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET); player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET);
canTransform = false; canTransform = false;
} }
else if (player.isOnEvent()) else if (player.isRegisteredOnEvent())
{ {
player.sendMessage("You cannot transform while registered on an event."); player.sendMessage("You cannot transform while registered on an event.");
canTransform = false; canTransform = false;
@@ -1130,7 +1130,7 @@ public class SkillCaster implements Runnable
return false; return false;
} }
if (skill.isBad()) if (skill.isBad() && !player.isOnSoloEvent())
{ {
final WorldObject target = player.getTarget(); final WorldObject target = player.getTarget();
if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam())) if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam()))
@@ -80,7 +80,7 @@ public class NotFriend implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -80,7 +80,7 @@ public class NotFriendPc implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -1022,7 +1022,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return; return;
} }
// Events. // Events.
else if (getActingPlayer().isOnEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam())) else if (getActingPlayer().isOnEvent() && !getActingPlayer().isOnSoloEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam()))
{ {
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
@@ -64,7 +64,7 @@ public class ConditionPlayerCanTransform extends Condition
player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET); player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET);
canTransform = false; canTransform = false;
} }
else if (player.isOnEvent()) else if (player.isRegisteredOnEvent())
{ {
player.sendMessage("You cannot transform while registered on an event."); player.sendMessage("You cannot transform while registered on an event.");
canTransform = false; canTransform = false;
@@ -1130,7 +1130,7 @@ public class SkillCaster implements Runnable
return false; return false;
} }
if (skill.isBad()) if (skill.isBad() && !player.isOnSoloEvent())
{ {
final WorldObject target = player.getTarget(); final WorldObject target = player.getTarget();
if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam())) if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam()))
@@ -79,7 +79,7 @@ public class NotFriend implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -79,7 +79,7 @@ public class NotFriendPc implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -1022,7 +1022,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return; return;
} }
// Events. // Events.
else if (getActingPlayer().isOnEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam())) else if (getActingPlayer().isOnEvent() && !getActingPlayer().isOnSoloEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam()))
{ {
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
@@ -64,7 +64,7 @@ public class ConditionPlayerCanTransform extends Condition
player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET); player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET);
canTransform = false; canTransform = false;
} }
else if (player.isOnEvent()) else if (player.isRegisteredOnEvent())
{ {
player.sendMessage("You cannot transform while registered on an event."); player.sendMessage("You cannot transform while registered on an event.");
canTransform = false; canTransform = false;
@@ -1130,7 +1130,7 @@ public class SkillCaster implements Runnable
return false; return false;
} }
if (skill.isBad()) if (skill.isBad() && !player.isOnSoloEvent())
{ {
final WorldObject target = player.getTarget(); final WorldObject target = player.getTarget();
if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam())) if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam()))
@@ -79,7 +79,7 @@ public class NotFriend implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -79,7 +79,7 @@ public class NotFriendPc implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -1022,7 +1022,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return; return;
} }
// Events. // Events.
else if (getActingPlayer().isOnEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam())) else if (getActingPlayer().isOnEvent() && !getActingPlayer().isOnSoloEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam()))
{ {
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
@@ -64,7 +64,7 @@ public class ConditionPlayerCanTransform extends Condition
player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET); player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET);
canTransform = false; canTransform = false;
} }
else if (player.isOnEvent()) else if (player.isRegisteredOnEvent())
{ {
player.sendMessage("You cannot transform while registered on an event."); player.sendMessage("You cannot transform while registered on an event.");
canTransform = false; canTransform = false;
@@ -1130,7 +1130,7 @@ public class SkillCaster implements Runnable
return false; return false;
} }
if (skill.isBad()) if (skill.isBad() && !player.isOnSoloEvent())
{ {
final WorldObject target = player.getTarget(); final WorldObject target = player.getTarget();
if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam())) if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam()))
@@ -79,7 +79,7 @@ public class NotFriend implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -79,7 +79,7 @@ public class NotFriendPc implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -1022,7 +1022,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return; return;
} }
// Events. // Events.
else if (getActingPlayer().isOnEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam())) else if (getActingPlayer().isOnEvent() && !getActingPlayer().isOnSoloEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam()))
{ {
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
@@ -64,7 +64,7 @@ public class ConditionPlayerCanTransform extends Condition
player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET); player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET);
canTransform = false; canTransform = false;
} }
else if (player.isOnEvent()) else if (player.isRegisteredOnEvent())
{ {
player.sendMessage("You cannot transform while registered on an event."); player.sendMessage("You cannot transform while registered on an event.");
canTransform = false; canTransform = false;
@@ -1130,7 +1130,7 @@ public class SkillCaster implements Runnable
return false; return false;
} }
if (skill.isBad()) if (skill.isBad() && !player.isOnSoloEvent())
{ {
final WorldObject target = player.getTarget(); final WorldObject target = player.getTarget();
if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam())) if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam()))
@@ -79,7 +79,7 @@ public class NotFriend implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -79,7 +79,7 @@ public class NotFriendPc implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -1022,7 +1022,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return; return;
} }
// Events. // Events.
else if (getActingPlayer().isOnEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam())) else if (getActingPlayer().isOnEvent() && !getActingPlayer().isOnSoloEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam()))
{ {
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
@@ -64,7 +64,7 @@ public class ConditionPlayerCanTransform extends Condition
player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET); player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET);
canTransform = false; canTransform = false;
} }
else if (player.isOnEvent()) else if (player.isRegisteredOnEvent())
{ {
player.sendMessage("You cannot transform while registered on an event."); player.sendMessage("You cannot transform while registered on an event.");
canTransform = false; canTransform = false;
@@ -1130,7 +1130,7 @@ public class SkillCaster implements Runnable
return false; return false;
} }
if (skill.isBad()) if (skill.isBad() && !player.isOnSoloEvent())
{ {
final WorldObject target = player.getTarget(); final WorldObject target = player.getTarget();
if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam())) if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam()))
@@ -79,7 +79,7 @@ public class NotFriend implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -79,7 +79,7 @@ public class NotFriendPc implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -1022,7 +1022,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return; return;
} }
// Events. // Events.
else if (getActingPlayer().isOnEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam())) else if (getActingPlayer().isOnEvent() && !getActingPlayer().isOnSoloEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam()))
{ {
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
@@ -64,7 +64,7 @@ public class ConditionPlayerCanTransform extends Condition
player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET); player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET);
canTransform = false; canTransform = false;
} }
else if (player.isOnEvent()) else if (player.isRegisteredOnEvent())
{ {
player.sendMessage("You cannot transform while registered on an event."); player.sendMessage("You cannot transform while registered on an event.");
canTransform = false; canTransform = false;
@@ -1130,7 +1130,7 @@ public class SkillCaster implements Runnable
return false; return false;
} }
if (skill.isBad()) if (skill.isBad() && !player.isOnSoloEvent())
{ {
final WorldObject target = player.getTarget(); final WorldObject target = player.getTarget();
if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam())) if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam()))
@@ -79,7 +79,7 @@ public class NotFriend implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -79,7 +79,7 @@ public class NotFriendPc implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -1022,7 +1022,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return; return;
} }
// Events. // Events.
else if (getActingPlayer().isOnEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam())) else if (getActingPlayer().isOnEvent() && !getActingPlayer().isOnSoloEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam()))
{ {
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
@@ -64,7 +64,7 @@ public class ConditionPlayerCanTransform extends Condition
player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET); player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET);
canTransform = false; canTransform = false;
} }
else if (player.isOnEvent()) else if (player.isRegisteredOnEvent())
{ {
player.sendMessage("You cannot transform while registered on an event."); player.sendMessage("You cannot transform while registered on an event.");
canTransform = false; canTransform = false;
@@ -1130,7 +1130,7 @@ public class SkillCaster implements Runnable
return false; return false;
} }
if (skill.isBad()) if (skill.isBad() && !player.isOnSoloEvent())
{ {
final WorldObject target = player.getTarget(); final WorldObject target = player.getTarget();
if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam())) if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam()))
@@ -79,7 +79,7 @@ public class NotFriend implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -79,7 +79,7 @@ public class NotFriendPc implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -1022,7 +1022,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return; return;
} }
// Events. // Events.
else if (getActingPlayer().isOnEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam())) else if (getActingPlayer().isOnEvent() && !getActingPlayer().isOnSoloEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam()))
{ {
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
@@ -64,7 +64,7 @@ public class ConditionPlayerCanTransform extends Condition
player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET); player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET);
canTransform = false; canTransform = false;
} }
else if (player.isOnEvent()) else if (player.isRegisteredOnEvent())
{ {
player.sendMessage("You cannot transform while registered on an event."); player.sendMessage("You cannot transform while registered on an event.");
canTransform = false; canTransform = false;
@@ -1130,7 +1130,7 @@ public class SkillCaster implements Runnable
return false; return false;
} }
if (skill.isBad()) if (skill.isBad()&& !player.isOnSoloEvent())
{ {
final WorldObject target = player.getTarget(); final WorldObject target = player.getTarget();
if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam())) if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam()))
@@ -399,6 +399,7 @@ public class PlayerInstance extends Playable
private final int[] _race = new int[2]; private final int[] _race = new int[2];
private final BlockList _blockList = new BlockList(this); private final BlockList _blockList = new BlockList(this);
private boolean _isRegisteredOnEvent = false; private boolean _isRegisteredOnEvent = false;
private boolean _isOnSoloEvent = false;
private boolean _isOnEvent = false; private boolean _isOnEvent = false;
private int _team = 0; private int _team = 0;
private int _alliedVarkaKetra = 0; private int _alliedVarkaKetra = 0;
@@ -8943,7 +8944,7 @@ public class PlayerInstance extends Playable
final PlayerInstance player = attacker.getActingPlayer(); final PlayerInstance player = attacker.getActingPlayer();
if ((player != null) && player.isOnEvent()) if ((player != null) && player.isOnEvent())
{ {
return getTeam() != player.getTeam(); return isOnSoloEvent() || (getTeam() != player.getTeam());
} }
} }
@@ -9696,7 +9697,7 @@ public class PlayerInstance extends Playable
// Check if player and target are in events and on the same team. // Check if player and target are in events and on the same team.
if ((target instanceof PlayerInstance) && isOnEvent() && skill.isOffensive()) if ((target instanceof PlayerInstance) && isOnEvent() && skill.isOffensive())
{ {
return target.getActingPlayer().isOnEvent() && (getTeam() != target.getActingPlayer().getTeam()); return target.getActingPlayer().isOnEvent() && (isOnSoloEvent() || (getTeam() != target.getActingPlayer().getTeam()));
} }
// check for PC->PC Pvp status // check for PC->PC Pvp status
@@ -11002,6 +11003,16 @@ public class PlayerInstance extends Playable
_isOnEvent = value; _isOnEvent = value;
} }
public boolean isOnSoloEvent()
{
return _isOnSoloEvent;
}
public void setOnSoloEvent(boolean value)
{
_isOnSoloEvent = value;
}
/** /**
* Sets the team. * Sets the team.
* @param team the new team * @param team the new team
@@ -98,7 +98,7 @@ public class AttackRequest implements IClientIncomingPacket
} }
// No attacks to same team in event // No attacks to same team in event
if (player.isOnEvent()) if (player.isOnEvent() && !player.isOnSoloEvent())
{ {
if (target instanceof PlayerInstance) if (target instanceof PlayerInstance)
{ {
@@ -412,6 +412,7 @@ public class PlayerInstance extends Playable
private final int[] _race = new int[2]; private final int[] _race = new int[2];
private final BlockList _blockList = new BlockList(this); private final BlockList _blockList = new BlockList(this);
private boolean _isRegisteredOnEvent = false; private boolean _isRegisteredOnEvent = false;
private boolean _isOnSoloEvent = false;
private boolean _isOnEvent = false; private boolean _isOnEvent = false;
private int _team = 0; private int _team = 0;
private int _alliedVarkaKetra = 0; private int _alliedVarkaKetra = 0;
@@ -9095,7 +9096,7 @@ public class PlayerInstance extends Playable
final PlayerInstance player = attacker.getActingPlayer(); final PlayerInstance player = attacker.getActingPlayer();
if ((player != null) && player.isOnEvent()) if ((player != null) && player.isOnEvent())
{ {
return getTeam() != player.getTeam(); return isOnSoloEvent() || (getTeam() != player.getTeam());
} }
} }
@@ -9862,7 +9863,7 @@ public class PlayerInstance extends Playable
// Check if player and target are in events and on the same team. // Check if player and target are in events and on the same team.
if ((target instanceof PlayerInstance) && isOnEvent() && skill.isOffensive()) if ((target instanceof PlayerInstance) && isOnEvent() && skill.isOffensive())
{ {
return target.getActingPlayer().isOnEvent() && (getTeam() != target.getActingPlayer().getTeam()); return target.getActingPlayer().isOnEvent() && (isOnSoloEvent() || (getTeam() != target.getActingPlayer().getTeam()));
} }
// check for PC->PC Pvp status // check for PC->PC Pvp status
@@ -11297,6 +11298,16 @@ public class PlayerInstance extends Playable
_isOnEvent = value; _isOnEvent = value;
} }
public boolean isOnSoloEvent()
{
return _isOnSoloEvent;
}
public void setOnSoloEvent(boolean value)
{
_isOnSoloEvent = value;
}
/** /**
* Sets the team. * Sets the team.
* @param team the new team * @param team the new team
@@ -98,7 +98,7 @@ public class AttackRequest implements IClientIncomingPacket
} }
// No attacks to same team in event // No attacks to same team in event
if (player.isOnEvent()) if (player.isOnEvent() && !player.isOnSoloEvent())
{ {
if (target instanceof PlayerInstance) if (target instanceof PlayerInstance)
{ {
@@ -87,7 +87,7 @@ public class CorpseClan implements ITargetTypeHandler
continue; continue;
} }
if (player.isOnEvent() && obj.isOnEvent() && (player.getTeam() != obj.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && obj.isOnEvent() && (player.getTeam() != obj.getTeam()))
{ {
continue; continue;
} }
@@ -117,7 +117,7 @@ public class PartyClan implements ITargetTypeHandler
continue; continue;
} }
if (player.isOnEvent() && obj.isOnEvent() && (player.getTeam() != obj.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && obj.isOnEvent() && (player.getTeam() != obj.getTeam()))
{ {
continue; continue;
} }
@@ -291,7 +291,7 @@ public class CubicInstance implements IIdentifiable
if (ownerTarget.getActingPlayer() != null) if (ownerTarget.getActingPlayer() != null)
{ {
final PlayerInstance target = ownerTarget.getActingPlayer(); final PlayerInstance target = ownerTarget.getActingPlayer();
if ((_owner.getTeam() != target.getTeam()) && !(target.isDead())) if (((_owner.getTeam() != target.getTeam()) || _owner.isOnSoloEvent()) && !(target.isDead()))
{ {
_target = (Creature) ownerTarget; _target = (Creature) ownerTarget;
} }
@@ -717,6 +717,7 @@ public class PlayerInstance extends Playable
/** Event parameters */ /** Event parameters */
private boolean _isRegisteredOnEvent = false; private boolean _isRegisteredOnEvent = false;
private boolean _isOnSoloEvent = false;
private boolean _isOnEvent = false; private boolean _isOnEvent = false;
private byte _handysBlockCheckerEventArena = -1; private byte _handysBlockCheckerEventArena = -1;
@@ -8422,7 +8423,7 @@ public class PlayerInstance extends Playable
// Check if the attacker is in an event // Check if the attacker is in an event
if (isOnEvent()) if (isOnEvent())
{ {
return getTeam() != attacker.getTeam(); return isOnSoloEvent() || (getTeam() != attacker.getTeam());
} }
// Check if the attacker is a Playable // Check if the attacker is a Playable
@@ -14015,6 +14016,16 @@ public class PlayerInstance extends Playable
_isOnEvent = value; _isOnEvent = value;
} }
public boolean isOnSoloEvent()
{
return _isOnSoloEvent;
}
public void setOnSoloEvent(boolean value)
{
_isOnSoloEvent = value;
}
public void setBlockCheckerArena(byte arena) public void setBlockCheckerArena(byte arena)
{ {
_handysBlockCheckerEventArena = arena; _handysBlockCheckerEventArena = arena;
@@ -1122,7 +1122,7 @@ public class Skill implements IIdentifiable
} }
} }
if (player.isOnEvent() && targetPlayer.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && targetPlayer.isOnEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -87,7 +87,7 @@ public class CorpseClan implements ITargetTypeHandler
continue; continue;
} }
if (player.isOnEvent() && obj.isOnEvent() && (player.getTeam() != obj.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && obj.isOnEvent() && (player.getTeam() != obj.getTeam()))
{ {
continue; continue;
} }
@@ -117,7 +117,7 @@ public class PartyClan implements ITargetTypeHandler
continue; continue;
} }
if (player.isOnEvent() && obj.isOnEvent() && (player.getTeam() != obj.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && obj.isOnEvent() && (player.getTeam() != obj.getTeam()))
{ {
continue; continue;
} }
@@ -291,7 +291,7 @@ public class CubicInstance implements IIdentifiable
if (ownerTarget.getActingPlayer() != null) if (ownerTarget.getActingPlayer() != null)
{ {
final PlayerInstance target = ownerTarget.getActingPlayer(); final PlayerInstance target = ownerTarget.getActingPlayer();
if ((_owner.getTeam() != target.getTeam()) && !(target.isDead())) if (((_owner.getTeam() != target.getTeam()) || _owner.isOnSoloEvent()) && !(target.isDead()))
{ {
_target = (Creature) ownerTarget; _target = (Creature) ownerTarget;
} }
@@ -736,6 +736,7 @@ public class PlayerInstance extends Playable
/** Event parameters */ /** Event parameters */
private boolean _isRegisteredOnEvent = false; private boolean _isRegisteredOnEvent = false;
private boolean _isOnSoloEvent = false;
private boolean _isOnEvent = false; private boolean _isOnEvent = false;
private byte _handysBlockCheckerEventArena = -1; private byte _handysBlockCheckerEventArena = -1;
@@ -8306,7 +8307,7 @@ public class PlayerInstance extends Playable
// Check if the attacker is in an event // Check if the attacker is in an event
if (isOnEvent()) if (isOnEvent())
{ {
return getTeam() != attacker.getTeam(); return isOnSoloEvent() || (getTeam() != attacker.getTeam());
} }
// Check if the attacker is a Playable // Check if the attacker is a Playable
@@ -14102,6 +14103,16 @@ public class PlayerInstance extends Playable
_isOnEvent = value; _isOnEvent = value;
} }
public boolean isOnSoloEvent()
{
return _isOnSoloEvent;
}
public void setOnSoloEvent(boolean value)
{
_isOnSoloEvent = value;
}
public void setBlockCheckerArena(byte arena) public void setBlockCheckerArena(byte arena)
{ {
_handysBlockCheckerEventArena = arena; _handysBlockCheckerEventArena = arena;
@@ -1129,7 +1129,7 @@ public class Skill implements IIdentifiable
} }
} }
if (player.isOnEvent() && targetPlayer.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && targetPlayer.isOnEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -79,7 +79,7 @@ public class NotFriend implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -79,7 +79,7 @@ public class NotFriendPc implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -1022,7 +1022,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return; return;
} }
// Events. // Events.
else if (getActingPlayer().isOnEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam())) else if (getActingPlayer().isOnEvent() && !getActingPlayer().isOnSoloEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam()))
{ {
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
@@ -718,6 +718,7 @@ public class PlayerInstance extends Playable
/** Event parameters */ /** Event parameters */
private boolean _isRegisteredOnEvent = false; private boolean _isRegisteredOnEvent = false;
private boolean _isOnSoloEvent = false;
private boolean _isOnEvent = false; private boolean _isOnEvent = false;
private byte _handysBlockCheckerEventArena = -1; private byte _handysBlockCheckerEventArena = -1;
@@ -8101,7 +8102,7 @@ public class PlayerInstance extends Playable
// Check if the attacker is in an event // Check if the attacker is in an event
if (isOnEvent()) if (isOnEvent())
{ {
return getTeam() != attacker.getTeam(); return isOnSoloEvent() || (getTeam() != attacker.getTeam());
} }
// Check if the attacker is a Playable // Check if the attacker is a Playable
@@ -13028,6 +13029,16 @@ public class PlayerInstance extends Playable
_isOnEvent = value; _isOnEvent = value;
} }
public boolean isOnSoloEvent()
{
return _isOnSoloEvent;
}
public void setOnSoloEvent(boolean value)
{
_isOnSoloEvent = value;
}
public boolean isBlockedFromDeathPenalty() public boolean isBlockedFromDeathPenalty()
{ {
return _isOnEvent || isAffected(EffectFlag.PROTECT_DEATH_PENALTY); return _isOnEvent || isAffected(EffectFlag.PROTECT_DEATH_PENALTY);
@@ -64,7 +64,7 @@ public class ConditionPlayerCanTransform extends Condition
player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET); player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET);
canTransform = false; canTransform = false;
} }
else if (player.isOnEvent()) else if (player.isRegisteredOnEvent())
{ {
player.sendMessage("You cannot transform while registered on an event."); player.sendMessage("You cannot transform while registered on an event.");
canTransform = false; canTransform = false;
@@ -1130,7 +1130,7 @@ public class SkillCaster implements Runnable
return false; return false;
} }
if (skill.isBad()) if (skill.isBad() && !player.isOnSoloEvent())
{ {
final WorldObject target = player.getTarget(); final WorldObject target = player.getTarget();
if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam())) if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam()))
@@ -79,7 +79,7 @@ public class NotFriend implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -79,7 +79,7 @@ public class NotFriendPc implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -1022,7 +1022,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return; return;
} }
// Events. // Events.
else if (getActingPlayer().isOnEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam())) else if (getActingPlayer().isOnEvent() && !getActingPlayer().isOnSoloEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam()))
{ {
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
@@ -718,6 +718,7 @@ public class PlayerInstance extends Playable
/** Event parameters */ /** Event parameters */
private boolean _isRegisteredOnEvent = false; private boolean _isRegisteredOnEvent = false;
private boolean _isOnSoloEvent = false;
private boolean _isOnEvent = false; private boolean _isOnEvent = false;
private byte _handysBlockCheckerEventArena = -1; private byte _handysBlockCheckerEventArena = -1;
@@ -8101,7 +8102,7 @@ public class PlayerInstance extends Playable
// Check if the attacker is in an event // Check if the attacker is in an event
if (isOnEvent()) if (isOnEvent())
{ {
return getTeam() != attacker.getTeam(); return isOnSoloEvent() || (getTeam() != attacker.getTeam());
} }
// Check if the attacker is a Playable // Check if the attacker is a Playable
@@ -13028,6 +13029,16 @@ public class PlayerInstance extends Playable
_isOnEvent = value; _isOnEvent = value;
} }
public boolean isOnSoloEvent()
{
return _isOnSoloEvent;
}
public void setOnSoloEvent(boolean value)
{
_isOnSoloEvent = value;
}
public boolean isBlockedFromDeathPenalty() public boolean isBlockedFromDeathPenalty()
{ {
return _isOnEvent || isAffected(EffectFlag.PROTECT_DEATH_PENALTY); return _isOnEvent || isAffected(EffectFlag.PROTECT_DEATH_PENALTY);
@@ -64,7 +64,7 @@ public class ConditionPlayerCanTransform extends Condition
player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET); player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET);
canTransform = false; canTransform = false;
} }
else if (player.isOnEvent()) else if (player.isRegisteredOnEvent())
{ {
player.sendMessage("You cannot transform while registered on an event."); player.sendMessage("You cannot transform while registered on an event.");
canTransform = false; canTransform = false;
@@ -1130,7 +1130,7 @@ public class SkillCaster implements Runnable
return false; return false;
} }
if (skill.isBad()) if (skill.isBad() && !player.isOnSoloEvent())
{ {
final WorldObject target = player.getTarget(); final WorldObject target = player.getTarget();
if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam())) if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam()))
@@ -79,7 +79,7 @@ public class NotFriend implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -79,7 +79,7 @@ public class NotFriendPc implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -1022,7 +1022,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return; return;
} }
// Events. // Events.
else if (getActingPlayer().isOnEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam())) else if (getActingPlayer().isOnEvent() && !getActingPlayer().isOnSoloEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam()))
{ {
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
@@ -716,6 +716,7 @@ public class PlayerInstance extends Playable
/** Event parameters */ /** Event parameters */
private boolean _isRegisteredOnEvent = false; private boolean _isRegisteredOnEvent = false;
private boolean _isOnSoloEvent = false;
private boolean _isOnEvent = false; private boolean _isOnEvent = false;
private byte _handysBlockCheckerEventArena = -1; private byte _handysBlockCheckerEventArena = -1;
@@ -8087,7 +8088,7 @@ public class PlayerInstance extends Playable
// Check if the attacker is in an event // Check if the attacker is in an event
if (isOnEvent()) if (isOnEvent())
{ {
return getTeam() != attacker.getTeam(); return isOnSoloEvent() || (getTeam() != attacker.getTeam());
} }
// Check if the attacker is a Playable // Check if the attacker is a Playable
@@ -13014,6 +13015,16 @@ public class PlayerInstance extends Playable
_isOnEvent = value; _isOnEvent = value;
} }
public boolean isOnSoloEvent()
{
return _isOnSoloEvent;
}
public void setOnSoloEvent(boolean value)
{
_isOnSoloEvent = value;
}
public boolean isBlockedFromDeathPenalty() public boolean isBlockedFromDeathPenalty()
{ {
return _isOnEvent || isAffected(EffectFlag.PROTECT_DEATH_PENALTY); return _isOnEvent || isAffected(EffectFlag.PROTECT_DEATH_PENALTY);
@@ -64,7 +64,7 @@ public class ConditionPlayerCanTransform extends Condition
player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET); player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET);
canTransform = false; canTransform = false;
} }
else if (player.isOnEvent()) else if (player.isRegisteredOnEvent())
{ {
player.sendMessage("You cannot transform while registered on an event."); player.sendMessage("You cannot transform while registered on an event.");
canTransform = false; canTransform = false;
@@ -1130,7 +1130,7 @@ public class SkillCaster implements Runnable
return false; return false;
} }
if (skill.isBad()) if (skill.isBad() && !player.isOnSoloEvent())
{ {
final WorldObject target = player.getTarget(); final WorldObject target = player.getTarget();
if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam())) if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam()))
@@ -79,7 +79,7 @@ public class NotFriend implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -79,7 +79,7 @@ public class NotFriendPc implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -1023,7 +1023,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return; return;
} }
// Events. // Events.
else if (getActingPlayer().isOnEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam())) else if (getActingPlayer().isOnEvent() && !getActingPlayer().isOnSoloEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam()))
{ {
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
@@ -724,6 +724,7 @@ public class PlayerInstance extends Playable
/** Event parameters */ /** Event parameters */
private boolean _isRegisteredOnEvent = false; private boolean _isRegisteredOnEvent = false;
private boolean _isOnSoloEvent = false;
private boolean _isOnEvent = false; private boolean _isOnEvent = false;
private byte _handysBlockCheckerEventArena = -1; private byte _handysBlockCheckerEventArena = -1;
@@ -8114,7 +8115,7 @@ public class PlayerInstance extends Playable
// Check if the attacker is in an event // Check if the attacker is in an event
if (isOnEvent()) if (isOnEvent())
{ {
return getTeam() != attacker.getTeam(); return isOnSoloEvent() || (getTeam() != attacker.getTeam());
} }
// Check if the attacker is a Playable // Check if the attacker is a Playable
@@ -13062,6 +13063,16 @@ public class PlayerInstance extends Playable
_isOnEvent = value; _isOnEvent = value;
} }
public boolean isOnSoloEvent()
{
return _isOnSoloEvent;
}
public void setOnSoloEvent(boolean value)
{
_isOnSoloEvent = value;
}
public boolean isBlockedFromDeathPenalty() public boolean isBlockedFromDeathPenalty()
{ {
return _isOnEvent || isAffected(EffectFlag.PROTECT_DEATH_PENALTY); return _isOnEvent || isAffected(EffectFlag.PROTECT_DEATH_PENALTY);
@@ -64,7 +64,7 @@ public class ConditionPlayerCanTransform extends Condition
player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET); player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET);
canTransform = false; canTransform = false;
} }
else if (player.isOnEvent()) else if (player.isRegisteredOnEvent())
{ {
player.sendMessage("You cannot transform while registered on an event."); player.sendMessage("You cannot transform while registered on an event.");
canTransform = false; canTransform = false;
@@ -1130,7 +1130,7 @@ public class SkillCaster implements Runnable
return false; return false;
} }
if (skill.isBad()) if (skill.isBad() && !player.isOnSoloEvent())
{ {
final WorldObject target = player.getTarget(); final WorldObject target = player.getTarget();
if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam())) if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam()))
@@ -79,7 +79,7 @@ public class NotFriend implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -79,7 +79,7 @@ public class NotFriendPc implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -1023,7 +1023,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return; return;
} }
// Events. // Events.
else if (getActingPlayer().isOnEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam())) else if (getActingPlayer().isOnEvent() && !getActingPlayer().isOnSoloEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam()))
{ {
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
@@ -724,6 +724,7 @@ public class PlayerInstance extends Playable
/** Event parameters */ /** Event parameters */
private boolean _isRegisteredOnEvent = false; private boolean _isRegisteredOnEvent = false;
private boolean _isOnSoloEvent = false;
private boolean _isOnEvent = false; private boolean _isOnEvent = false;
private byte _handysBlockCheckerEventArena = -1; private byte _handysBlockCheckerEventArena = -1;
@@ -8114,7 +8115,7 @@ public class PlayerInstance extends Playable
// Check if the attacker is in an event // Check if the attacker is in an event
if (isOnEvent()) if (isOnEvent())
{ {
return getTeam() != attacker.getTeam(); return isOnSoloEvent() || (getTeam() != attacker.getTeam());
} }
// Check if the attacker is a Playable // Check if the attacker is a Playable
@@ -13062,6 +13063,16 @@ public class PlayerInstance extends Playable
_isOnEvent = value; _isOnEvent = value;
} }
public boolean isOnSoloEvent()
{
return _isOnSoloEvent;
}
public void setOnSoloEvent(boolean value)
{
_isOnSoloEvent = value;
}
public boolean isBlockedFromDeathPenalty() public boolean isBlockedFromDeathPenalty()
{ {
return _isOnEvent || isAffected(EffectFlag.PROTECT_DEATH_PENALTY); return _isOnEvent || isAffected(EffectFlag.PROTECT_DEATH_PENALTY);
@@ -64,7 +64,7 @@ public class ConditionPlayerCanTransform extends Condition
player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET); player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET);
canTransform = false; canTransform = false;
} }
else if (player.isOnEvent()) else if (player.isRegisteredOnEvent())
{ {
player.sendMessage("You cannot transform while registered on an event."); player.sendMessage("You cannot transform while registered on an event.");
canTransform = false; canTransform = false;
@@ -1130,7 +1130,7 @@ public class SkillCaster implements Runnable
return false; return false;
} }
if (skill.isBad()) if (skill.isBad() && !player.isOnSoloEvent())
{ {
final WorldObject target = player.getTarget(); final WorldObject target = player.getTarget();
if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam())) if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam()))
@@ -79,7 +79,7 @@ public class NotFriend implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -79,7 +79,7 @@ public class NotFriendPc implements IAffectObjectHandler
} }
// Events. // Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam())) if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{ {
return false; return false;
} }
@@ -1023,7 +1023,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return; return;
} }
// Events. // Events.
else if (getActingPlayer().isOnEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam())) else if (getActingPlayer().isOnEvent() && !getActingPlayer().isOnSoloEvent() && target.isPlayable() && (getActingPlayer().getTeam() == target.getActingPlayer().getTeam()))
{ {
sendPacket(ActionFailed.STATIC_PACKET); sendPacket(ActionFailed.STATIC_PACKET);
return; return;
@@ -738,6 +738,7 @@ public class PlayerInstance extends Playable
/** Event parameters */ /** Event parameters */
private boolean _isRegisteredOnEvent = false; private boolean _isRegisteredOnEvent = false;
private boolean _isOnSoloEvent = false;
private boolean _isOnEvent = false; private boolean _isOnEvent = false;
private byte _handysBlockCheckerEventArena = -1; private byte _handysBlockCheckerEventArena = -1;
@@ -8067,7 +8068,7 @@ public class PlayerInstance extends Playable
// Check if the attacker is in an event // Check if the attacker is in an event
if (isOnEvent()) if (isOnEvent())
{ {
return getTeam() != attacker.getTeam(); return isOnSoloEvent() || (getTeam() != attacker.getTeam());
} }
// Check if the attacker is a Playable // Check if the attacker is a Playable
@@ -13071,6 +13072,16 @@ public class PlayerInstance extends Playable
_isOnEvent = value; _isOnEvent = value;
} }
public boolean isOnSoloEvent()
{
return _isOnSoloEvent;
}
public void setOnSoloEvent(boolean value)
{
_isOnSoloEvent = value;
}
public boolean isBlockedFromDeathPenalty() public boolean isBlockedFromDeathPenalty()
{ {
return _isOnEvent || isAffected(EffectFlag.PROTECT_DEATH_PENALTY); return _isOnEvent || isAffected(EffectFlag.PROTECT_DEATH_PENALTY);
@@ -64,7 +64,7 @@ public class ConditionPlayerCanTransform extends Condition
player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET); player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET);
canTransform = false; canTransform = false;
} }
else if (player.isOnEvent()) else if (player.isRegisteredOnEvent())
{ {
player.sendMessage("You cannot transform while registered on an event."); player.sendMessage("You cannot transform while registered on an event.");
canTransform = false; canTransform = false;
@@ -1135,7 +1135,7 @@ public class SkillCaster implements Runnable
return false; return false;
} }
if (skill.isBad()) if (skill.isBad() && !player.isOnSoloEvent())
{ {
final WorldObject target = player.getTarget(); final WorldObject target = player.getTarget();
if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam())) if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam()))

Some files were not shown because too many files have changed in this diff Show More