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

View File

@@ -79,7 +79,7 @@ public class NotFriend implements IAffectObjectHandler
}
// Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam()))
if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{
return false;
}

View File

@@ -79,7 +79,7 @@ public class NotFriendPc implements IAffectObjectHandler
}
// Events.
if (player.isOnEvent() && (player.getTeam() == target.getTeam()))
if (player.isOnEvent() && !player.isOnSoloEvent() && (player.getTeam() == target.getTeam()))
{
return false;
}

View File

@@ -1022,7 +1022,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return;
}
// 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);
return;

View File

@@ -718,6 +718,7 @@ public class PlayerInstance extends Playable
/** Event parameters */
private boolean _isRegisteredOnEvent = false;
private boolean _isOnSoloEvent = false;
private boolean _isOnEvent = false;
private byte _handysBlockCheckerEventArena = -1;
@@ -8101,7 +8102,7 @@ public class PlayerInstance extends Playable
// Check if the attacker is in an event
if (isOnEvent())
{
return getTeam() != attacker.getTeam();
return isOnSoloEvent() || (getTeam() != attacker.getTeam());
}
// Check if the attacker is a Playable
@@ -13028,6 +13029,16 @@ public class PlayerInstance extends Playable
_isOnEvent = value;
}
public boolean isOnSoloEvent()
{
return _isOnSoloEvent;
}
public void setOnSoloEvent(boolean value)
{
_isOnSoloEvent = value;
}
public boolean isBlockedFromDeathPenalty()
{
return _isOnEvent || isAffected(EffectFlag.PROTECT_DEATH_PENALTY);

View File

@@ -64,7 +64,7 @@ public class ConditionPlayerCanTransform extends Condition
player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET);
canTransform = false;
}
else if (player.isOnEvent())
else if (player.isRegisteredOnEvent())
{
player.sendMessage("You cannot transform while registered on an event.");
canTransform = false;

View File

@@ -1130,7 +1130,7 @@ public class SkillCaster implements Runnable
return false;
}
if (skill.isBad())
if (skill.isBad() && !player.isOnSoloEvent())
{
final WorldObject target = player.getTarget();
if ((target != null) && target.isPlayable() && (player.getTeam() == target.getActingPlayer().getTeam()))