Addition of RaidBossStatus enum.

This commit is contained in:
MobiusDevelopment 2019-08-22 20:00:36 +00:00
parent b38ad9dbe6
commit 2407662a93
61 changed files with 667 additions and 348 deletions

View File

@ -0,0 +1,27 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.enums;
/**
* @author Mobius
*/
public enum RaidBossStatus
{
ALIVE,
DEAD,
UNDEFINED
}

View File

@ -35,6 +35,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.impl.NpcData; import org.l2jmobius.gameserver.data.xml.impl.NpcData;
import org.l2jmobius.gameserver.data.xml.impl.SpawnsData; import org.l2jmobius.gameserver.data.xml.impl.SpawnsData;
import org.l2jmobius.gameserver.datatables.SpawnTable; import org.l2jmobius.gameserver.datatables.SpawnTable;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.model.Spawn; import org.l2jmobius.gameserver.model.Spawn;
import org.l2jmobius.gameserver.model.StatsSet; import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
@ -55,13 +56,6 @@ public class DBSpawnManager
protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>(); protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>();
protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>(); protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>();
public enum DBStatusType
{
ALIVE,
DEAD,
UNDEFINED
}
/** /**
* Instantiates a new raid npc spawn manager. * Instantiates a new raid npc spawn manager.
*/ */
@ -164,7 +158,7 @@ public class DBSpawnManager
final Npc npc = _spawns.get(npcId).doSpawn(); final Npc npc = _spawns.get(npcId).doSpawn();
if (npc != null) if (npc != null)
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
@ -194,7 +188,7 @@ public class DBSpawnManager
if (isNpcDead) if (isNpcDead)
{ {
npc.setDBStatus(DBStatusType.DEAD); npc.setDBStatus(RaidBossStatus.DEAD);
final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER); final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER);
final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER); final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER);
@ -215,7 +209,7 @@ public class DBSpawnManager
} }
else else
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
@ -255,7 +249,7 @@ public class DBSpawnManager
{ {
npc.setCurrentHp(currentHP); npc.setCurrentHp(currentHP);
npc.setCurrentMp(currentMP); npc.setCurrentMp(currentMP);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_npcs.put(npcId, npc); _npcs.put(npcId, npc);
@ -319,7 +313,7 @@ public class DBSpawnManager
{ {
throw new NullPointerException(); throw new NullPointerException();
} }
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getMaxHp()); info.set("currentHP", npc.getMaxHp());
@ -419,7 +413,7 @@ public class DBSpawnManager
continue; continue;
} }
if (npc.getDBStatus() == DBStatusType.ALIVE) if (npc.getDBStatus() == RaidBossStatus.ALIVE)
{ {
updateStatus(npc, false); updateStatus(npc, false);
} }
@ -506,7 +500,7 @@ public class DBSpawnManager
* @param npcId the npc id * @param npcId the npc id
* @return the raid npc status id * @return the raid npc status id
*/ */
public DBStatusType getNpcStatusId(int npcId) public RaidBossStatus getNpcStatusId(int npcId)
{ {
if (_npcs.containsKey(npcId)) if (_npcs.containsKey(npcId))
{ {
@ -514,11 +508,11 @@ public class DBSpawnManager
} }
else if (_schedules.containsKey(npcId)) else if (_schedules.containsKey(npcId))
{ {
return DBStatusType.DEAD; return RaidBossStatus.DEAD;
} }
else else
{ {
return DBStatusType.UNDEFINED; return RaidBossStatus.UNDEFINED;
} }
} }
@ -543,7 +537,7 @@ public class DBSpawnManager
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
info.set("respawnTime", 0); info.set("respawnTime", 0);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_storedInfo.put(npc.getId(), info); _storedInfo.put(npc.getId(), info);
_npcs.put(npc.getId(), npc); _npcs.put(npc.getId(), npc);

View File

@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.AISkillScope; import org.l2jmobius.gameserver.enums.AISkillScope;
import org.l2jmobius.gameserver.enums.AIType; import org.l2jmobius.gameserver.enums.AIType;
import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.enums.InstanceType; import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.MpRewardAffectType; import org.l2jmobius.gameserver.enums.MpRewardAffectType;
import org.l2jmobius.gameserver.enums.PrivateStoreType; import org.l2jmobius.gameserver.enums.PrivateStoreType;
@ -41,7 +42,6 @@ import org.l2jmobius.gameserver.handler.BypassHandler;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
import org.l2jmobius.gameserver.instancemanager.CastleManager; import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.FortManager; import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager; import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.instancemanager.ZoneManager;
@ -150,7 +150,7 @@ public class Npc extends Creature
private NpcStringId _nameString; private NpcStringId _nameString;
private StatsSet _params; private StatsSet _params;
private DBStatusType _raidStatus; private RaidBossStatus _raidStatus;
/** Contains information about local tax payments. */ /** Contains information about local tax payments. */
private TaxZone _taxZone = null; private TaxZone _taxZone = null;
@ -1851,12 +1851,12 @@ public class Npc extends Creature
broadcastPacket(new ExShowChannelingEffect(this, target, state)); broadcastPacket(new ExShowChannelingEffect(this, target, state));
} }
public void setDBStatus(DBStatusType status) public void setDBStatus(RaidBossStatus status)
{ {
_raidStatus = status; _raidStatus = status;
} }
public DBStatusType getDBStatus() public RaidBossStatus getDBStatus()
{ {
return _raidStatus; return _raidStatus;
} }

View File

@ -0,0 +1,27 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.enums;
/**
* @author Mobius
*/
public enum RaidBossStatus
{
ALIVE,
DEAD,
UNDEFINED
}

View File

@ -35,6 +35,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.impl.NpcData; import org.l2jmobius.gameserver.data.xml.impl.NpcData;
import org.l2jmobius.gameserver.data.xml.impl.SpawnsData; import org.l2jmobius.gameserver.data.xml.impl.SpawnsData;
import org.l2jmobius.gameserver.datatables.SpawnTable; import org.l2jmobius.gameserver.datatables.SpawnTable;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.model.Spawn; import org.l2jmobius.gameserver.model.Spawn;
import org.l2jmobius.gameserver.model.StatsSet; import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
@ -55,13 +56,6 @@ public class DBSpawnManager
protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>(); protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>();
protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>(); protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>();
public enum DBStatusType
{
ALIVE,
DEAD,
UNDEFINED
}
/** /**
* Instantiates a new raid npc spawn manager. * Instantiates a new raid npc spawn manager.
*/ */
@ -164,7 +158,7 @@ public class DBSpawnManager
final Npc npc = _spawns.get(npcId).doSpawn(); final Npc npc = _spawns.get(npcId).doSpawn();
if (npc != null) if (npc != null)
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
@ -194,7 +188,7 @@ public class DBSpawnManager
if (isNpcDead) if (isNpcDead)
{ {
npc.setDBStatus(DBStatusType.DEAD); npc.setDBStatus(RaidBossStatus.DEAD);
final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER); final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER);
final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER); final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER);
@ -215,7 +209,7 @@ public class DBSpawnManager
} }
else else
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
@ -255,7 +249,7 @@ public class DBSpawnManager
{ {
npc.setCurrentHp(currentHP); npc.setCurrentHp(currentHP);
npc.setCurrentMp(currentMP); npc.setCurrentMp(currentMP);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_npcs.put(npcId, npc); _npcs.put(npcId, npc);
@ -319,7 +313,7 @@ public class DBSpawnManager
{ {
throw new NullPointerException(); throw new NullPointerException();
} }
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getMaxHp()); info.set("currentHP", npc.getMaxHp());
@ -419,7 +413,7 @@ public class DBSpawnManager
continue; continue;
} }
if (npc.getDBStatus() == DBStatusType.ALIVE) if (npc.getDBStatus() == RaidBossStatus.ALIVE)
{ {
updateStatus(npc, false); updateStatus(npc, false);
} }
@ -506,7 +500,7 @@ public class DBSpawnManager
* @param npcId the npc id * @param npcId the npc id
* @return the raid npc status id * @return the raid npc status id
*/ */
public DBStatusType getNpcStatusId(int npcId) public RaidBossStatus getNpcStatusId(int npcId)
{ {
if (_npcs.containsKey(npcId)) if (_npcs.containsKey(npcId))
{ {
@ -514,11 +508,11 @@ public class DBSpawnManager
} }
else if (_schedules.containsKey(npcId)) else if (_schedules.containsKey(npcId))
{ {
return DBStatusType.DEAD; return RaidBossStatus.DEAD;
} }
else else
{ {
return DBStatusType.UNDEFINED; return RaidBossStatus.UNDEFINED;
} }
} }
@ -543,7 +537,7 @@ public class DBSpawnManager
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
info.set("respawnTime", 0); info.set("respawnTime", 0);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_storedInfo.put(npc.getId(), info); _storedInfo.put(npc.getId(), info);
_npcs.put(npc.getId(), npc); _npcs.put(npc.getId(), npc);

View File

@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.AISkillScope; import org.l2jmobius.gameserver.enums.AISkillScope;
import org.l2jmobius.gameserver.enums.AIType; import org.l2jmobius.gameserver.enums.AIType;
import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.enums.InstanceType; import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.MpRewardAffectType; import org.l2jmobius.gameserver.enums.MpRewardAffectType;
import org.l2jmobius.gameserver.enums.PrivateStoreType; import org.l2jmobius.gameserver.enums.PrivateStoreType;
@ -41,7 +42,6 @@ import org.l2jmobius.gameserver.handler.BypassHandler;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
import org.l2jmobius.gameserver.instancemanager.CastleManager; import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.FortManager; import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager; import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.instancemanager.ZoneManager;
@ -150,7 +150,7 @@ public class Npc extends Creature
private NpcStringId _nameString; private NpcStringId _nameString;
private StatsSet _params; private StatsSet _params;
private DBStatusType _raidStatus; private RaidBossStatus _raidStatus;
/** Contains information about local tax payments. */ /** Contains information about local tax payments. */
private TaxZone _taxZone = null; private TaxZone _taxZone = null;
@ -1851,12 +1851,12 @@ public class Npc extends Creature
broadcastPacket(new ExShowChannelingEffect(this, target, state)); broadcastPacket(new ExShowChannelingEffect(this, target, state));
} }
public void setDBStatus(DBStatusType status) public void setDBStatus(RaidBossStatus status)
{ {
_raidStatus = status; _raidStatus = status;
} }
public DBStatusType getDBStatus() public RaidBossStatus getDBStatus()
{ {
return _raidStatus; return _raidStatus;
} }

View File

@ -0,0 +1,27 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.enums;
/**
* @author Mobius
*/
public enum RaidBossStatus
{
ALIVE,
DEAD,
UNDEFINED
}

View File

@ -35,6 +35,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.impl.NpcData; import org.l2jmobius.gameserver.data.xml.impl.NpcData;
import org.l2jmobius.gameserver.data.xml.impl.SpawnsData; import org.l2jmobius.gameserver.data.xml.impl.SpawnsData;
import org.l2jmobius.gameserver.datatables.SpawnTable; import org.l2jmobius.gameserver.datatables.SpawnTable;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.model.Spawn; import org.l2jmobius.gameserver.model.Spawn;
import org.l2jmobius.gameserver.model.StatsSet; import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
@ -55,13 +56,6 @@ public class DBSpawnManager
protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>(); protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>();
protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>(); protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>();
public enum DBStatusType
{
ALIVE,
DEAD,
UNDEFINED
}
/** /**
* Instantiates a new raid npc spawn manager. * Instantiates a new raid npc spawn manager.
*/ */
@ -164,7 +158,7 @@ public class DBSpawnManager
final Npc npc = _spawns.get(npcId).doSpawn(); final Npc npc = _spawns.get(npcId).doSpawn();
if (npc != null) if (npc != null)
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
@ -194,7 +188,7 @@ public class DBSpawnManager
if (isNpcDead) if (isNpcDead)
{ {
npc.setDBStatus(DBStatusType.DEAD); npc.setDBStatus(RaidBossStatus.DEAD);
final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER); final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER);
final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER); final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER);
@ -215,7 +209,7 @@ public class DBSpawnManager
} }
else else
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
@ -255,7 +249,7 @@ public class DBSpawnManager
{ {
npc.setCurrentHp(currentHP); npc.setCurrentHp(currentHP);
npc.setCurrentMp(currentMP); npc.setCurrentMp(currentMP);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_npcs.put(npcId, npc); _npcs.put(npcId, npc);
@ -319,7 +313,7 @@ public class DBSpawnManager
{ {
throw new NullPointerException(); throw new NullPointerException();
} }
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getMaxHp()); info.set("currentHP", npc.getMaxHp());
@ -419,7 +413,7 @@ public class DBSpawnManager
continue; continue;
} }
if (npc.getDBStatus() == DBStatusType.ALIVE) if (npc.getDBStatus() == RaidBossStatus.ALIVE)
{ {
updateStatus(npc, false); updateStatus(npc, false);
} }
@ -506,7 +500,7 @@ public class DBSpawnManager
* @param npcId the npc id * @param npcId the npc id
* @return the raid npc status id * @return the raid npc status id
*/ */
public DBStatusType getNpcStatusId(int npcId) public RaidBossStatus getNpcStatusId(int npcId)
{ {
if (_npcs.containsKey(npcId)) if (_npcs.containsKey(npcId))
{ {
@ -514,11 +508,11 @@ public class DBSpawnManager
} }
else if (_schedules.containsKey(npcId)) else if (_schedules.containsKey(npcId))
{ {
return DBStatusType.DEAD; return RaidBossStatus.DEAD;
} }
else else
{ {
return DBStatusType.UNDEFINED; return RaidBossStatus.UNDEFINED;
} }
} }
@ -543,7 +537,7 @@ public class DBSpawnManager
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
info.set("respawnTime", 0); info.set("respawnTime", 0);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_storedInfo.put(npc.getId(), info); _storedInfo.put(npc.getId(), info);
_npcs.put(npc.getId(), npc); _npcs.put(npc.getId(), npc);

