Use RaidBossStatus to store ExRaidBossSpawnInfo data.

Contributed by nasseka.
This commit is contained in:
MobiusDevelopment 2022-07-12 08:33:31 +00:00
parent cfa625b240
commit b4814a917b
16 changed files with 112 additions and 88 deletions

View File

@ -20,6 +20,7 @@ import java.util.HashMap;
import java.util.Map;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.model.actor.Npc;
@ -33,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.raidbossinfo.ExRaidBossSpa
*/
public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
{
private final Map<Integer, Integer> _statuses = new HashMap<>();
private final Map<Integer, RaidBossStatus> _statuses = new HashMap<>();
@Override
public boolean read(GameClient client, PacketReader packet)
@ -45,13 +46,13 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
final GrandBoss boss = GrandBossManager.getInstance().getBoss(bossId);
if (boss == null)
{
final int status = DBSpawnManager.getInstance().getNpcStatusId(bossId).ordinal();
if (status != 3)
final RaidBossStatus status = DBSpawnManager.getInstance().getNpcStatusId(bossId);
if (status != RaidBossStatus.UNDEFINED)
{
final Npc npc = DBSpawnManager.getInstance().getNpc(bossId);
if ((npc != null) && npc.isInCombat())
{
_statuses.put(bossId, 2);
_statuses.put(bossId, RaidBossStatus.COMBAT);
}
else
{
@ -60,6 +61,7 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
}
else
{
_statuses.put(bossId, RaidBossStatus.DEAD);
// PacketLogger.warning("Could not find spawn info for boss " + bossId + ".");
}
}
@ -67,15 +69,15 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
{
if (boss.isDead() || !boss.isSpawned())
{
_statuses.put(bossId, 0);
_statuses.put(bossId, RaidBossStatus.DEAD);
}
else if (boss.isInCombat())
{
_statuses.put(bossId, 2);
_statuses.put(bossId, RaidBossStatus.COMBAT);
}
else
{
_statuses.put(bossId, 1);
_statuses.put(bossId, RaidBossStatus.ALIVE);
}
}
}

View File

@ -20,6 +20,7 @@ import java.util.Map;
import java.util.Map.Entry;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.network.OutgoingPackets;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
@ -31,9 +32,9 @@ public class ExRaidBossSpawnInfo implements IClientOutgoingPacket
{
private static final int BAIUM = 29020;
private final Map<Integer, Integer> _statuses;
private final Map<Integer, RaidBossStatus> _statuses;
public ExRaidBossSpawnInfo(Map<Integer, Integer> statuses)
public ExRaidBossSpawnInfo(Map<Integer, RaidBossStatus> statuses)
{
_statuses = statuses;
}
@ -43,10 +44,10 @@ public class ExRaidBossSpawnInfo implements IClientOutgoingPacket
{
OutgoingPackets.EX_RAID_BOSS_SPAWN_INFO.writeId(packet);
packet.writeD(_statuses.size()); // count
for (Entry<Integer, Integer> entry : _statuses.entrySet())
for (Entry<Integer, RaidBossStatus> entry : _statuses.entrySet())
{
packet.writeD(entry.getKey());
packet.writeD((entry.getKey() == BAIUM) && (GrandBossManager.getInstance().getBossStatus(BAIUM) == 0) ? 1 : entry.getValue());
packet.writeD((entry.getKey() == BAIUM) && (GrandBossManager.getInstance().getBossStatus(BAIUM) == 0) ? 1 : entry.getValue().ordinal());
packet.writeD(0);
}
return true;

View File

@ -20,6 +20,7 @@ import java.util.HashMap;
import java.util.Map;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.model.actor.Npc;
@ -33,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.raidbossinfo.ExRaidBossSpa
*/
public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
{
private final Map<Integer, Integer> _statuses = new HashMap<>();
private final Map<Integer, RaidBossStatus> _statuses = new HashMap<>();
@Override
public boolean read(GameClient client, PacketReader packet)
@ -45,13 +46,13 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
final GrandBoss boss = GrandBossManager.getInstance().getBoss(bossId);
if (boss == null)
{
final int status = DBSpawnManager.getInstance().getNpcStatusId(bossId).ordinal();
if (status != 3)
final RaidBossStatus status = DBSpawnManager.getInstance().getNpcStatusId(bossId);
if (status != RaidBossStatus.UNDEFINED)
{
final Npc npc = DBSpawnManager.getInstance().getNpc(bossId);
if ((npc != null) && npc.isInCombat())
{
_statuses.put(bossId, 2);
_statuses.put(bossId, RaidBossStatus.COMBAT);
}
else
{
@ -60,6 +61,7 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
}
else
{
_statuses.put(bossId, RaidBossStatus.DEAD);
// PacketLogger.warning("Could not find spawn info for boss " + bossId + ".");
}
}
@ -67,15 +69,15 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
{
if (boss.isDead() || !boss.isSpawned())
{
_statuses.put(bossId, 0);
_statuses.put(bossId, RaidBossStatus.DEAD);
}
else if (boss.isInCombat())
{
_statuses.put(bossId, 2);
_statuses.put(bossId, RaidBossStatus.COMBAT);
}
else
{
_statuses.put(bossId, 1);
_statuses.put(bossId, RaidBossStatus.ALIVE);
}
}
}

View File

@ -20,6 +20,7 @@ import java.util.Map;
import java.util.Map.Entry;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.network.OutgoingPackets;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
@ -31,9 +32,9 @@ public class ExRaidBossSpawnInfo implements IClientOutgoingPacket
{
private static final int BAIUM = 29020;
private final Map<Integer, Integer> _statuses;
private final Map<Integer, RaidBossStatus> _statuses;
public ExRaidBossSpawnInfo(Map<Integer, Integer> statuses)
public ExRaidBossSpawnInfo(Map<Integer, RaidBossStatus> statuses)
{
_statuses = statuses;
}
@ -43,10 +44,10 @@ public class ExRaidBossSpawnInfo implements IClientOutgoingPacket
{
OutgoingPackets.EX_RAID_BOSS_SPAWN_INFO.writeId(packet);
packet.writeD(_statuses.size()); // count
for (Entry<Integer, Integer> entry : _statuses.entrySet())
for (Entry<Integer, RaidBossStatus> entry : _statuses.entrySet())
{
packet.writeD(entry.getKey());
packet.writeD((entry.getKey() == BAIUM) && (GrandBossManager.getInstance().getBossStatus(BAIUM) == 0) ? 1 : entry.getValue());
packet.writeD((entry.getKey() == BAIUM) && (GrandBossManager.getInstance().getBossStatus(BAIUM) == 0) ? 1 : entry.getValue().ordinal());
packet.writeD(0);
}
return true;

View File

@ -20,6 +20,7 @@ import java.util.HashMap;
import java.util.Map;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.model.actor.Npc;
@ -33,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.raidbossinfo.ExRaidBossSpa
*/
public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
{
private final Map<Integer, Integer> _statuses = new HashMap<>();
private final Map<Integer, RaidBossStatus> _statuses = new HashMap<>();
@Override
public boolean read(GameClient client, PacketReader packet)
@ -45,13 +46,13 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
final GrandBoss boss = GrandBossManager.getInstance().getBoss(bossId);
if (boss == null)
{
final int status = DBSpawnManager.getInstance().getNpcStatusId(bossId).ordinal();
if (status != 3)
final RaidBossStatus status = DBSpawnManager.getInstance().getNpcStatusId(bossId);
if (status != RaidBossStatus.UNDEFINED)
{
final Npc npc = DBSpawnManager.getInstance().getNpc(bossId);
if ((npc != null) && npc.isInCombat())
{
_statuses.put(bossId, 2);
_statuses.put(bossId, RaidBossStatus.COMBAT);
}
else
{
@ -60,6 +61,7 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
}
else
{
_statuses.put(bossId, RaidBossStatus.DEAD);
// PacketLogger.warning("Could not find spawn info for boss " + bossId + ".");
}
}
@ -67,15 +69,15 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
{
if (boss.isDead() || !boss.isSpawned())
{
_statuses.put(bossId, 0);
_statuses.put(bossId, RaidBossStatus.DEAD);
}
else if (boss.isInCombat())
{
_statuses.put(bossId, 2);
_statuses.put(bossId, RaidBossStatus.COMBAT);
}
else
{
_statuses.put(bossId, 1);
_statuses.put(bossId, RaidBossStatus.ALIVE);
}
}
}

View File

@ -20,6 +20,7 @@ import java.util.Map;
import java.util.Map.Entry;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.network.OutgoingPackets;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
@ -31,9 +32,9 @@ public class ExRaidBossSpawnInfo implements IClientOutgoingPacket
{
private static final int BAIUM = 29020;
private final Map<Integer, Integer> _statuses;
private final Map<Integer, RaidBossStatus> _statuses;
public ExRaidBossSpawnInfo(Map<Integer, Integer> statuses)
public ExRaidBossSpawnInfo(Map<Integer, RaidBossStatus> statuses)
{
_statuses = statuses;
}
@ -43,10 +44,10 @@ public class ExRaidBossSpawnInfo implements IClientOutgoingPacket
{
OutgoingPackets.EX_RAID_BOSS_SPAWN_INFO.writeId(packet);
packet.writeD(_statuses.size()); // count
for (Entry<Integer, Integer> entry : _statuses.entrySet())
for (Entry<Integer, RaidBossStatus> entry : _statuses.entrySet())
{
packet.writeD(entry.getKey());
packet.writeD((entry.getKey() == BAIUM) && (GrandBossManager.getInstance().getBossStatus(BAIUM) == 0) ? 1 : entry.getValue());
packet.writeD((entry.getKey() == BAIUM) && (GrandBossManager.getInstance().getBossStatus(BAIUM) == 0) ? 1 : entry.getValue().ordinal());
packet.writeD(0);
}
return true;

View File

@ -20,6 +20,7 @@ import java.util.HashMap;
import java.util.Map;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.model.actor.Npc;
@ -33,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.raidbossinfo.ExRaidBossSpa
*/
public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
{
private final Map<Integer, Integer> _statuses = new HashMap<>();
private final Map<Integer, RaidBossStatus> _statuses = new HashMap<>();
@Override
public boolean read(GameClient client, PacketReader packet)
@ -45,13 +46,13 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
final GrandBoss boss = GrandBossManager.getInstance().getBoss(bossId);
if (boss == null)
{
final int status = DBSpawnManager.getInstance().getNpcStatusId(bossId).ordinal();
if (status != 3)
final RaidBossStatus status = DBSpawnManager.getInstance().getNpcStatusId(bossId);
if (status != RaidBossStatus.UNDEFINED)
{
final Npc npc = DBSpawnManager.getInstance().getNpc(bossId);
if ((npc != null) && npc.isInCombat())
{
_statuses.put(bossId, 2);
_statuses.put(bossId, RaidBossStatus.COMBAT);
}
else
{
@ -60,6 +61,7 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
}
else
{
_statuses.put(bossId, RaidBossStatus.DEAD);
// PacketLogger.warning("Could not find spawn info for boss " + bossId + ".");
}
}
@ -67,15 +69,15 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
{
if (boss.isDead() || !boss.isSpawned())
{
_statuses.put(bossId, 0);
_statuses.put(bossId, RaidBossStatus.DEAD);
}
else if (boss.isInCombat())
{
_statuses.put(bossId, 2);
_statuses.put(bossId, RaidBossStatus.COMBAT);
}
else
{
_statuses.put(bossId, 1);
_statuses.put(bossId, RaidBossStatus.ALIVE);
}
}
}

View File

@ -20,6 +20,7 @@ import java.util.Map;
import java.util.Map.Entry;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.network.OutgoingPackets;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
@ -31,9 +32,9 @@ public class ExRaidBossSpawnInfo implements IClientOutgoingPacket
{
private static final int BAIUM = 29020;
private final Map<Integer, Integer> _statuses;
private final Map<Integer, RaidBossStatus> _statuses;
public ExRaidBossSpawnInfo(Map<Integer, Integer> statuses)
public ExRaidBossSpawnInfo(Map<Integer, RaidBossStatus> statuses)
{
_statuses = statuses;
}
@ -43,10 +44,10 @@ public class ExRaidBossSpawnInfo implements IClientOutgoingPacket
{
OutgoingPackets.EX_RAID_BOSS_SPAWN_INFO.writeId(packet);
packet.writeD(_statuses.size()); // count
for (Entry<Integer, Integer> entry : _statuses.entrySet())
for (Entry<Integer, RaidBossStatus> entry : _statuses.entrySet())
{
packet.writeD(entry.getKey());
packet.writeD((entry.getKey() == BAIUM) && (GrandBossManager.getInstance().getBossStatus(BAIUM) == 0) ? 1 : entry.getValue());
packet.writeD((entry.getKey() == BAIUM) && (GrandBossManager.getInstance().getBossStatus(BAIUM) == 0) ? 1 : entry.getValue().ordinal());
packet.writeD(0);
}
return true;

View File

@ -20,6 +20,7 @@ import java.util.HashMap;
import java.util.Map;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.model.actor.Npc;
@ -33,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.raidbossinfo.ExRaidBossSpa
*/
public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
{
private final Map<Integer, Integer> _statuses = new HashMap<>();
private final Map<Integer, RaidBossStatus> _statuses = new HashMap<>();
@Override
public boolean read(GameClient client, PacketReader packet)
@ -45,13 +46,13 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
final GrandBoss boss = GrandBossManager.getInstance().getBoss(bossId);
if (boss == null)
{
final int status = DBSpawnManager.getInstance().getNpcStatusId(bossId).ordinal();
if (status != 3)
final RaidBossStatus status = DBSpawnManager.getInstance().getNpcStatusId(bossId);
if (status != RaidBossStatus.UNDEFINED)
{
final Npc npc = DBSpawnManager.getInstance().getNpc(bossId);
if ((npc != null) && npc.isInCombat())
{
_statuses.put(bossId, 2);
_statuses.put(bossId, RaidBossStatus.COMBAT);
}
else
{
@ -60,6 +61,7 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
}
else
{
_statuses.put(bossId, RaidBossStatus.DEAD);
// PacketLogger.warning("Could not find spawn info for boss " + bossId + ".");
}
}
@ -67,15 +69,15 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
{
if (boss.isDead() || !boss.isSpawned())
{
_statuses.put(bossId, 0);
_statuses.put(bossId, RaidBossStatus.DEAD);
}
else if (boss.isInCombat())
{
_statuses.put(bossId, 2);
_statuses.put(bossId, RaidBossStatus.COMBAT);
}
else
{
_statuses.put(bossId, 1);
_statuses.put(bossId, RaidBossStatus.ALIVE);
}
}
}

View File

@ -20,6 +20,7 @@ import java.util.Map;
import java.util.Map.Entry;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.network.OutgoingPackets;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
@ -31,9 +32,9 @@ public class ExRaidBossSpawnInfo implements IClientOutgoingPacket
{
private static final int BAIUM = 29020;
private final Map<Integer, Integer> _statuses;
private final Map<Integer, RaidBossStatus> _statuses;
public ExRaidBossSpawnInfo(Map<Integer, Integer> statuses)
public ExRaidBossSpawnInfo(Map<Integer, RaidBossStatus> statuses)
{
_statuses = statuses;
}
@ -43,10 +44,10 @@ public class ExRaidBossSpawnInfo implements IClientOutgoingPacket
{
OutgoingPackets.EX_RAID_BOSS_SPAWN_INFO.writeId(packet);
packet.writeD(_statuses.size()); // count
for (Entry<Integer, Integer> entry : _statuses.entrySet())
for (Entry<Integer, RaidBossStatus> entry : _statuses.entrySet())
{
packet.writeD(entry.getKey());
packet.writeD((entry.getKey() == BAIUM) && (GrandBossManager.getInstance().getBossStatus(BAIUM) == 0) ? 1 : entry.getValue());
packet.writeD((entry.getKey() == BAIUM) && (GrandBossManager.getInstance().getBossStatus(BAIUM) == 0) ? 1 : entry.getValue().ordinal());
packet.writeD(0);
}
return true;

View File

@ -20,6 +20,7 @@ import java.util.HashMap;
import java.util.Map;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.model.actor.Npc;
@ -33,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.raidbossinfo.ExRaidBossSpa
*/
public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
{
private final Map<Integer, Integer> _statuses = new HashMap<>();
private final Map<Integer, RaidBossStatus> _statuses = new HashMap<>();
@Override
public boolean read(GameClient client, PacketReader packet)
@ -45,13 +46,13 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
final GrandBoss boss = GrandBossManager.getInstance().getBoss(bossId);
if (boss == null)
{
final int status = DBSpawnManager.getInstance().getNpcStatusId(bossId).ordinal();
if (status != 3)
final RaidBossStatus status = DBSpawnManager.getInstance().getNpcStatusId(bossId);
if (status != RaidBossStatus.UNDEFINED)
{
final Npc npc = DBSpawnManager.getInstance().getNpc(bossId);
if ((npc != null) && npc.isInCombat())
{
_statuses.put(bossId, 2);
_statuses.put(bossId, RaidBossStatus.COMBAT);
}
else
{
@ -60,6 +61,7 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
}
else
{
_statuses.put(bossId, RaidBossStatus.DEAD);
// PacketLogger.warning("Could not find spawn info for boss " + bossId + ".");
}
}
@ -67,15 +69,15 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
{
if (boss.isDead() || !boss.isSpawned())
{
_statuses.put(bossId, 0);
_statuses.put(bossId, RaidBossStatus.DEAD);
}
else if (boss.isInCombat())
{
_statuses.put(bossId, 2);
_statuses.put(bossId, RaidBossStatus.COMBAT);
}
else
{
_statuses.put(bossId, 1);
_statuses.put(bossId, RaidBossStatus.ALIVE);
}
}
}

View File

@ -20,6 +20,7 @@ import java.util.Map;
import java.util.Map.Entry;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.network.OutgoingPackets;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
@ -31,9 +32,9 @@ public class ExRaidBossSpawnInfo implements IClientOutgoingPacket
{
private static final int BAIUM = 29020;
private final Map<Integer, Integer> _statuses;
private final Map<Integer, RaidBossStatus> _statuses;
public ExRaidBossSpawnInfo(Map<Integer, Integer> statuses)
public ExRaidBossSpawnInfo(Map<Integer, RaidBossStatus> statuses)
{
_statuses = statuses;
}
@ -43,10 +44,10 @@ public class ExRaidBossSpawnInfo implements IClientOutgoingPacket
{
OutgoingPackets.EX_RAID_BOSS_SPAWN_INFO.writeId(packet);
packet.writeD(_statuses.size()); // count
for (Entry<Integer, Integer> entry : _statuses.entrySet())
for (Entry<Integer, RaidBossStatus> entry : _statuses.entrySet())
{
packet.writeD(entry.getKey());
packet.writeD((entry.getKey() == BAIUM) && (GrandBossManager.getInstance().getBossStatus(BAIUM) == 0) ? 1 : entry.getValue());
packet.writeD((entry.getKey() == BAIUM) && (GrandBossManager.getInstance().getBossStatus(BAIUM) == 0) ? 1 : entry.getValue().ordinal());
packet.writeD(0);
}
return true;

View File

@ -20,6 +20,7 @@ import java.util.HashMap;
import java.util.Map;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.model.actor.Npc;
@ -33,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.raidbossinfo.ExRaidBossSpa
*/
public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
{
private final Map<Integer, Integer> _statuses = new HashMap<>();
private final Map<Integer, RaidBossStatus> _statuses = new HashMap<>();
@Override
public boolean read(GameClient client, PacketReader packet)
@ -45,13 +46,13 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
final GrandBoss boss = GrandBossManager.getInstance().getBoss(bossId);
if (boss == null)
{
final int status = DBSpawnManager.getInstance().getNpcStatusId(bossId).ordinal();
if (status != 3)
final RaidBossStatus status = DBSpawnManager.getInstance().getNpcStatusId(bossId);
if (status != RaidBossStatus.UNDEFINED)
{
final Npc npc = DBSpawnManager.getInstance().getNpc(bossId);
if ((npc != null) && npc.isInCombat())
{
_statuses.put(bossId, 2);
_statuses.put(bossId, RaidBossStatus.COMBAT);
}
else
{
@ -60,6 +61,7 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
}
else
{
_statuses.put(bossId, RaidBossStatus.DEAD);
// PacketLogger.warning("Could not find spawn info for boss " + bossId + ".");
}
}
@ -67,15 +69,15 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
{
if (boss.isDead() || !boss.isSpawned())
{
_statuses.put(bossId, 0);
_statuses.put(bossId, RaidBossStatus.DEAD);
}
else if (boss.isInCombat())
{
_statuses.put(bossId, 2);
_statuses.put(bossId, RaidBossStatus.COMBAT);
}
else
{
_statuses.put(bossId, 1);
_statuses.put(bossId, RaidBossStatus.ALIVE);
}
}
}

View File

@ -20,6 +20,7 @@ import java.util.Map;
import java.util.Map.Entry;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.network.OutgoingPackets;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
@ -31,9 +32,9 @@ public class ExRaidBossSpawnInfo implements IClientOutgoingPacket
{
private static final int BAIUM = 29020;
private final Map<Integer, Integer> _statuses;
private final Map<Integer, RaidBossStatus> _statuses;
public ExRaidBossSpawnInfo(Map<Integer, Integer> statuses)
public ExRaidBossSpawnInfo(Map<Integer, RaidBossStatus> statuses)
{
_statuses = statuses;
}
@ -43,10 +44,10 @@ public class ExRaidBossSpawnInfo implements IClientOutgoingPacket
{
OutgoingPackets.EX_RAID_BOSS_SPAWN_INFO.writeId(packet);
packet.writeD(_statuses.size()); // count
for (Entry<Integer, Integer> entry : _statuses.entrySet())
for (Entry<Integer, RaidBossStatus> entry : _statuses.entrySet())
{
packet.writeD(entry.getKey());
packet.writeD((entry.getKey() == BAIUM) && (GrandBossManager.getInstance().getBossStatus(BAIUM) == 0) ? 1 : entry.getValue());
packet.writeD((entry.getKey() == BAIUM) && (GrandBossManager.getInstance().getBossStatus(BAIUM) == 0) ? 1 : entry.getValue().ordinal());
packet.writeD(0);
}
return true;

View File

@ -20,6 +20,7 @@ import java.util.HashMap;
import java.util.Map;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.model.actor.Npc;
@ -33,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.raidbossinfo.ExRaidBossSpa
*/
public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
{
private final Map<Integer, Integer> _statuses = new HashMap<>();
private final Map<Integer, RaidBossStatus> _statuses = new HashMap<>();
@Override
public boolean read(GameClient client, PacketReader packet)
@ -45,13 +46,13 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
final GrandBoss boss = GrandBossManager.getInstance().getBoss(bossId);
if (boss == null)
{
final int status = DBSpawnManager.getInstance().getNpcStatusId(bossId).ordinal();
if (status != 3)
final RaidBossStatus status = DBSpawnManager.getInstance().getNpcStatusId(bossId);
if (status != RaidBossStatus.UNDEFINED)
{
final Npc npc = DBSpawnManager.getInstance().getNpc(bossId);
if ((npc != null) && npc.isInCombat())
{
_statuses.put(bossId, 2);
_statuses.put(bossId, RaidBossStatus.COMBAT);
}
else
{
@ -60,6 +61,7 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
}
else
{
_statuses.put(bossId, RaidBossStatus.DEAD);
// PacketLogger.warning("Could not find spawn info for boss " + bossId + ".");
}
}
@ -67,15 +69,15 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
{
if (boss.isDead() || !boss.isSpawned())
{
_statuses.put(bossId, 0);
_statuses.put(bossId, RaidBossStatus.DEAD);
}
else if (boss.isInCombat())
{
_statuses.put(bossId, 2);
_statuses.put(bossId, RaidBossStatus.COMBAT);
}
else
{
_statuses.put(bossId, 1);
_statuses.put(bossId, RaidBossStatus.ALIVE);
}
}
}

View File

@ -20,6 +20,7 @@ import java.util.Map;
import java.util.Map.Entry;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.network.OutgoingPackets;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
@ -31,9 +32,9 @@ public class ExRaidBossSpawnInfo implements IClientOutgoingPacket
{
private static final int BAIUM = 29020;
private final Map<Integer, Integer> _statuses;
private final Map<Integer, RaidBossStatus> _statuses;
public ExRaidBossSpawnInfo(Map<Integer, Integer> statuses)
public ExRaidBossSpawnInfo(Map<Integer, RaidBossStatus> statuses)
{
_statuses = statuses;
}
@ -43,10 +44,10 @@ public class ExRaidBossSpawnInfo implements IClientOutgoingPacket
{
OutgoingPackets.EX_RAID_BOSS_SPAWN_INFO.writeId(packet);
packet.writeD(_statuses.size()); // count
for (Entry<Integer, Integer> entry : _statuses.entrySet())
for (Entry<Integer, RaidBossStatus> entry : _statuses.entrySet())
{
packet.writeD(entry.getKey());
packet.writeD((entry.getKey() == BAIUM) && (GrandBossManager.getInstance().getBossStatus(BAIUM) == 0) ? 1 : entry.getValue());
packet.writeD((entry.getKey() == BAIUM) && (GrandBossManager.getInstance().getBossStatus(BAIUM) == 0) ? 1 : entry.getValue().ordinal());
packet.writeD(0);
}
return true;