maybe i must change something in hellboundmanager.java?
package com.l2dc.gameserver.instancemanager;
import java.util.logging.Logger;
import com.l2dc.Config;
import com.l2dc.database.MiscDbTask;
import com.l2dc.gameserver.datatables.NpcTable;
import com.l2dc.gameserver.datatables.SpawnTable;
import com.l2dc.gameserver.model.L2Spawn;
import com.l2dc.gameserver.templates.chars.L2NpcTemplate;
// author: TheOne
public class HellboundManager
{
private boolean _isOpen = false;
private boolean _megalithsCompleted = false;
private int _level = 0;
private int _currentTrust = 0;
private int _tempTrust = 0;
private int tempLevel = 0;
private static final Logger _log = Logger.getLogger(HellboundManager.class.getName());
// =========================================================
// Constructor
private HellboundManager()
{
_log.info("Initializing HellboundManager");
init();
}
private void init()
{
checkHellboundLevel();
_log.info("HellboundManager: Loaded ");
}
public static final HellboundManager getInstance()
{
return SingletonHolder.INSTANCE;
}
public boolean checkMegalithsCompleted()
{
return _megalithsCompleted;
}
public void setMegalithsCompleted(boolean value)
{
_megalithsCompleted = value;
}
public boolean checkIsOpen()
{
return _isOpen;
}
public int getLevel()
{
return _level;
}
public int getTrust()
{
return _currentTrust;
}
public L2Spawn addSpawn(int mobId, int xx, int yy, int zz, int headg, int respTime)
{
L2NpcTemplate template1;
template1 = NpcTable.getInstance().getTemplate(mobId);
L2Spawn spawn = null;
try
{
spawn = new L2Spawn(template1);
}
catch (SecurityException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (ClassNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (NoSuchMethodException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
spawn.setLocx(xx);
spawn.setLocy(yy);
spawn.setLocz(zz);
spawn.setAmount(1);
spawn.setHeading(headg);
spawn.setRespawnDelay(respTime);
spawn.setInstanceId(0);
spawn.setOnKillDelay(0);
SpawnTable.getInstance().addNewSpawn(spawn, false);
spawn.init();
spawn.startRespawn();
if (respTime == 0)
{
spawn.stopRespawn();
}
return spawn;
}
public void unlockHellbound()
{
MiscDbTask.getInstance().unlockHellbound();
_isOpen = true;
}
public void increaseTrust(int points)
{
_currentTrust += (points * Config.RATE_HELLBOUND_POINTS);
updateTrust(_currentTrust);
}
public void updateTrust(int newTrust)
{
_currentTrust = newTrust;
MiscDbTask.getInstance().updateHellboundTrust(newTrust);
}
public void changeLevel(int newLevel)
{
_level = newLevel;
MiscDbTask.getInstance().changeHellboundLevel(newLevel);
}
public void checkHellboundLevel()
{
Object[] obj = MiscDbTask.getInstance().checkHellboundLevel();
_tempTrust = (Integer)obj[0];
tempLevel = (Integer)obj[1];
_isOpen = (Boolean)obj[2];
if (_tempTrust > 0 && _tempTrust < 300000)
_level = 1;
if (_tempTrust >= 300000 && _tempTrust < 600000)
_level = 2;
if (_tempTrust >= 600000 && _tempTrust < 1000000)
_level = 3;
if (_tempTrust >= 1000000 && _currentTrust < 1030000)
_level = 4;
if (tempLevel == 5)
_level = 5;
if (tempLevel == 6)
_level = 6;
if (tempLevel == 7)
_level = 7;
if (tempLevel == 8)
_level = 8;
if (tempLevel == 9)
_level = 9;
if (tempLevel == 10)
_level = 10;
if (_level >= 10 && _tempTrust >= 2000000)
_level = 11;
_currentTrust = _tempTrust;
if (tempLevel != _level && tempLevel != 5)
{
changeLevel(_level);
}
}
@SuppressWarnings("synthetic-access")
private static class SingletonHolder
{
protected static final HellboundManager INSTANCE = new HellboundManager();
}
}