View File

@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.AISkillScope; import org.l2jmobius.gameserver.enums.AISkillScope;
import org.l2jmobius.gameserver.enums.AIType; import org.l2jmobius.gameserver.enums.AIType;
import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.enums.InstanceType; import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.MpRewardAffectType; import org.l2jmobius.gameserver.enums.MpRewardAffectType;
import org.l2jmobius.gameserver.enums.PrivateStoreType; import org.l2jmobius.gameserver.enums.PrivateStoreType;
@ -41,7 +42,6 @@ import org.l2jmobius.gameserver.handler.BypassHandler;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
import org.l2jmobius.gameserver.instancemanager.CastleManager; import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.FortManager; import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager; import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.instancemanager.ZoneManager;
@ -150,7 +150,7 @@ public class Npc extends Creature
private NpcStringId _nameString; private NpcStringId _nameString;
private StatsSet _params; private StatsSet _params;
private DBStatusType _raidStatus; private RaidBossStatus _raidStatus;
/** Contains information about local tax payments. */ /** Contains information about local tax payments. */
private TaxZone _taxZone = null; private TaxZone _taxZone = null;
@ -1851,12 +1851,12 @@ public class Npc extends Creature
broadcastPacket(new ExShowChannelingEffect(this, target, state)); broadcastPacket(new ExShowChannelingEffect(this, target, state));
} }
public void setDBStatus(DBStatusType status) public void setDBStatus(RaidBossStatus status)
{ {
_raidStatus = status; _raidStatus = status;
} }
public DBStatusType getDBStatus() public RaidBossStatus getDBStatus()
{ {
return _raidStatus; return _raidStatus;
} }

View File

@ -0,0 +1,27 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.enums;
/**
* @author Mobius
*/
public enum RaidBossStatus
{
ALIVE,
DEAD,
UNDEFINED
}

View File

@ -35,6 +35,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.impl.NpcData; import org.l2jmobius.gameserver.data.xml.impl.NpcData;
import org.l2jmobius.gameserver.data.xml.impl.SpawnsData; import org.l2jmobius.gameserver.data.xml.impl.SpawnsData;
import org.l2jmobius.gameserver.datatables.SpawnTable; import org.l2jmobius.gameserver.datatables.SpawnTable;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.model.Spawn; import org.l2jmobius.gameserver.model.Spawn;
import org.l2jmobius.gameserver.model.StatsSet; import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
@ -55,13 +56,6 @@ public class DBSpawnManager
protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>(); protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>();
protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>(); protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>();
public enum DBStatusType
{
ALIVE,
DEAD,
UNDEFINED
}
/** /**
* Instantiates a new raid npc spawn manager. * Instantiates a new raid npc spawn manager.
*/ */
@ -164,7 +158,7 @@ public class DBSpawnManager
final Npc npc = _spawns.get(npcId).doSpawn(); final Npc npc = _spawns.get(npcId).doSpawn();
if (npc != null) if (npc != null)
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
@ -194,7 +188,7 @@ public class DBSpawnManager
if (isNpcDead) if (isNpcDead)
{ {
npc.setDBStatus(DBStatusType.DEAD); npc.setDBStatus(RaidBossStatus.DEAD);
final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER); final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER);
final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER); final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER);
@ -215,7 +209,7 @@ public class DBSpawnManager
} }
else else
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
@ -255,7 +249,7 @@ public class DBSpawnManager
{ {
npc.setCurrentHp(currentHP); npc.setCurrentHp(currentHP);
npc.setCurrentMp(currentMP); npc.setCurrentMp(currentMP);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_npcs.put(npcId, npc); _npcs.put(npcId, npc);
@ -319,7 +313,7 @@ public class DBSpawnManager
{ {
throw new NullPointerException(); throw new NullPointerException();
} }
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getMaxHp()); info.set("currentHP", npc.getMaxHp());
@ -419,7 +413,7 @@ public class DBSpawnManager
continue; continue;
} }
if (npc.getDBStatus() == DBStatusType.ALIVE) if (npc.getDBStatus() == RaidBossStatus.ALIVE)
{ {
updateStatus(npc, false); updateStatus(npc, false);
} }
@ -506,7 +500,7 @@ public class DBSpawnManager
* @param npcId the npc id * @param npcId the npc id
* @return the raid npc status id * @return the raid npc status id
*/ */
public DBStatusType getNpcStatusId(int npcId) public RaidBossStatus getNpcStatusId(int npcId)
{ {
if (_npcs.containsKey(npcId)) if (_npcs.containsKey(npcId))
{ {
@ -514,11 +508,11 @@ public class DBSpawnManager
} }
else if (_schedules.containsKey(npcId)) else if (_schedules.containsKey(npcId))
{ {
return DBStatusType.DEAD; return RaidBossStatus.DEAD;
} }
else else
{ {
return DBStatusType.UNDEFINED; return RaidBossStatus.UNDEFINED;
} }
} }
@ -543,7 +537,7 @@ public class DBSpawnManager
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
info.set("respawnTime", 0); info.set("respawnTime", 0);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_storedInfo.put(npc.getId(), info); _storedInfo.put(npc.getId(), info);
_npcs.put(npc.getId(), npc); _npcs.put(npc.getId(), npc);

View File

@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.AISkillScope; import org.l2jmobius.gameserver.enums.AISkillScope;
import org.l2jmobius.gameserver.enums.AIType; import org.l2jmobius.gameserver.enums.AIType;
import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.enums.InstanceType; import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.MpRewardAffectType; import org.l2jmobius.gameserver.enums.MpRewardAffectType;
import org.l2jmobius.gameserver.enums.PrivateStoreType; import org.l2jmobius.gameserver.enums.PrivateStoreType;
@ -41,7 +42,6 @@ import org.l2jmobius.gameserver.handler.BypassHandler;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
import org.l2jmobius.gameserver.instancemanager.CastleManager; import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.FortManager; import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager; import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.instancemanager.ZoneManager;
@ -150,7 +150,7 @@ public class Npc extends Creature
private NpcStringId _nameString; private NpcStringId _nameString;
private StatsSet _params; private StatsSet _params;
private DBStatusType _raidStatus; private RaidBossStatus _raidStatus;
/** Contains information about local tax payments. */ /** Contains information about local tax payments. */
private TaxZone _taxZone = null; private TaxZone _taxZone = null;
@ -1851,12 +1851,12 @@ public class Npc extends Creature
broadcastPacket(new ExShowChannelingEffect(this, target, state)); broadcastPacket(new ExShowChannelingEffect(this, target, state));
} }
public void setDBStatus(DBStatusType status) public void setDBStatus(RaidBossStatus status)
{ {
_raidStatus = status; _raidStatus = status;
} }
public DBStatusType getDBStatus() public RaidBossStatus getDBStatus()
{ {
return _raidStatus; return _raidStatus;
} }

View File

@ -20,8 +20,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.l2jmobius.commons.network.PacketReader; import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager; import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
@ -41,7 +41,7 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
for (int i = 0; i < count; i++) for (int i = 0; i < count; i++)
{ {
final int bossId = packet.readD(); final int bossId = packet.readD();
if (DBSpawnManager.getInstance().getNpcStatusId(bossId) == DBStatusType.ALIVE) if (DBSpawnManager.getInstance().getNpcStatusId(bossId) == RaidBossStatus.ALIVE)
{ {
_bossIds.add(bossId); _bossIds.add(bossId);
} }

View File

@ -0,0 +1,27 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.enums;
/**
* @author Mobius
*/
public enum RaidBossStatus
{
ALIVE,
DEAD,
UNDEFINED
}

View File

@ -35,6 +35,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.impl.NpcData; import org.l2jmobius.gameserver.data.xml.impl.NpcData;
import org.l2jmobius.gameserver.data.xml.impl.SpawnsData; import org.l2jmobius.gameserver.data.xml.impl.SpawnsData;
import org.l2jmobius.gameserver.datatables.SpawnTable; import org.l2jmobius.gameserver.datatables.SpawnTable;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.model.Spawn; import org.l2jmobius.gameserver.model.Spawn;
import org.l2jmobius.gameserver.model.StatsSet; import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
@ -55,13 +56,6 @@ public class DBSpawnManager
protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>(); protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>();
protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>(); protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>();
public enum DBStatusType
{
ALIVE,
DEAD,
UNDEFINED
}
/** /**
* Instantiates a new raid npc spawn manager. * Instantiates a new raid npc spawn manager.
*/ */
@ -164,7 +158,7 @@ public class DBSpawnManager
final Npc npc = _spawns.get(npcId).doSpawn(); final Npc npc = _spawns.get(npcId).doSpawn();
if (npc != null) if (npc != null)
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
@ -194,7 +188,7 @@ public class DBSpawnManager
if (isNpcDead) if (isNpcDead)
{ {
npc.setDBStatus(DBStatusType.DEAD); npc.setDBStatus(RaidBossStatus.DEAD);
final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER); final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER);
final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER); final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER);
@ -215,7 +209,7 @@ public class DBSpawnManager
} }
else else
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
@ -255,7 +249,7 @@ public class DBSpawnManager
{ {
npc.setCurrentHp(currentHP); npc.setCurrentHp(currentHP);
npc.setCurrentMp(currentMP); npc.setCurrentMp(currentMP);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_npcs.put(npcId, npc); _npcs.put(npcId, npc);
@ -319,7 +313,7 @@ public class DBSpawnManager
{ {
throw new NullPointerException(); throw new NullPointerException();
} }
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getMaxHp()); info.set("currentHP", npc.getMaxHp());
@ -419,7 +413,7 @@ public class DBSpawnManager
continue; continue;
} }
if (npc.getDBStatus() == DBStatusType.ALIVE) if (npc.getDBStatus() == RaidBossStatus.ALIVE)
{ {
updateStatus(npc, false); updateStatus(npc, false);
} }
@ -506,7 +500,7 @@ public class DBSpawnManager
* @param npcId the npc id * @param npcId the npc id
* @return the raid npc status id * @return the raid npc status id
*/ */
public DBStatusType getNpcStatusId(int npcId) public RaidBossStatus getNpcStatusId(int npcId)
{ {
if (_npcs.containsKey(npcId)) if (_npcs.containsKey(npcId))
{ {
@ -514,11 +508,11 @@ public class DBSpawnManager
} }
else if (_schedules.containsKey(npcId)) else if (_schedules.containsKey(npcId))
{ {
return DBStatusType.DEAD; return RaidBossStatus.DEAD;
} }
else else
{ {
return DBStatusType.UNDEFINED; return RaidBossStatus.UNDEFINED;
} }
} }
@ -543,7 +537,7 @@ public class DBSpawnManager
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
info.set("respawnTime", 0); info.set("respawnTime", 0);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_storedInfo.put(npc.getId(), info); _storedInfo.put(npc.getId(), info);
_npcs.put(npc.getId(), npc); _npcs.put(npc.getId(), npc);

View File

@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.AISkillScope; import org.l2jmobius.gameserver.enums.AISkillScope;
import org.l2jmobius.gameserver.enums.AIType; import org.l2jmobius.gameserver.enums.AIType;
import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.enums.InstanceType; import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.MpRewardAffectType; import org.l2jmobius.gameserver.enums.MpRewardAffectType;
import org.l2jmobius.gameserver.enums.PrivateStoreType; import org.l2jmobius.gameserver.enums.PrivateStoreType;
@ -41,7 +42,6 @@ import org.l2jmobius.gameserver.handler.BypassHandler;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
import org.l2jmobius.gameserver.instancemanager.CastleManager; import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.FortManager; import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager; import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.instancemanager.ZoneManager;
@ -150,7 +150,7 @@ public class Npc extends Creature
private NpcStringId _nameString; private NpcStringId _nameString;
private StatsSet _params; private StatsSet _params;
private DBStatusType _raidStatus; private RaidBossStatus _raidStatus;
/** Contains information about local tax payments. */ /** Contains information about local tax payments. */
private TaxZone _taxZone = null; private TaxZone _taxZone = null;
@ -1851,12 +1851,12 @@ public class Npc extends Creature
broadcastPacket(new ExShowChannelingEffect(this, target, state)); broadcastPacket(new ExShowChannelingEffect(this, target, state));
} }
public void setDBStatus(DBStatusType status) public void setDBStatus(RaidBossStatus status)
{ {
_raidStatus = status; _raidStatus = status;
} }
public DBStatusType getDBStatus() public RaidBossStatus getDBStatus()
{ {
return _raidStatus; return _raidStatus;
} }

View File

@ -20,8 +20,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.l2jmobius.commons.network.PacketReader; import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager; import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
@ -41,7 +41,7 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
for (int i = 0; i < count; i++) for (int i = 0; i < count; i++)
{ {
final int bossId = packet.readD(); final int bossId = packet.readD();
if (DBSpawnManager.getInstance().getNpcStatusId(bossId) == DBStatusType.ALIVE) if (DBSpawnManager.getInstance().getNpcStatusId(bossId) == RaidBossStatus.ALIVE)
{ {
_bossIds.add(bossId); _bossIds.add(bossId);
} }

View File

@ -0,0 +1,27 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.enums;
/**
* @author Mobius
*/
public enum RaidBossStatus
{
ALIVE,
DEAD,
UNDEFINED
}

View File

@ -35,6 +35,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.impl.NpcData; import org.l2jmobius.gameserver.data.xml.impl.NpcData;
import org.l2jmobius.gameserver.data.xml.impl.SpawnsData; import org.l2jmobius.gameserver.data.xml.impl.SpawnsData;
import org.l2jmobius.gameserver.datatables.SpawnTable; import org.l2jmobius.gameserver.datatables.SpawnTable;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.model.Spawn; import org.l2jmobius.gameserver.model.Spawn;
import org.l2jmobius.gameserver.model.StatsSet; import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
@ -55,13 +56,6 @@ public class DBSpawnManager
protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>(); protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>();
protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>(); protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>();
public enum DBStatusType
{
ALIVE,
DEAD,
UNDEFINED
}
/** /**
* Instantiates a new raid npc spawn manager. * Instantiates a new raid npc spawn manager.
*/ */
@ -164,7 +158,7 @@ public class DBSpawnManager
final Npc npc = _spawns.get(npcId).doSpawn(); final Npc npc = _spawns.get(npcId).doSpawn();
if (npc != null) if (npc != null)
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
@ -194,7 +188,7 @@ public class DBSpawnManager
if (isNpcDead) if (isNpcDead)
{ {
npc.setDBStatus(DBStatusType.DEAD); npc.setDBStatus(RaidBossStatus.DEAD);
final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER); final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER);
final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER); final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER);
@ -215,7 +209,7 @@ public class DBSpawnManager
} }
else else
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
@ -255,7 +249,7 @@ public class DBSpawnManager
{ {
npc.setCurrentHp(currentHP); npc.setCurrentHp(currentHP);
npc.setCurrentMp(currentMP); npc.setCurrentMp(currentMP);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_npcs.put(npcId, npc); _npcs.put(npcId, npc);
@ -319,7 +313,7 @@ public class DBSpawnManager
{ {
throw new NullPointerException(); throw new NullPointerException();
} }
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getMaxHp()); info.set("currentHP", npc.getMaxHp());
@ -419,7 +413,7 @@ public class DBSpawnManager
continue; continue;
} }
if (npc.getDBStatus() == DBStatusType.ALIVE) if (npc.getDBStatus() == RaidBossStatus.ALIVE)
{ {
updateStatus(npc, false); updateStatus(npc, false);
} }
@ -506,7 +500,7 @@ public class DBSpawnManager
* @param npcId the npc id * @param npcId the npc id
* @return the raid npc status id * @return the raid npc status id
*/ */
public DBStatusType getNpcStatusId(int npcId) public RaidBossStatus getNpcStatusId(int npcId)
{ {
if (_npcs.containsKey(npcId)) if (_npcs.containsKey(npcId))
{ {
@ -514,11 +508,11 @@ public class DBSpawnManager
} }
else if (_schedules.containsKey(npcId)) else if (_schedules.containsKey(npcId))
{ {
return DBStatusType.DEAD; return RaidBossStatus.DEAD;
} }
else else
{ {
return DBStatusType.UNDEFINED; return RaidBossStatus.UNDEFINED;
} }
} }
@ -543,7 +537,7 @@ public class DBSpawnManager
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
info.set("respawnTime", 0); info.set("respawnTime", 0);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_storedInfo.put(npc.getId(), info); _storedInfo.put(npc.getId(), info);
_npcs.put(npc.getId(), npc); _npcs.put(npc.getId(), npc);

View File

@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.AISkillScope; import org.l2jmobius.gameserver.enums.AISkillScope;
import org.l2jmobius.gameserver.enums.AIType; import org.l2jmobius.gameserver.enums.AIType;
import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.enums.InstanceType; import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.MpRewardAffectType; import org.l2jmobius.gameserver.enums.MpRewardAffectType;
import org.l2jmobius.gameserver.enums.PrivateStoreType; import org.l2jmobius.gameserver.enums.PrivateStoreType;
@ -41,7 +42,6 @@ import org.l2jmobius.gameserver.handler.BypassHandler;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
import org.l2jmobius.gameserver.instancemanager.CastleManager; import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.FortManager; import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager; import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.instancemanager.ZoneManager;
@ -150,7 +150,7 @@ public class Npc extends Creature
private NpcStringId _nameString; private NpcStringId _nameString;
private StatsSet _params; private StatsSet _params;
private DBStatusType _raidStatus; private RaidBossStatus _raidStatus;
/** Contains information about local tax payments. */ /** Contains information about local tax payments. */
private TaxZone _taxZone = null; private TaxZone _taxZone = null;
@ -1851,12 +1851,12 @@ public class Npc extends Creature
broadcastPacket(new ExShowChannelingEffect(this, target, state)); broadcastPacket(new ExShowChannelingEffect(this, target, state));
} }
public void setDBStatus(DBStatusType status) public void setDBStatus(RaidBossStatus status)
{ {
_raidStatus = status; _raidStatus = status;
} }
public DBStatusType getDBStatus() public RaidBossStatus getDBStatus()
{ {
return _raidStatus; return _raidStatus;
} }

View File

@ -20,8 +20,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.l2jmobius.commons.network.PacketReader; import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager; import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
@ -41,7 +41,7 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
for (int i = 0; i < count; i++) for (int i = 0; i < count; i++)
{ {
final int bossId = packet.readD(); final int bossId = packet.readD();
if (DBSpawnManager.getInstance().getNpcStatusId(bossId) == DBStatusType.ALIVE) if (DBSpawnManager.getInstance().getNpcStatusId(bossId) == RaidBossStatus.ALIVE)
{ {
_bossIds.add(bossId); _bossIds.add(bossId);
} }

View File

@ -0,0 +1,27 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.enums;
/**
* @author Mobius
*/
public enum RaidBossStatus
{
ALIVE,
DEAD,
UNDEFINED
}

View File

@ -35,6 +35,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.impl.NpcData; import org.l2jmobius.gameserver.data.xml.impl.NpcData;
import org.l2jmobius.gameserver.data.xml.impl.SpawnsData; import org.l2jmobius.gameserver.data.xml.impl.SpawnsData;
import org.l2jmobius.gameserver.datatables.SpawnTable; import org.l2jmobius.gameserver.datatables.SpawnTable;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.model.Spawn; import org.l2jmobius.gameserver.model.Spawn;
import org.l2jmobius.gameserver.model.StatsSet; import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
@ -55,13 +56,6 @@ public class DBSpawnManager
protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>(); protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>();
protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>(); protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>();
public enum DBStatusType
{
ALIVE,
DEAD,
UNDEFINED
}
/** /**
* Instantiates a new raid npc spawn manager. * Instantiates a new raid npc spawn manager.
*/ */
@ -164,7 +158,7 @@ public class DBSpawnManager
final Npc npc = _spawns.get(npcId).doSpawn(); final Npc npc = _spawns.get(npcId).doSpawn();
if (npc != null) if (npc != null)
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
@ -194,7 +188,7 @@ public class DBSpawnManager
if (isNpcDead) if (isNpcDead)
{ {
npc.setDBStatus(DBStatusType.DEAD); npc.setDBStatus(RaidBossStatus.DEAD);
final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER); final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER);
final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER); final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER);
@ -215,7 +209,7 @@ public class DBSpawnManager
} }
else else
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
@ -255,7 +249,7 @@ public class DBSpawnManager
{ {
npc.setCurrentHp(currentHP); npc.setCurrentHp(currentHP);
npc.setCurrentMp(currentMP); npc.setCurrentMp(currentMP);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_npcs.put(npcId, npc); _npcs.put(npcId, npc);
@ -319,7 +313,7 @@ public class DBSpawnManager
{ {
throw new NullPointerException(); throw new NullPointerException();
} }
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getMaxHp()); info.set("currentHP", npc.getMaxHp());
@ -419,7 +413,7 @@ public class DBSpawnManager
continue; continue;
} }
if (npc.getDBStatus() == DBStatusType.ALIVE) if (npc.getDBStatus() == RaidBossStatus.ALIVE)
{ {
updateStatus(npc, false); updateStatus(npc, false);
} }
@ -506,7 +500,7 @@ public class DBSpawnManager
* @param npcId the npc id * @param npcId the npc id
* @return the raid npc status id * @return the raid npc status id
*/ */
public DBStatusType getNpcStatusId(int npcId) public RaidBossStatus getNpcStatusId(int npcId)
{ {
if (_npcs.containsKey(npcId)) if (_npcs.containsKey(npcId))
{ {
@ -514,11 +508,11 @@ public class DBSpawnManager
} }
else if (_schedules.containsKey(npcId)) else if (_schedules.containsKey(npcId))
{ {
return DBStatusType.DEAD; return RaidBossStatus.DEAD;
} }
else else
{ {
return DBStatusType.UNDEFINED; return RaidBossStatus.UNDEFINED;
} }
} }
@ -543,7 +537,7 @@ public class DBSpawnManager
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
info.set("respawnTime", 0); info.set("respawnTime", 0);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_storedInfo.put(npc.getId(), info); _storedInfo.put(npc.getId(), info);
_npcs.put(npc.getId(), npc); _npcs.put(npc.getId(), npc);

View File

@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.AISkillScope; import org.l2jmobius.gameserver.enums.AISkillScope;
import org.l2jmobius.gameserver.enums.AIType; import org.l2jmobius.gameserver.enums.AIType;
import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.enums.InstanceType; import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.MpRewardAffectType; import org.l2jmobius.gameserver.enums.MpRewardAffectType;
import org.l2jmobius.gameserver.enums.PrivateStoreType; import org.l2jmobius.gameserver.enums.PrivateStoreType;
@ -41,7 +42,6 @@ import org.l2jmobius.gameserver.handler.BypassHandler;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
import org.l2jmobius.gameserver.instancemanager.CastleManager; import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.FortManager; import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager; import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.instancemanager.ZoneManager;
@ -150,7 +150,7 @@ public class Npc extends Creature
private NpcStringId _nameString; private NpcStringId _nameString;
private StatsSet _params; private StatsSet _params;
private DBStatusType _raidStatus; private RaidBossStatus _raidStatus;
/** Contains information about local tax payments. */ /** Contains information about local tax payments. */
private TaxZone _taxZone = null; private TaxZone _taxZone = null;
@ -1851,12 +1851,12 @@ public class Npc extends Creature
broadcastPacket(new ExShowChannelingEffect(this, target, state)); broadcastPacket(new ExShowChannelingEffect(this, target, state));
} }
public void setDBStatus(DBStatusType status) public void setDBStatus(RaidBossStatus status)
{ {
_raidStatus = status; _raidStatus = status;
} }
public DBStatusType getDBStatus() public RaidBossStatus getDBStatus()
{ {
return _raidStatus; return _raidStatus;
} }

View File

@ -20,8 +20,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.l2jmobius.commons.network.PacketReader; import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager; import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
@ -41,7 +41,7 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
for (int i = 0; i < count; i++) for (int i = 0; i < count; i++)
{ {
final int bossId = packet.readD(); final int bossId = packet.readD();
if (DBSpawnManager.getInstance().getNpcStatusId(bossId) == DBStatusType.ALIVE) if (DBSpawnManager.getInstance().getNpcStatusId(bossId) == RaidBossStatus.ALIVE)
{ {
_bossIds.add(bossId); _bossIds.add(bossId);
} }

View File

@ -19,8 +19,8 @@ package quests.Q604_DaimonTheWhiteEyed_Part2;
import java.util.logging.Level; import java.util.logging.Level;
import org.l2jmobius.commons.util.Rnd; import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.RaidBossSpawnManager; import org.l2jmobius.gameserver.instancemanager.RaidBossSpawnManager;
import org.l2jmobius.gameserver.instancemanager.RaidBossSpawnManager.StatusEnum;
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance; import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.actor.instance.RaidBossInstance; import org.l2jmobius.gameserver.model.actor.instance.RaidBossInstance;
@ -91,7 +91,7 @@ public class Q604_DaimonTheWhiteEyed_Part2 extends Quest
if (event.equals("check")) if (event.equals("check"))
{ {
RaidBossInstance raid = RaidBossSpawnManager.getInstance().getBosses().get(DAIMON_THE_WHITE_EYED); RaidBossInstance raid = RaidBossSpawnManager.getInstance().getBosses().get(DAIMON_THE_WHITE_EYED);
if ((raid != null) && (raid.getRaidStatus() == StatusEnum.ALIVE)) if ((raid != null) && (raid.getRaidStatus() == RaidBossStatus.ALIVE))
{ {
if ((_status >= 0) && (_status-- == 0)) if ((_status >= 0) && (_status-- == 0))
{ {
@ -277,7 +277,7 @@ public class Q604_DaimonTheWhiteEyed_Part2 extends Quest
private boolean spawnRaid() private boolean spawnRaid()
{ {
RaidBossInstance raid = RaidBossSpawnManager.getInstance().getBosses().get(DAIMON_THE_WHITE_EYED); RaidBossInstance raid = RaidBossSpawnManager.getInstance().getBosses().get(DAIMON_THE_WHITE_EYED);
if ((raid != null) && (raid.getRaidStatus() == StatusEnum.ALIVE)) if ((raid != null) && (raid.getRaidStatus() == RaidBossStatus.ALIVE))
{ {
// set temporarily spawn location (to provide correct behavior of RaidBossInstance.checkAndReturnToSpawn()) // set temporarily spawn location (to provide correct behavior of RaidBossInstance.checkAndReturnToSpawn())
raid.getSpawn().setLoc(185900, -44000, -3160, Rnd.get(65536)); raid.getSpawn().setLoc(185900, -44000, -3160, Rnd.get(65536));

View File

@ -19,8 +19,8 @@ package quests.Q610_MagicalPowerOfWater_Part2;
import java.util.logging.Level; import java.util.logging.Level;
import org.l2jmobius.commons.util.Rnd; import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.RaidBossSpawnManager; import org.l2jmobius.gameserver.instancemanager.RaidBossSpawnManager;
import org.l2jmobius.gameserver.instancemanager.RaidBossSpawnManager.StatusEnum;
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance; import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.actor.instance.RaidBossInstance; import org.l2jmobius.gameserver.model.actor.instance.RaidBossInstance;
@ -81,7 +81,7 @@ public class Q610_MagicalPowerOfWater_Part2 extends Quest
if (event.equals("check")) if (event.equals("check"))
{ {
RaidBossInstance raid = RaidBossSpawnManager.getInstance().getBosses().get(SOUL_OF_WATER_ASHUTAR); RaidBossInstance raid = RaidBossSpawnManager.getInstance().getBosses().get(SOUL_OF_WATER_ASHUTAR);
if ((raid != null) && (raid.getRaidStatus() == StatusEnum.ALIVE)) if ((raid != null) && (raid.getRaidStatus() == RaidBossStatus.ALIVE))
{ {
if ((_status >= 0) && (_status-- == 0)) if ((_status >= 0) && (_status-- == 0))
{ {
@ -257,7 +257,7 @@ public class Q610_MagicalPowerOfWater_Part2 extends Quest
private boolean spawnRaid() private boolean spawnRaid()
{ {
RaidBossInstance raid = RaidBossSpawnManager.getInstance().getBosses().get(SOUL_OF_WATER_ASHUTAR); RaidBossInstance raid = RaidBossSpawnManager.getInstance().getBosses().get(SOUL_OF_WATER_ASHUTAR);
if ((raid != null) && (raid.getRaidStatus() == StatusEnum.ALIVE)) if ((raid != null) && (raid.getRaidStatus() == RaidBossStatus.ALIVE))
{ {
// set temporarily spawn location (to provide correct behavior of RaidBossInstance.checkAndReturnToSpawn()) // set temporarily spawn location (to provide correct behavior of RaidBossInstance.checkAndReturnToSpawn())
raid.getSpawn().setLoc(104771, -36993, -1149, Rnd.get(65536)); raid.getSpawn().setLoc(104771, -36993, -1149, Rnd.get(65536));

View File

@ -19,8 +19,8 @@ package quests.Q616_MagicalPowerOfFire_Part2;
import java.util.logging.Level; import java.util.logging.Level;
import org.l2jmobius.commons.util.Rnd; import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.RaidBossSpawnManager; import org.l2jmobius.gameserver.instancemanager.RaidBossSpawnManager;
import org.l2jmobius.gameserver.instancemanager.RaidBossSpawnManager.StatusEnum;
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance; import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.actor.instance.RaidBossInstance; import org.l2jmobius.gameserver.model.actor.instance.RaidBossInstance;
@ -81,7 +81,7 @@ public class Q616_MagicalPowerOfFire_Part2 extends Quest
if (event.equals("check")) if (event.equals("check"))
{ {
RaidBossInstance raid = RaidBossSpawnManager.getInstance().getBosses().get(SOUL_OF_FIRE_NASTRON); RaidBossInstance raid = RaidBossSpawnManager.getInstance().getBosses().get(SOUL_OF_FIRE_NASTRON);
if ((raid != null) && (raid.getRaidStatus() == StatusEnum.ALIVE)) if ((raid != null) && (raid.getRaidStatus() == RaidBossStatus.ALIVE))
{ {
if ((_status >= 0) && (_status-- == 0)) if ((_status >= 0) && (_status-- == 0))
{ {
@ -268,7 +268,7 @@ public class Q616_MagicalPowerOfFire_Part2 extends Quest
private boolean spawnRaid() private boolean spawnRaid()
{ {
RaidBossInstance raid = RaidBossSpawnManager.getInstance().getBosses().get(SOUL_OF_FIRE_NASTRON); RaidBossInstance raid = RaidBossSpawnManager.getInstance().getBosses().get(SOUL_OF_FIRE_NASTRON);
if ((raid != null) && (raid.getRaidStatus() == StatusEnum.ALIVE)) if ((raid != null) && (raid.getRaidStatus() == RaidBossStatus.ALIVE))
{ {
// set temporarily spawn location (to provide correct behavior of RaidBossInstance.checkAndReturnToSpawn()) // set temporarily spawn location (to provide correct behavior of RaidBossInstance.checkAndReturnToSpawn())
raid.getSpawn().setLoc(142624, -82285, -6491, Rnd.get(65536)); raid.getSpawn().setLoc(142624, -82285, -6491, Rnd.get(65536));

View File

@ -19,8 +19,8 @@ package quests.Q625_TheFinestIngredients_Part2;
import java.util.logging.Level; import java.util.logging.Level;
import org.l2jmobius.commons.util.Rnd; import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.RaidBossSpawnManager; import org.l2jmobius.gameserver.instancemanager.RaidBossSpawnManager;
import org.l2jmobius.gameserver.instancemanager.RaidBossSpawnManager.StatusEnum;
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance; import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.actor.instance.RaidBossInstance; import org.l2jmobius.gameserver.model.actor.instance.RaidBossInstance;
@ -91,7 +91,7 @@ public class Q625_TheFinestIngredients_Part2 extends Quest
if (event.equals("check")) if (event.equals("check"))
{ {
RaidBossInstance raid = RaidBossSpawnManager.getInstance().getBosses().get(ICICLE_EMPEROR_BUMBALUMP); RaidBossInstance raid = RaidBossSpawnManager.getInstance().getBosses().get(ICICLE_EMPEROR_BUMBALUMP);
if ((raid != null) && (raid.getRaidStatus() == StatusEnum.ALIVE)) if ((raid != null) && (raid.getRaidStatus() == RaidBossStatus.ALIVE))
{ {
if ((_status >= 0) && (_status-- == 0)) if ((_status >= 0) && (_status-- == 0))
{ {
@ -271,7 +271,7 @@ public class Q625_TheFinestIngredients_Part2 extends Quest
private boolean spawnRaid() private boolean spawnRaid()
{ {
RaidBossInstance raid = RaidBossSpawnManager.getInstance().getBosses().get(ICICLE_EMPEROR_BUMBALUMP); RaidBossInstance raid = RaidBossSpawnManager.getInstance().getBosses().get(ICICLE_EMPEROR_BUMBALUMP);
if ((raid != null) && (raid.getRaidStatus() == StatusEnum.ALIVE)) if ((raid != null) && (raid.getRaidStatus() == RaidBossStatus.ALIVE))
{ {
// set temporarily spawn location (to provide correct behavior of RaidBossInstance.checkAndReturnToSpawn()) // set temporarily spawn location (to provide correct behavior of RaidBossInstance.checkAndReturnToSpawn())
raid.getSpawn().setLoc(157117, -121939, -2397, Rnd.get(65536)); raid.getSpawn().setLoc(157117, -121939, -2397, Rnd.get(65536));

View File

@ -0,0 +1,27 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.enums;
/**
* @author Mobius
*/
public enum RaidBossStatus
{
ALIVE,
DEAD,
UNDEFINED
}

View File

@ -25,6 +25,7 @@ import java.util.logging.Logger;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.datatables.SkillTable; import org.l2jmobius.gameserver.datatables.SkillTable;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.model.Skill; import org.l2jmobius.gameserver.model.Skill;
import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance; import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
@ -227,7 +228,7 @@ public class DayNightSpawnManager
continue; continue;
} }
if ((boss != null) && (boss.getNpcId() == 25328) && boss.getRaidStatus().equals(RaidBossSpawnManager.StatusEnum.ALIVE)) if ((boss != null) && (boss.getNpcId() == 25328) && boss.getRaidStatus().equals(RaidBossStatus.ALIVE))
{ {
handleHellmans(boss, mode); handleHellmans(boss, mode);
} }

View File

@ -34,6 +34,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.datatables.GmListTable; import org.l2jmobius.gameserver.datatables.GmListTable;
import org.l2jmobius.gameserver.datatables.sql.NpcTable; import org.l2jmobius.gameserver.datatables.sql.NpcTable;
import org.l2jmobius.gameserver.datatables.sql.SpawnTable; import org.l2jmobius.gameserver.datatables.sql.SpawnTable;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.model.actor.instance.RaidBossInstance; import org.l2jmobius.gameserver.model.actor.instance.RaidBossInstance;
import org.l2jmobius.gameserver.model.entity.Announcements; import org.l2jmobius.gameserver.model.entity.Announcements;
import org.l2jmobius.gameserver.model.spawn.Spawn; import org.l2jmobius.gameserver.model.spawn.Spawn;
@ -54,13 +55,6 @@ public class RaidBossSpawnManager
protected static final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>(); protected static final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>();
protected static final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>(); protected static final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>();
public enum StatusEnum
{
ALIVE,
DEAD,
UNDEFINED
}
/** /**
* Instantiates a new raid boss spawn manager. * Instantiates a new raid boss spawn manager.
*/ */
@ -147,7 +141,7 @@ public class RaidBossSpawnManager
if (raidboss != null) if (raidboss != null)
{ {
raidboss.setRaidStatus(StatusEnum.ALIVE); raidboss.setRaidStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", raidboss.getCurrentHp()); info.set("currentHP", raidboss.getCurrentHp());
@ -189,7 +183,7 @@ public class RaidBossSpawnManager
if (isBossDead) if (isBossDead)
{ {
boss.setRaidStatus(StatusEnum.DEAD); boss.setRaidStatus(RaidBossStatus.DEAD);
final int RespawnMinDelay = boss.getSpawn().getRespawnMinDelay(); final int RespawnMinDelay = boss.getSpawn().getRespawnMinDelay();
final int RespawnMaxDelay = boss.getSpawn().getRespawnMaxDelay(); final int RespawnMaxDelay = boss.getSpawn().getRespawnMaxDelay();
@ -213,7 +207,7 @@ public class RaidBossSpawnManager
} }
else else
{ {
boss.setRaidStatus(StatusEnum.ALIVE); boss.setRaidStatus(RaidBossStatus.ALIVE);
info.set("currentHP", boss.getCurrentHp()); info.set("currentHP", boss.getCurrentHp());
info.set("currentMP", boss.getCurrentMp()); info.set("currentMP", boss.getCurrentMp());
@ -257,7 +251,7 @@ public class RaidBossSpawnManager
raidboss.setCurrentHp(currentHP); raidboss.setCurrentHp(currentHP);
raidboss.setCurrentMp(currentMP); raidboss.setCurrentMp(currentMP);
raidboss.setRaidStatus(StatusEnum.ALIVE); raidboss.setRaidStatus(RaidBossStatus.ALIVE);
_bosses.put(bossId, raidboss); _bosses.put(bossId, raidboss);
@ -379,7 +373,7 @@ public class RaidBossSpawnManager
continue; continue;
} }
if (boss.getRaidStatus().equals(StatusEnum.ALIVE)) if (boss.getRaidStatus().equals(RaidBossStatus.ALIVE))
{ {
updateStatus(boss, false); updateStatus(boss, false);
} }
@ -468,7 +462,7 @@ public class RaidBossSpawnManager
* @param bossId the boss id * @param bossId the boss id
* @return the raid boss status id * @return the raid boss status id
*/ */
public StatusEnum getRaidBossStatusId(int bossId) public RaidBossStatus getRaidBossStatusId(int bossId)
{ {
if (_bosses.containsKey(bossId)) if (_bosses.containsKey(bossId))
{ {
@ -476,11 +470,11 @@ public class RaidBossSpawnManager
} }
else if (_schedules.containsKey(bossId)) else if (_schedules.containsKey(bossId))
{ {
return StatusEnum.DEAD; return RaidBossStatus.DEAD;
} }
else else
{ {
return StatusEnum.UNDEFINED; return RaidBossStatus.UNDEFINED;
} }
} }
@ -511,7 +505,7 @@ public class RaidBossSpawnManager
info.set("currentMP", raidboss.getCurrentMp()); info.set("currentMP", raidboss.getCurrentMp());
info.set("respawnTime", 0); info.set("respawnTime", 0);
raidboss.setRaidStatus(StatusEnum.ALIVE); raidboss.setRaidStatus(RaidBossStatus.ALIVE);
_storedInfo.put(raidboss.getNpcId(), info); _storedInfo.put(raidboss.getNpcId(), info);

View File

@ -19,6 +19,7 @@ package org.l2jmobius.gameserver.model.actor.instance;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool; import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Rnd; import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.RaidBossPointsManager; import org.l2jmobius.gameserver.instancemanager.RaidBossPointsManager;
import org.l2jmobius.gameserver.instancemanager.RaidBossSpawnManager; import org.l2jmobius.gameserver.instancemanager.RaidBossSpawnManager;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
@ -34,7 +35,7 @@ import org.l2jmobius.gameserver.templates.creatures.NpcTemplate;
*/ */
public class RaidBossInstance extends MonsterInstance public class RaidBossInstance extends MonsterInstance
{ {
private RaidBossSpawnManager.StatusEnum _raidStatus; private RaidBossStatus _raidStatus;
/** /**
* Constructor of RaidBossInstance (use Creature and NpcInstance constructor).<BR> * Constructor of RaidBossInstance (use Creature and NpcInstance constructor).<BR>
@ -135,7 +136,7 @@ public class RaidBossInstance extends MonsterInstance
* Sets the raid status. * Sets the raid status.
* @param status the new raid status * @param status the new raid status
*/ */
public void setRaidStatus(RaidBossSpawnManager.StatusEnum status) public void setRaidStatus(RaidBossStatus status)
{ {
_raidStatus = status; _raidStatus = status;
} }
@ -144,7 +145,7 @@ public class RaidBossInstance extends MonsterInstance
* Gets the raid status. * Gets the raid status.
* @return the raid status * @return the raid status
*/ */
public RaidBossSpawnManager.StatusEnum getRaidStatus() public RaidBossStatus getRaidStatus()
{ {
return _raidStatus; return _raidStatus;
} }

View File

@ -31,8 +31,8 @@ import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.data.xml.impl.DoorData; import org.l2jmobius.gameserver.data.xml.impl.DoorData;
import org.l2jmobius.gameserver.data.xml.impl.SkillData; import org.l2jmobius.gameserver.data.xml.impl.SkillData;
import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.RaidBossSpawnManager; import org.l2jmobius.gameserver.instancemanager.RaidBossSpawnManager;
import org.l2jmobius.gameserver.instancemanager.RaidBossSpawnManager.StatusEnum;
import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.instancemanager.ZoneManager;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.Party; import org.l2jmobius.gameserver.model.Party;
@ -1332,7 +1332,7 @@ public class TullyWorkshop extends AbstractNpcAI
{ {
nextServantIdx = 0; nextServantIdx = 0;
initDeathCounter(roomData[0]); initDeathCounter(roomData[0]);
if (RaidBossSpawnManager.getInstance().getRaidBossStatusId(DARION) == StatusEnum.ALIVE) if (RaidBossSpawnManager.getInstance().getRaidBossStatusId(DARION) == RaidBossStatus.ALIVE)
{ {
allowAgentSpawn = false; allowAgentSpawn = false;
allowServantSpawn = false; allowServantSpawn = false;
@ -1420,7 +1420,7 @@ public class TullyWorkshop extends AbstractNpcAI
} }
else if (npc.getId() == PILLAR) else if (npc.getId() == PILLAR)
{ {
npc.setIsInvul(RaidBossSpawnManager.getInstance().getRaidBossStatusId(DARION) == StatusEnum.ALIVE); npc.setIsInvul(RaidBossSpawnManager.getInstance().getRaidBossStatusId(DARION) == RaidBossStatus.ALIVE);
} }
return super.onSpawn(npc); return super.onSpawn(npc);
} }
@ -1541,7 +1541,7 @@ public class TullyWorkshop extends AbstractNpcAI
private void doOnLoadSpawn() private void doOnLoadSpawn()
{ {
// Ghost of Tully and Spooky Tombstone should be spawned, if Tully isn't alive // Ghost of Tully and Spooky Tombstone should be spawned, if Tully isn't alive
if (RaidBossSpawnManager.getInstance().getRaidBossStatusId(TULLY) != StatusEnum.ALIVE) if (RaidBossSpawnManager.getInstance().getRaidBossStatusId(TULLY) != RaidBossStatus.ALIVE)
{ {
for (int i = 12; i <= 13; i++) for (int i = 12; i <= 13; i++)
{ {
@ -1558,7 +1558,7 @@ public class TullyWorkshop extends AbstractNpcAI
pillarSpawn.startRespawn(); pillarSpawn.startRespawn();
// Doors related // Doors related
if (RaidBossSpawnManager.getInstance().getRaidBossStatusId(DARION) != StatusEnum.ALIVE) if (RaidBossSpawnManager.getInstance().getRaidBossStatusId(DARION) != RaidBossStatus.ALIVE)
{ {
handleDoorsOnDeath(); handleDoorsOnDeath();
} }

View File

@ -0,0 +1,27 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.enums;
/**
* @author Mobius
*/
public enum RaidBossStatus
{
ALIVE,
DEAD,
UNDEFINED
}

View File

@ -24,6 +24,7 @@ import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.model.Spawn; import org.l2jmobius.gameserver.model.Spawn;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.RaidBossInstance; import org.l2jmobius.gameserver.model.actor.instance.RaidBossInstance;
@ -205,7 +206,7 @@ public class DayNightSpawnManager
continue; continue;
} }
if ((boss != null) && (boss.getId() == 25328) && boss.getRaidStatus() == RaidBossSpawnManager.StatusEnum.ALIVE) if ((boss != null) && (boss.getId() == 25328) && (boss.getRaidStatus() == RaidBossStatus.ALIVE))
{ {
handleHellmans(boss, mode); handleHellmans(boss, mode);
} }

View File

@ -33,6 +33,7 @@ import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Rnd; import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.datatables.SpawnTable; import org.l2jmobius.gameserver.datatables.SpawnTable;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.model.Spawn; import org.l2jmobius.gameserver.model.Spawn;
import org.l2jmobius.gameserver.model.StatsSet; import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.actor.instance.RaidBossInstance; import org.l2jmobius.gameserver.model.actor.instance.RaidBossInstance;
@ -50,13 +51,6 @@ public class RaidBossSpawnManager
protected static final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>(); protected static final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>();
protected static final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>(); protected static final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>();
public enum StatusEnum
{
ALIVE,
DEAD,
UNDEFINED
}
/** /**
* Instantiates a new raid boss spawn manager. * Instantiates a new raid boss spawn manager.
*/ */
@ -134,7 +128,7 @@ public class RaidBossSpawnManager
if (raidboss != null) if (raidboss != null)
{ {
raidboss.setRaidStatus(StatusEnum.ALIVE); raidboss.setRaidStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", raidboss.getCurrentHp()); info.set("currentHP", raidboss.getCurrentHp());
@ -167,7 +161,7 @@ public class RaidBossSpawnManager
if (isBossDead) if (isBossDead)
{ {
boss.setRaidStatus(StatusEnum.DEAD); boss.setRaidStatus(RaidBossStatus.DEAD);
final int respawnMinDelay = (int) (boss.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER); final int respawnMinDelay = (int) (boss.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER);
final int respawnMaxDelay = (int) (boss.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER); final int respawnMaxDelay = (int) (boss.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER);
@ -190,7 +184,7 @@ public class RaidBossSpawnManager
} }
else else
{ {
boss.setRaidStatus(StatusEnum.ALIVE); boss.setRaidStatus(RaidBossStatus.ALIVE);
info.set("currentHP", boss.getCurrentHp()); info.set("currentHP", boss.getCurrentHp());
info.set("currentMP", boss.getCurrentMp()); info.set("currentMP", boss.getCurrentMp());
@ -226,7 +220,7 @@ public class RaidBossSpawnManager
{ {
raidboss.setCurrentHp(currentHP); raidboss.setCurrentHp(currentHP);
raidboss.setCurrentMp(currentMP); raidboss.setCurrentMp(currentMP);
raidboss.setRaidStatus(StatusEnum.ALIVE); raidboss.setRaidStatus(RaidBossStatus.ALIVE);
_bosses.put(bossId, raidboss); _bosses.put(bossId, raidboss);
@ -343,7 +337,7 @@ public class RaidBossSpawnManager
continue; continue;
} }
if (boss.getRaidStatus() == StatusEnum.ALIVE) if (boss.getRaidStatus() == RaidBossStatus.ALIVE)
{ {
updateStatus(boss, false); updateStatus(boss, false);
} }
@ -432,7 +426,7 @@ public class RaidBossSpawnManager
* @param bossId the boss id * @param bossId the boss id
* @return the raid boss status id * @return the raid boss status id
*/ */
public StatusEnum getRaidBossStatusId(int bossId) public RaidBossStatus getRaidBossStatusId(int bossId)
{ {
if (_bosses.containsKey(bossId)) if (_bosses.containsKey(bossId))
{ {
@ -440,11 +434,11 @@ public class RaidBossSpawnManager
} }
else if (_schedules.containsKey(bossId)) else if (_schedules.containsKey(bossId))
{ {
return StatusEnum.DEAD; return RaidBossStatus.DEAD;
} }
else else
{ {
return StatusEnum.UNDEFINED; return RaidBossStatus.UNDEFINED;
} }
} }
@ -459,7 +453,7 @@ public class RaidBossSpawnManager
info.set("currentMP", raidboss.getCurrentMp()); info.set("currentMP", raidboss.getCurrentMp());
info.set("respawnTime", 0); info.set("respawnTime", 0);
raidboss.setRaidStatus(StatusEnum.ALIVE); raidboss.setRaidStatus(RaidBossStatus.ALIVE);
_storedInfo.put(raidboss.getId(), info); _storedInfo.put(raidboss.getId(), info);

View File

@ -19,6 +19,7 @@ package org.l2jmobius.gameserver.model.actor.instance;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Rnd; import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.enums.InstanceType; import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.RaidBossPointsManager; import org.l2jmobius.gameserver.instancemanager.RaidBossPointsManager;
import org.l2jmobius.gameserver.instancemanager.RaidBossSpawnManager; import org.l2jmobius.gameserver.instancemanager.RaidBossSpawnManager;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
@ -33,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
*/ */
public class RaidBossInstance extends MonsterInstance public class RaidBossInstance extends MonsterInstance
{ {
private RaidBossSpawnManager.StatusEnum _raidStatus; private RaidBossStatus _raidStatus;
private boolean _useRaidCurse = true; private boolean _useRaidCurse = true;
/** /**
@ -92,12 +93,12 @@ public class RaidBossInstance extends MonsterInstance
return true; return true;
} }
public void setRaidStatus(RaidBossSpawnManager.StatusEnum status) public void setRaidStatus(RaidBossStatus status)
{ {
_raidStatus = status; _raidStatus = status;
} }
public RaidBossSpawnManager.StatusEnum getRaidStatus() public RaidBossStatus getRaidStatus()
{ {
return _raidStatus; return _raidStatus;
} }

View File

@ -0,0 +1,27 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.enums;
/**
* @author Mobius
*/
public enum RaidBossStatus
{
ALIVE,
DEAD,
UNDEFINED
}

View File

@ -35,6 +35,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.impl.NpcData; import org.l2jmobius.gameserver.data.xml.impl.NpcData;
import org.l2jmobius.gameserver.data.xml.impl.SpawnsData; import org.l2jmobius.gameserver.data.xml.impl.SpawnsData;
import org.l2jmobius.gameserver.datatables.SpawnTable; import org.l2jmobius.gameserver.datatables.SpawnTable;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.model.Spawn; import org.l2jmobius.gameserver.model.Spawn;
import org.l2jmobius.gameserver.model.StatsSet; import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
@ -55,13 +56,6 @@ public class DBSpawnManager
protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>(); protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>();
protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>(); protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>();
public enum DBStatusType
{
ALIVE,
DEAD,
UNDEFINED
}
/** /**
* Instantiates a new raid npc spawn manager. * Instantiates a new raid npc spawn manager.
*/ */
@ -164,7 +158,7 @@ public class DBSpawnManager
final Npc npc = _spawns.get(npcId).doSpawn(); final Npc npc = _spawns.get(npcId).doSpawn();
if (npc != null) if (npc != null)
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
@ -194,7 +188,7 @@ public class DBSpawnManager
if (isNpcDead) if (isNpcDead)
{ {
npc.setDBStatus(DBStatusType.DEAD); npc.setDBStatus(RaidBossStatus.DEAD);
final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER); final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER);
final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER); final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER);
@ -215,7 +209,7 @@ public class DBSpawnManager
} }
else else
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
@ -255,7 +249,7 @@ public class DBSpawnManager
{ {
npc.setCurrentHp(currentHP); npc.setCurrentHp(currentHP);
npc.setCurrentMp(currentMP); npc.setCurrentMp(currentMP);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_npcs.put(npcId, npc); _npcs.put(npcId, npc);
@ -319,7 +313,7 @@ public class DBSpawnManager
{ {
throw new NullPointerException(); throw new NullPointerException();
} }
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getMaxHp()); info.set("currentHP", npc.getMaxHp());
@ -419,7 +413,7 @@ public class DBSpawnManager
continue; continue;
} }
if (npc.getDBStatus() == DBStatusType.ALIVE) if (npc.getDBStatus() == RaidBossStatus.ALIVE)
{ {
updateStatus(npc, false); updateStatus(npc, false);
} }
@ -506,7 +500,7 @@ public class DBSpawnManager
* @param npcId the npc id * @param npcId the npc id
* @return the raid npc status id * @return the raid npc status id
*/ */
public DBStatusType getNpcStatusId(int npcId) public RaidBossStatus getNpcStatusId(int npcId)
{ {
if (_npcs.containsKey(npcId)) if (_npcs.containsKey(npcId))
{ {
@ -514,11 +508,11 @@ public class DBSpawnManager
} }
else if (_schedules.containsKey(npcId)) else if (_schedules.containsKey(npcId))
{ {
return DBStatusType.DEAD; return RaidBossStatus.DEAD;
} }
else else
{ {
return DBStatusType.UNDEFINED; return RaidBossStatus.UNDEFINED;
} }
} }
@ -543,7 +537,7 @@ public class DBSpawnManager
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
info.set("respawnTime", 0); info.set("respawnTime", 0);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_storedInfo.put(npc.getId(), info); _storedInfo.put(npc.getId(), info);
_npcs.put(npc.getId(), npc); _npcs.put(npc.getId(), npc);

View File

@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.AISkillScope; import org.l2jmobius.gameserver.enums.AISkillScope;
import org.l2jmobius.gameserver.enums.AIType; import org.l2jmobius.gameserver.enums.AIType;
import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.enums.InstanceType; import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.MpRewardAffectType; import org.l2jmobius.gameserver.enums.MpRewardAffectType;
import org.l2jmobius.gameserver.enums.PrivateStoreType; import org.l2jmobius.gameserver.enums.PrivateStoreType;
@ -41,7 +42,6 @@ import org.l2jmobius.gameserver.handler.BypassHandler;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
import org.l2jmobius.gameserver.instancemanager.CastleManager; import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.FortManager; import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager; import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.instancemanager.ZoneManager;
@ -150,7 +150,7 @@ public class Npc extends Creature
private NpcStringId _nameString; private NpcStringId _nameString;
private StatsSet _params; private StatsSet _params;
private DBStatusType _raidStatus; private RaidBossStatus _raidStatus;
/** Contains information about local tax payments. */ /** Contains information about local tax payments. */
private TaxZone _taxZone = null; private TaxZone _taxZone = null;
@ -1851,12 +1851,12 @@ public class Npc extends Creature
broadcastPacket(new ExShowChannelingEffect(this, target, state)); broadcastPacket(new ExShowChannelingEffect(this, target, state));
} }
public void setDBStatus(DBStatusType status) public void setDBStatus(RaidBossStatus status)
{ {
_raidStatus = status; _raidStatus = status;
} }
public DBStatusType getDBStatus() public RaidBossStatus getDBStatus()
{ {
return _raidStatus; return _raidStatus;
} }

View File

@ -0,0 +1,27 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.enums;
/**
* @author Mobius
*/
public enum RaidBossStatus
{
ALIVE,
DEAD,
UNDEFINED
}

View File

@ -35,6 +35,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.impl.NpcData; import org.l2jmobius.gameserver.data.xml.impl.NpcData;
import org.l2jmobius.gameserver.data.xml.impl.SpawnsData; import org.l2jmobius.gameserver.data.xml.impl.SpawnsData;
import org.l2jmobius.gameserver.datatables.SpawnTable; import org.l2jmobius.gameserver.datatables.SpawnTable;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.model.Spawn; import org.l2jmobius.gameserver.model.Spawn;
import org.l2jmobius.gameserver.model.StatsSet; import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
@ -55,13 +56,6 @@ public class DBSpawnManager
protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>(); protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>();
protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>(); protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>();
public enum DBStatusType
{
ALIVE,
DEAD,
UNDEFINED
}
/** /**
* Instantiates a new raid npc spawn manager. * Instantiates a new raid npc spawn manager.
*/ */
@ -164,7 +158,7 @@ public class DBSpawnManager
final Npc npc = _spawns.get(npcId).doSpawn(); final Npc npc = _spawns.get(npcId).doSpawn();
if (npc != null) if (npc != null)
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
@ -194,7 +188,7 @@ public class DBSpawnManager
if (isNpcDead) if (isNpcDead)
{ {
npc.setDBStatus(DBStatusType.DEAD); npc.setDBStatus(RaidBossStatus.DEAD);
final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER); final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER);
final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER); final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER);
@ -215,7 +209,7 @@ public class DBSpawnManager
} }
else else
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
@ -255,7 +249,7 @@ public class DBSpawnManager
{ {
npc.setCurrentHp(currentHP); npc.setCurrentHp(currentHP);
npc.setCurrentMp(currentMP); npc.setCurrentMp(currentMP);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_npcs.put(npcId, npc); _npcs.put(npcId, npc);
@ -319,7 +313,7 @@ public class DBSpawnManager
{ {
throw new NullPointerException(); throw new NullPointerException();
} }
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getMaxHp()); info.set("currentHP", npc.getMaxHp());
@ -419,7 +413,7 @@ public class DBSpawnManager
continue; continue;
} }
if (npc.getDBStatus() == DBStatusType.ALIVE) if (npc.getDBStatus() == RaidBossStatus.ALIVE)
{ {
updateStatus(npc, false); updateStatus(npc, false);
} }
@ -506,7 +500,7 @@ public class DBSpawnManager
* @param npcId the npc id * @param npcId the npc id
* @return the raid npc status id * @return the raid npc status id
*/ */
public DBStatusType getNpcStatusId(int npcId) public RaidBossStatus getNpcStatusId(int npcId)
{ {
if (_npcs.containsKey(npcId)) if (_npcs.containsKey(npcId))
{ {
@ -514,11 +508,11 @@ public class DBSpawnManager
} }
else if (_schedules.containsKey(npcId)) else if (_schedules.containsKey(npcId))
{ {
return DBStatusType.DEAD; return RaidBossStatus.DEAD;
} }
else else
{ {
return DBStatusType.UNDEFINED; return RaidBossStatus.UNDEFINED;
} }
} }
@ -543,7 +537,7 @@ public class DBSpawnManager
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
info.set("respawnTime", 0); info.set("respawnTime", 0);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_storedInfo.put(npc.getId(), info); _storedInfo.put(npc.getId(), info);
_npcs.put(npc.getId(), npc); _npcs.put(npc.getId(), npc);

View File

@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.AISkillScope; import org.l2jmobius.gameserver.enums.AISkillScope;
import org.l2jmobius.gameserver.enums.AIType; import org.l2jmobius.gameserver.enums.AIType;
import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.enums.InstanceType; import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.MpRewardAffectType; import org.l2jmobius.gameserver.enums.MpRewardAffectType;
import org.l2jmobius.gameserver.enums.PrivateStoreType; import org.l2jmobius.gameserver.enums.PrivateStoreType;
@ -41,7 +42,6 @@ import org.l2jmobius.gameserver.handler.BypassHandler;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
import org.l2jmobius.gameserver.instancemanager.CastleManager; import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.FortManager; import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager; import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.instancemanager.ZoneManager;
@ -150,7 +150,7 @@ public class Npc extends Creature
private NpcStringId _nameString; private NpcStringId _nameString;
private StatsSet _params; private StatsSet _params;
private DBStatusType _raidStatus; private RaidBossStatus _raidStatus;
/** Contains information about local tax payments. */ /** Contains information about local tax payments. */
private TaxZone _taxZone = null; private TaxZone _taxZone = null;
@ -1851,12 +1851,12 @@ public class Npc extends Creature
broadcastPacket(new ExShowChannelingEffect(this, target, state)); broadcastPacket(new ExShowChannelingEffect(this, target, state));
} }
public void setDBStatus(DBStatusType status) public void setDBStatus(RaidBossStatus status)
{ {
_raidStatus = status; _raidStatus = status;
} }
public DBStatusType getDBStatus() public RaidBossStatus getDBStatus()
{ {
return _raidStatus; return _raidStatus;
} }

View File

@ -20,8 +20,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.l2jmobius.commons.network.PacketReader; import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager; import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
@ -41,7 +41,7 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
for (int i = 0; i < count; i++) for (int i = 0; i < count; i++)
{ {
final int bossId = packet.readD(); final int bossId = packet.readD();
if (DBSpawnManager.getInstance().getNpcStatusId(bossId) == DBStatusType.ALIVE) if (DBSpawnManager.getInstance().getNpcStatusId(bossId) == RaidBossStatus.ALIVE)
{ {
_bossIds.add(bossId); _bossIds.add(bossId);
} }

View File

@ -0,0 +1,27 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.enums;
/**
* @author Mobius
*/
public enum RaidBossStatus
{
ALIVE,
DEAD,
UNDEFINED
}

View File

@ -35,6 +35,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.impl.NpcData; import org.l2jmobius.gameserver.data.xml.impl.NpcData;
import org.l2jmobius.gameserver.data.xml.impl.SpawnsData; import org.l2jmobius.gameserver.data.xml.impl.SpawnsData;
import org.l2jmobius.gameserver.datatables.SpawnTable; import org.l2jmobius.gameserver.datatables.SpawnTable;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.model.Spawn; import org.l2jmobius.gameserver.model.Spawn;
import org.l2jmobius.gameserver.model.StatsSet; import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
@ -55,13 +56,6 @@ public class DBSpawnManager
protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>(); protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>();
protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>(); protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>();
public enum DBStatusType
{
ALIVE,
DEAD,
UNDEFINED
}
/** /**
* Instantiates a new raid npc spawn manager. * Instantiates a new raid npc spawn manager.
*/ */
@ -164,7 +158,7 @@ public class DBSpawnManager
final Npc npc = _spawns.get(npcId).doSpawn(); final Npc npc = _spawns.get(npcId).doSpawn();
if (npc != null) if (npc != null)
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
@ -194,7 +188,7 @@ public class DBSpawnManager
if (isNpcDead) if (isNpcDead)
{ {
npc.setDBStatus(DBStatusType.DEAD); npc.setDBStatus(RaidBossStatus.DEAD);
final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER); final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER);
final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER); final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER);
@ -215,7 +209,7 @@ public class DBSpawnManager
} }
else else
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
@ -255,7 +249,7 @@ public class DBSpawnManager
{ {
npc.setCurrentHp(currentHP); npc.setCurrentHp(currentHP);
npc.setCurrentMp(currentMP); npc.setCurrentMp(currentMP);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_npcs.put(npcId, npc); _npcs.put(npcId, npc);
@ -319,7 +313,7 @@ public class DBSpawnManager
{ {
throw new NullPointerException(); throw new NullPointerException();
} }
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getMaxHp()); info.set("currentHP", npc.getMaxHp());
@ -419,7 +413,7 @@ public class DBSpawnManager
continue; continue;
} }
if (npc.getDBStatus() == DBStatusType.ALIVE) if (npc.getDBStatus() == RaidBossStatus.ALIVE)
{ {
updateStatus(npc, false); updateStatus(npc, false);
} }
@ -506,7 +500,7 @@ public class DBSpawnManager
* @param npcId the npc id * @param npcId the npc id
* @return the raid npc status id * @return the raid npc status id
*/ */
public DBStatusType getNpcStatusId(int npcId) public RaidBossStatus getNpcStatusId(int npcId)
{ {
if (_npcs.containsKey(npcId)) if (_npcs.containsKey(npcId))
{ {
@ -514,11 +508,11 @@ public class DBSpawnManager
} }
else if (_schedules.containsKey(npcId)) else if (_schedules.containsKey(npcId))
{ {
return DBStatusType.DEAD; return RaidBossStatus.DEAD;
} }
else else
{ {
return DBStatusType.UNDEFINED; return RaidBossStatus.UNDEFINED;
} }
} }
@ -543,7 +537,7 @@ public class DBSpawnManager
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
info.set("respawnTime", 0); info.set("respawnTime", 0);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_storedInfo.put(npc.getId(), info); _storedInfo.put(npc.getId(), info);
_npcs.put(npc.getId(), npc); _npcs.put(npc.getId(), npc);

View File

@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.AISkillScope; import org.l2jmobius.gameserver.enums.AISkillScope;
import org.l2jmobius.gameserver.enums.AIType; import org.l2jmobius.gameserver.enums.AIType;
import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.enums.InstanceType; import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.MpRewardAffectType; import org.l2jmobius.gameserver.enums.MpRewardAffectType;
import org.l2jmobius.gameserver.enums.PrivateStoreType; import org.l2jmobius.gameserver.enums.PrivateStoreType;
@ -41,7 +42,6 @@ import org.l2jmobius.gameserver.handler.BypassHandler;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
import org.l2jmobius.gameserver.instancemanager.CastleManager; import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.FortManager; import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager; import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.instancemanager.ZoneManager;
@ -150,7 +150,7 @@ public class Npc extends Creature
private NpcStringId _nameString; private NpcStringId _nameString;
private StatsSet _params; private StatsSet _params;
private DBStatusType _raidStatus; private RaidBossStatus _raidStatus;
/** Contains information about local tax payments. */ /** Contains information about local tax payments. */
private TaxZone _taxZone = null; private TaxZone _taxZone = null;
@ -1851,12 +1851,12 @@ public class Npc extends Creature
broadcastPacket(new ExShowChannelingEffect(this, target, state)); broadcastPacket(new ExShowChannelingEffect(this, target, state));
} }
public void setDBStatus(DBStatusType status) public void setDBStatus(RaidBossStatus status)
{ {
_raidStatus = status; _raidStatus = status;
} }
public DBStatusType getDBStatus() public RaidBossStatus getDBStatus()
{ {
return _raidStatus; return _raidStatus;
} }

View File

@ -20,8 +20,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.l2jmobius.commons.network.PacketReader; import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager; import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
@ -41,7 +41,7 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
for (int i = 0; i < count; i++) for (int i = 0; i < count; i++)
{ {
final int bossId = packet.readD(); final int bossId = packet.readD();
if (DBSpawnManager.getInstance().getNpcStatusId(bossId) == DBStatusType.ALIVE) if (DBSpawnManager.getInstance().getNpcStatusId(bossId) == RaidBossStatus.ALIVE)
{ {
_bossIds.add(bossId); _bossIds.add(bossId);
} }

View File

@ -0,0 +1,27 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.enums;
/**
* @author Mobius
*/
public enum RaidBossStatus
{
ALIVE,
DEAD,
UNDEFINED
}

View File

@ -35,6 +35,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.impl.NpcData; import org.l2jmobius.gameserver.data.xml.impl.NpcData;
import org.l2jmobius.gameserver.data.xml.impl.SpawnsData; import org.l2jmobius.gameserver.data.xml.impl.SpawnsData;
import org.l2jmobius.gameserver.datatables.SpawnTable; import org.l2jmobius.gameserver.datatables.SpawnTable;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.model.Spawn; import org.l2jmobius.gameserver.model.Spawn;
import org.l2jmobius.gameserver.model.StatsSet; import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
@ -55,13 +56,6 @@ public class DBSpawnManager
protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>(); protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>();
protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>(); protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>();
public enum DBStatusType
{
ALIVE,
DEAD,
UNDEFINED
}
/** /**
* Instantiates a new raid npc spawn manager. * Instantiates a new raid npc spawn manager.
*/ */
@ -164,7 +158,7 @@ public class DBSpawnManager
final Npc npc = _spawns.get(npcId).doSpawn(); final Npc npc = _spawns.get(npcId).doSpawn();
if (npc != null) if (npc != null)
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
@ -194,7 +188,7 @@ public class DBSpawnManager
if (isNpcDead) if (isNpcDead)
{ {
npc.setDBStatus(DBStatusType.DEAD); npc.setDBStatus(RaidBossStatus.DEAD);
final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER); final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER);
final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER); final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER);
@ -215,7 +209,7 @@ public class DBSpawnManager
} }
else else
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
@ -255,7 +249,7 @@ public class DBSpawnManager
{ {
npc.setCurrentHp(currentHP); npc.setCurrentHp(currentHP);
npc.setCurrentMp(currentMP); npc.setCurrentMp(currentMP);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_npcs.put(npcId, npc); _npcs.put(npcId, npc);
@ -319,7 +313,7 @@ public class DBSpawnManager
{ {
throw new NullPointerException(); throw new NullPointerException();
} }
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getMaxHp()); info.set("currentHP", npc.getMaxHp());
@ -419,7 +413,7 @@ public class DBSpawnManager
continue; continue;
} }
if (npc.getDBStatus() == DBStatusType.ALIVE) if (npc.getDBStatus() == RaidBossStatus.ALIVE)
{ {
updateStatus(npc, false); updateStatus(npc, false);
} }
@ -506,7 +500,7 @@ public class DBSpawnManager
* @param npcId the npc id * @param npcId the npc id
* @return the raid npc status id * @return the raid npc status id
*/ */
public DBStatusType getNpcStatusId(int npcId) public RaidBossStatus getNpcStatusId(int npcId)
{ {
if (_npcs.containsKey(npcId)) if (_npcs.containsKey(npcId))
{ {
@ -514,11 +508,11 @@ public class DBSpawnManager
} }
else if (_schedules.containsKey(npcId)) else if (_schedules.containsKey(npcId))
{ {
return DBStatusType.DEAD; return RaidBossStatus.DEAD;
} }
else else
{ {
return DBStatusType.UNDEFINED; return RaidBossStatus.UNDEFINED;
} }
} }
@ -543,7 +537,7 @@ public class DBSpawnManager
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
info.set("respawnTime", 0); info.set("respawnTime", 0);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_storedInfo.put(npc.getId(), info); _storedInfo.put(npc.getId(), info);
_npcs.put(npc.getId(), npc); _npcs.put(npc.getId(), npc);

View File

@ -34,6 +34,7 @@ import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.MpRewardAffectType; import org.l2jmobius.gameserver.enums.MpRewardAffectType;
import org.l2jmobius.gameserver.enums.PrivateStoreType; import org.l2jmobius.gameserver.enums.PrivateStoreType;
import org.l2jmobius.gameserver.enums.Race; import org.l2jmobius.gameserver.enums.Race;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.enums.ShotType; import org.l2jmobius.gameserver.enums.ShotType;
import org.l2jmobius.gameserver.enums.TaxType; import org.l2jmobius.gameserver.enums.TaxType;
import org.l2jmobius.gameserver.enums.Team; import org.l2jmobius.gameserver.enums.Team;
@ -42,7 +43,6 @@ import org.l2jmobius.gameserver.handler.BypassHandler;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
import org.l2jmobius.gameserver.instancemanager.CastleManager; import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.FortManager; import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager; import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.instancemanager.ZoneManager;
@ -151,7 +151,7 @@ public class Npc extends Creature
private NpcStringId _nameString; private NpcStringId _nameString;
private StatsSet _params; private StatsSet _params;
private DBStatusType _raidStatus; private RaidBossStatus _raidStatus;
/** Contains information about local tax payments. */ /** Contains information about local tax payments. */
private TaxZone _taxZone = null; private TaxZone _taxZone = null;
@ -1863,12 +1863,12 @@ public class Npc extends Creature
broadcastPacket(new ExShowChannelingEffect(this, target, state)); broadcastPacket(new ExShowChannelingEffect(this, target, state));
} }
public void setDBStatus(DBStatusType status) public void setDBStatus(RaidBossStatus status)
{ {
_raidStatus = status; _raidStatus = status;
} }
public DBStatusType getDBStatus() public RaidBossStatus getDBStatus()
{ {
return _raidStatus; return _raidStatus;
} }

View File

@ -20,8 +20,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.l2jmobius.commons.network.PacketReader; import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager; import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
@ -41,7 +41,7 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
for (int i = 0; i < count; i++) for (int i = 0; i < count; i++)
{ {
final int bossId = packet.readD(); final int bossId = packet.readD();
if (DBSpawnManager.getInstance().getNpcStatusId(bossId) == DBStatusType.ALIVE) if (DBSpawnManager.getInstance().getNpcStatusId(bossId) == RaidBossStatus.ALIVE)
{ {
_bossIds.add(bossId); _bossIds.add(bossId);
} }

View File

@ -0,0 +1,27 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.enums;
/**
* @author Mobius
*/
public enum RaidBossStatus
{
ALIVE,
DEAD,
UNDEFINED
}

View File

@ -35,6 +35,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.impl.NpcData; import org.l2jmobius.gameserver.data.xml.impl.NpcData;
import org.l2jmobius.gameserver.data.xml.impl.SpawnsData; import org.l2jmobius.gameserver.data.xml.impl.SpawnsData;
import org.l2jmobius.gameserver.datatables.SpawnTable; import org.l2jmobius.gameserver.datatables.SpawnTable;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.model.Spawn; import org.l2jmobius.gameserver.model.Spawn;
import org.l2jmobius.gameserver.model.StatsSet; import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
@ -55,13 +56,6 @@ public class DBSpawnManager
protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>(); protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>();
protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>(); protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>();
public enum DBStatusType
{
ALIVE,
DEAD,
UNDEFINED
}
/** /**
* Instantiates a new raid npc spawn manager. * Instantiates a new raid npc spawn manager.
*/ */
@ -164,7 +158,7 @@ public class DBSpawnManager
final Npc npc = _spawns.get(npcId).doSpawn(); final Npc npc = _spawns.get(npcId).doSpawn();
if (npc != null) if (npc != null)
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
@ -194,7 +188,7 @@ public class DBSpawnManager
if (isNpcDead) if (isNpcDead)
{ {
npc.setDBStatus(DBStatusType.DEAD); npc.setDBStatus(RaidBossStatus.DEAD);
final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER); final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER);
final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER); final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER);
@ -215,7 +209,7 @@ public class DBSpawnManager
} }
else else
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
@ -255,7 +249,7 @@ public class DBSpawnManager
{ {
npc.setCurrentHp(currentHP); npc.setCurrentHp(currentHP);
npc.setCurrentMp(currentMP); npc.setCurrentMp(currentMP);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_npcs.put(npcId, npc); _npcs.put(npcId, npc);
@ -319,7 +313,7 @@ public class DBSpawnManager
{ {
throw new NullPointerException(); throw new NullPointerException();
} }
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getMaxHp()); info.set("currentHP", npc.getMaxHp());
@ -419,7 +413,7 @@ public class DBSpawnManager
continue; continue;
} }
if (npc.getDBStatus() == DBStatusType.ALIVE) if (npc.getDBStatus() == RaidBossStatus.ALIVE)
{ {
updateStatus(npc, false); updateStatus(npc, false);
} }
@ -506,7 +500,7 @@ public class DBSpawnManager
* @param npcId the npc id * @param npcId the npc id
* @return the raid npc status id * @return the raid npc status id
*/ */
public DBStatusType getNpcStatusId(int npcId) public RaidBossStatus getNpcStatusId(int npcId)
{ {
if (_npcs.containsKey(npcId)) if (_npcs.containsKey(npcId))
{ {
@ -514,11 +508,11 @@ public class DBSpawnManager
} }
else if (_schedules.containsKey(npcId)) else if (_schedules.containsKey(npcId))
{ {
return DBStatusType.DEAD; return RaidBossStatus.DEAD;
} }
else else
{ {
return DBStatusType.UNDEFINED; return RaidBossStatus.UNDEFINED;
} }
} }
@ -543,7 +537,7 @@ public class DBSpawnManager
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
info.set("respawnTime", 0); info.set("respawnTime", 0);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_storedInfo.put(npc.getId(), info); _storedInfo.put(npc.getId(), info);
_npcs.put(npc.getId(), npc); _npcs.put(npc.getId(), npc);

View File

@ -34,6 +34,7 @@ import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.MpRewardAffectType; import org.l2jmobius.gameserver.enums.MpRewardAffectType;
import org.l2jmobius.gameserver.enums.PrivateStoreType; import org.l2jmobius.gameserver.enums.PrivateStoreType;
import org.l2jmobius.gameserver.enums.Race; import org.l2jmobius.gameserver.enums.Race;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.enums.ShotType; import org.l2jmobius.gameserver.enums.ShotType;
import org.l2jmobius.gameserver.enums.TaxType; import org.l2jmobius.gameserver.enums.TaxType;
import org.l2jmobius.gameserver.enums.Team; import org.l2jmobius.gameserver.enums.Team;
@ -42,7 +43,6 @@ import org.l2jmobius.gameserver.handler.BypassHandler;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
import org.l2jmobius.gameserver.instancemanager.CastleManager; import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.FortManager; import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager; import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.instancemanager.ZoneManager;
@ -151,7 +151,7 @@ public class Npc extends Creature
private NpcStringId _nameString; private NpcStringId _nameString;
private StatsSet _params; private StatsSet _params;
private DBStatusType _raidStatus; private RaidBossStatus _raidStatus;
/** Contains information about local tax payments. */ /** Contains information about local tax payments. */
private TaxZone _taxZone = null; private TaxZone _taxZone = null;
@ -1863,12 +1863,12 @@ public class Npc extends Creature
broadcastPacket(new ExShowChannelingEffect(this, target, state)); broadcastPacket(new ExShowChannelingEffect(this, target, state));
} }
public void setDBStatus(DBStatusType status) public void setDBStatus(RaidBossStatus status)
{ {
_raidStatus = status; _raidStatus = status;
} }
public DBStatusType getDBStatus() public RaidBossStatus getDBStatus()
{ {
return _raidStatus; return _raidStatus;
} }

View File

@ -20,8 +20,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.l2jmobius.commons.network.PacketReader; import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager; import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
@ -41,7 +41,7 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
for (int i = 0; i < count; i++) for (int i = 0; i < count; i++)
{ {
final int bossId = packet.readD(); final int bossId = packet.readD();
if (DBSpawnManager.getInstance().getNpcStatusId(bossId) == DBStatusType.ALIVE) if (DBSpawnManager.getInstance().getNpcStatusId(bossId) == RaidBossStatus.ALIVE)
{ {
_bossIds.add(bossId); _bossIds.add(bossId);
} }

View File

@ -0,0 +1,27 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.enums;
/**
* @author Mobius
*/
public enum RaidBossStatus
{
ALIVE,
DEAD,
UNDEFINED
}

View File

@ -35,6 +35,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.impl.NpcData; import org.l2jmobius.gameserver.data.xml.impl.NpcData;
import org.l2jmobius.gameserver.data.xml.impl.SpawnsData; import org.l2jmobius.gameserver.data.xml.impl.SpawnsData;
import org.l2jmobius.gameserver.datatables.SpawnTable; import org.l2jmobius.gameserver.datatables.SpawnTable;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.model.Spawn; import org.l2jmobius.gameserver.model.Spawn;
import org.l2jmobius.gameserver.model.StatsSet; import org.l2jmobius.gameserver.model.StatsSet;
import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Npc;
@ -55,13 +56,6 @@ public class DBSpawnManager
protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>(); protected final Map<Integer, StatsSet> _storedInfo = new ConcurrentHashMap<>();
protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>(); protected final Map<Integer, ScheduledFuture<?>> _schedules = new ConcurrentHashMap<>();
public enum DBStatusType
{
ALIVE,
DEAD,
UNDEFINED
}
/** /**
* Instantiates a new raid npc spawn manager. * Instantiates a new raid npc spawn manager.
*/ */
@ -164,7 +158,7 @@ public class DBSpawnManager
final Npc npc = _spawns.get(npcId).doSpawn(); final Npc npc = _spawns.get(npcId).doSpawn();
if (npc != null) if (npc != null)
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
@ -194,7 +188,7 @@ public class DBSpawnManager
if (isNpcDead) if (isNpcDead)
{ {
npc.setDBStatus(DBStatusType.DEAD); npc.setDBStatus(RaidBossStatus.DEAD);
final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER); final int respawnMinDelay = (int) (npc.getSpawn().getRespawnMinDelay() * Config.RAID_MIN_RESPAWN_MULTIPLIER);
final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER); final int respawnMaxDelay = (int) (npc.getSpawn().getRespawnMaxDelay() * Config.RAID_MAX_RESPAWN_MULTIPLIER);
@ -215,7 +209,7 @@ public class DBSpawnManager
} }
else else
{ {
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
info.set("currentHP", npc.getCurrentHp()); info.set("currentHP", npc.getCurrentHp());
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
@ -255,7 +249,7 @@ public class DBSpawnManager
{ {
npc.setCurrentHp(currentHP); npc.setCurrentHp(currentHP);
npc.setCurrentMp(currentMP); npc.setCurrentMp(currentMP);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_npcs.put(npcId, npc); _npcs.put(npcId, npc);
@ -319,7 +313,7 @@ public class DBSpawnManager
{ {
throw new NullPointerException(); throw new NullPointerException();
} }
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
final StatsSet info = new StatsSet(); final StatsSet info = new StatsSet();
info.set("currentHP", npc.getMaxHp()); info.set("currentHP", npc.getMaxHp());
@ -419,7 +413,7 @@ public class DBSpawnManager
continue; continue;
} }
if (npc.getDBStatus() == DBStatusType.ALIVE) if (npc.getDBStatus() == RaidBossStatus.ALIVE)
{ {
updateStatus(npc, false); updateStatus(npc, false);
} }
@ -506,7 +500,7 @@ public class DBSpawnManager
* @param npcId the npc id * @param npcId the npc id
* @return the raid npc status id * @return the raid npc status id
*/ */
public DBStatusType getNpcStatusId(int npcId) public RaidBossStatus getNpcStatusId(int npcId)
{ {
if (_npcs.containsKey(npcId)) if (_npcs.containsKey(npcId))
{ {
@ -514,11 +508,11 @@ public class DBSpawnManager
} }
else if (_schedules.containsKey(npcId)) else if (_schedules.containsKey(npcId))
{ {
return DBStatusType.DEAD; return RaidBossStatus.DEAD;
} }
else else
{ {
return DBStatusType.UNDEFINED; return RaidBossStatus.UNDEFINED;
} }
} }
@ -543,7 +537,7 @@ public class DBSpawnManager
info.set("currentMP", npc.getCurrentMp()); info.set("currentMP", npc.getCurrentMp());
info.set("respawnTime", 0); info.set("respawnTime", 0);
npc.setDBStatus(DBStatusType.ALIVE); npc.setDBStatus(RaidBossStatus.ALIVE);
_storedInfo.put(npc.getId(), info); _storedInfo.put(npc.getId(), info);
_npcs.put(npc.getId(), npc); _npcs.put(npc.getId(), npc);

View File

@ -34,6 +34,7 @@ import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.MpRewardAffectType; import org.l2jmobius.gameserver.enums.MpRewardAffectType;
import org.l2jmobius.gameserver.enums.PrivateStoreType; import org.l2jmobius.gameserver.enums.PrivateStoreType;
import org.l2jmobius.gameserver.enums.Race; import org.l2jmobius.gameserver.enums.Race;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.enums.ShotType; import org.l2jmobius.gameserver.enums.ShotType;
import org.l2jmobius.gameserver.enums.TaxType; import org.l2jmobius.gameserver.enums.TaxType;
import org.l2jmobius.gameserver.enums.Team; import org.l2jmobius.gameserver.enums.Team;
@ -42,7 +43,6 @@ import org.l2jmobius.gameserver.handler.BypassHandler;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
import org.l2jmobius.gameserver.instancemanager.CastleManager; import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.FortManager; import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager; import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager; import org.l2jmobius.gameserver.instancemanager.ZoneManager;
@ -151,7 +151,7 @@ public class Npc extends Creature
private NpcStringId _nameString; private NpcStringId _nameString;
private StatsSet _params; private StatsSet _params;
private DBStatusType _raidStatus; private RaidBossStatus _raidStatus;
/** Contains information about local tax payments. */ /** Contains information about local tax payments. */
private TaxZone _taxZone = null; private TaxZone _taxZone = null;
@ -1863,12 +1863,12 @@ public class Npc extends Creature
broadcastPacket(new ExShowChannelingEffect(this, target, state)); broadcastPacket(new ExShowChannelingEffect(this, target, state));
} }
public void setDBStatus(DBStatusType status) public void setDBStatus(RaidBossStatus status)
{ {
_raidStatus = status; _raidStatus = status;
} }
public DBStatusType getDBStatus() public RaidBossStatus getDBStatus()
{ {
return _raidStatus; return _raidStatus;
} }

View File

@ -20,8 +20,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.l2jmobius.commons.network.PacketReader; import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.enums.RaidBossStatus;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager; import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager.DBStatusType;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager; import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket; import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
@ -41,7 +41,7 @@ public class RequestRaidBossSpawnInfo implements IClientIncomingPacket
for (int i = 0; i < count; i++) for (int i = 0; i < count; i++)
{ {
final int bossId = packet.readD(); final int bossId = packet.readD();
if (DBSpawnManager.getInstance().getNpcStatusId(bossId) == DBStatusType.ALIVE) if (DBSpawnManager.getInstance().getNpcStatusId(bossId) == RaidBossStatus.ALIVE)
{ {
_bossIds.add(bossId); _bossIds.add(bossId);
} }