Assorted code format changes.
This commit is contained in:
parent
8fcf2e964f
commit
bf7c04f166
@ -1,5 +1,5 @@
|
||||
#=======================================================#
|
||||
# Oly Settings #
|
||||
# Olympiad Settings #
|
||||
#=======================================================#
|
||||
|
||||
# Olympiad Start Time in Military hours Default 6pm (18)
|
||||
|
@ -968,11 +968,11 @@ public class Antharas extends Quest
|
||||
final int countMPHerb = Rnd.get(6, 18);
|
||||
for (int i = 0; i < countHPHerb; i++)
|
||||
{
|
||||
((MonsterInstance) npc).DropItem(killer, 8602, 1);
|
||||
((MonsterInstance) npc).dropItem(killer, 8602, 1);
|
||||
}
|
||||
for (int i = 0; i < countMPHerb; i++)
|
||||
{
|
||||
((MonsterInstance) npc).DropItem(killer, 8605, 1);
|
||||
((MonsterInstance) npc).dropItem(killer, 8605, 1);
|
||||
}
|
||||
}
|
||||
if (_monsters.contains(npc))
|
||||
|
@ -412,7 +412,7 @@ public class NewbieHelper extends Quest
|
||||
}
|
||||
else if ((ex <= 2) && (qs1.getState() == State.STARTED) && (qs2.getInt("Gemstone") == 0) && (Rnd.get(100) < 50))
|
||||
{
|
||||
((MonsterInstance) npc).DropItem(player, BLUE_GEM, 1);
|
||||
((MonsterInstance) npc).dropItem(player, BLUE_GEM, 1);
|
||||
qs1.playSound("ItemSound.quest_tutorial");
|
||||
qs1.set("step", "1");
|
||||
}
|
||||
|
@ -128,5 +128,3 @@ BrutAvgTime = 30
|
||||
#Number of second, for ban IP address, who time BrutAvgTime less specified
|
||||
#900 second = 15 minute
|
||||
BrutBanIpTime = 900
|
||||
Assert = False
|
||||
EnableAllExceptionsLog = False
|
||||
|
@ -218,7 +218,7 @@ public class CursedWeapon
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_WAS_DROPPED_IN_THE_S1_REGION);
|
||||
if (fromMonster)
|
||||
{
|
||||
_item = attackable.DropItem(player, _itemId, 1);
|
||||
_item = attackable.dropItem(player, _itemId, 1);
|
||||
_item.setDropTime(0); // Prevent item from being removed by ItemsAutoDestroy
|
||||
|
||||
// RedSky and Earthquake
|
||||
|
@ -1849,7 +1849,7 @@ public class Attackable extends NpcInstance
|
||||
}
|
||||
else if (!player.getInventory().validateCapacity(itemTemplate) || (!Config.AUTO_LOOT_BOSS && (this instanceof RaidBossInstance)) || (!Config.AUTO_LOOT_BOSS && (this instanceof GrandBossInstance)))
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1858,7 +1858,7 @@ public class Attackable extends NpcInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
DropItem(player, item); // drop the item on the ground
|
||||
dropItem(player, item); // drop the item on the ground
|
||||
}
|
||||
|
||||
// Broadcast message if RaidBoss was defeated
|
||||
@ -1888,7 +1888,7 @@ public class Attackable extends NpcInstance
|
||||
final Item itemTemplate = ItemTable.getInstance().getTemplate(item.getItemId());
|
||||
if (!player.getInventory().validateCapacity(itemTemplate))
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1897,7 +1897,7 @@ public class Attackable extends NpcInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1919,7 +1919,7 @@ public class Attackable extends NpcInstance
|
||||
final Item itemTemplate = ItemTable.getInstance().getTemplate(item.getItemId());
|
||||
if (!player.getInventory().validateCapacity(itemTemplate))
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1928,7 +1928,7 @@ public class Attackable extends NpcInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
spec = true;
|
||||
}
|
||||
@ -1963,7 +1963,7 @@ public class Attackable extends NpcInstance
|
||||
final Item itemTemplate = ItemTable.getInstance().getTemplate(item.getItemId());
|
||||
if (!player.getInventory().validateCapacity(itemTemplate))
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1972,7 +1972,7 @@ public class Attackable extends NpcInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1989,7 +1989,7 @@ public class Attackable extends NpcInstance
|
||||
final Item itemTemplate = ItemTable.getInstance().getTemplate(item.getItemId());
|
||||
if (!player.getInventory().validateCapacity(itemTemplate))
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1998,7 +1998,7 @@ public class Attackable extends NpcInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
spec = true;
|
||||
}
|
||||
@ -2027,7 +2027,7 @@ public class Attackable extends NpcInstance
|
||||
final Item itemTemplate = ItemTable.getInstance().getTemplate(item.getItemId());
|
||||
if (!player.getInventory().validateCapacity(itemTemplate))
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2036,7 +2036,7 @@ public class Attackable extends NpcInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -2053,7 +2053,7 @@ public class Attackable extends NpcInstance
|
||||
final Item itemTemplate = ItemTable.getInstance().getTemplate(item.getItemId());
|
||||
if (!player.getInventory().validateCapacity(itemTemplate))
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2062,7 +2062,7 @@ public class Attackable extends NpcInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
|
||||
mp = true;
|
||||
@ -2082,7 +2082,7 @@ public class Attackable extends NpcInstance
|
||||
final Item itemTemplate = ItemTable.getInstance().getTemplate(item.getItemId());
|
||||
if (!player.getInventory().validateCapacity(itemTemplate))
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2091,7 +2091,7 @@ public class Attackable extends NpcInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
hp = true;
|
||||
}
|
||||
@ -2107,7 +2107,7 @@ public class Attackable extends NpcInstance
|
||||
final Item itemTemplate = ItemTable.getInstance().getTemplate(item.getItemId());
|
||||
if (!player.getInventory().validateCapacity(itemTemplate))
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2116,7 +2116,7 @@ public class Attackable extends NpcInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
hp = true;
|
||||
}
|
||||
@ -2132,7 +2132,7 @@ public class Attackable extends NpcInstance
|
||||
final Item itemTemplate = ItemTable.getInstance().getTemplate(item.getItemId());
|
||||
if (!player.getInventory().validateCapacity(itemTemplate))
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2141,7 +2141,7 @@ public class Attackable extends NpcInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2158,7 +2158,7 @@ public class Attackable extends NpcInstance
|
||||
final Item itemTemplate = ItemTable.getInstance().getTemplate(item.getItemId());
|
||||
if (!player.getInventory().validateCapacity(itemTemplate))
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2167,7 +2167,7 @@ public class Attackable extends NpcInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
mp = true;
|
||||
}
|
||||
@ -2183,7 +2183,7 @@ public class Attackable extends NpcInstance
|
||||
final Item itemTemplate = ItemTable.getInstance().getTemplate(item.getItemId());
|
||||
if (!player.getInventory().validateCapacity(itemTemplate))
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2192,7 +2192,7 @@ public class Attackable extends NpcInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
mp = true;
|
||||
}
|
||||
@ -2208,7 +2208,7 @@ public class Attackable extends NpcInstance
|
||||
final Item itemTemplate = ItemTable.getInstance().getTemplate(item.getItemId());
|
||||
if (!player.getInventory().validateCapacity(itemTemplate))
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2217,7 +2217,7 @@ public class Attackable extends NpcInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2232,7 +2232,7 @@ public class Attackable extends NpcInstance
|
||||
final Item itemTemplate = ItemTable.getInstance().getTemplate(item.getItemId());
|
||||
if (!player.getInventory().validateCapacity(itemTemplate))
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2241,7 +2241,7 @@ public class Attackable extends NpcInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2295,7 +2295,7 @@ public class Attackable extends NpcInstance
|
||||
final Item itemTemplate = ItemTable.getInstance().getTemplate(item.getItemId());
|
||||
if (!player.getInventory().validateCapacity(itemTemplate))
|
||||
{
|
||||
DropItem(player, item);
|
||||
dropItem(player, item);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2304,7 +2304,7 @@ public class Attackable extends NpcInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
DropItem(player, item); // drop the item on the ground
|
||||
dropItem(player, item); // drop the item on the ground
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2316,8 +2316,14 @@ public class Attackable extends NpcInstance
|
||||
* @param item
|
||||
* @return
|
||||
*/
|
||||
public ItemInstance DropItem(PlayerInstance mainDamageDealer, RewardItem item)
|
||||
public ItemInstance dropItem(PlayerInstance mainDamageDealer, RewardItem item)
|
||||
{
|
||||
// Make sure item template exists.
|
||||
if (ItemTable.getInstance().getTemplate(item.getItemId()) == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
final int randDropLim = 70;
|
||||
ItemInstance ditem = null;
|
||||
for (int i = 0; i < item.getCount(); i++)
|
||||
@ -2349,9 +2355,9 @@ public class Attackable extends NpcInstance
|
||||
return ditem;
|
||||
}
|
||||
|
||||
public ItemInstance DropItem(PlayerInstance lastAttacker, int itemId, int itemCount)
|
||||
public ItemInstance dropItem(PlayerInstance lastAttacker, int itemId, int itemCount)
|
||||
{
|
||||
return DropItem(lastAttacker, new RewardItem(itemId, itemCount));
|
||||
return dropItem(lastAttacker, new RewardItem(itemId, itemCount));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -51,11 +51,6 @@ public class GamePacketHandler implements IPacketHandler<GameClient>, IClientFac
|
||||
}
|
||||
|
||||
final int opcode = buf.get() & 0xFF;
|
||||
int opcode2 = -1;
|
||||
if ((opcode == 0xd0) && (buf.remaining() >= 2))
|
||||
{
|
||||
opcode2 = buf.getShort() & 0xffff;
|
||||
}
|
||||
|
||||
ReceivablePacket<GameClient> msg = null;
|
||||
final ConnectionState state = client.getState();
|
||||
@ -1053,11 +1048,17 @@ public class GamePacketHandler implements IPacketHandler<GameClient>, IClientFac
|
||||
}
|
||||
case 0xd0:
|
||||
{
|
||||
if (opcode2 == -1)
|
||||
int opcode2 = -1;
|
||||
if (buf.remaining() >= 2)
|
||||
{
|
||||
LOGGER.warning("Client: " + client + " sent a 0xd0 without the second opcode.");
|
||||
opcode2 = buf.getShort() & 0xffff;
|
||||
}
|
||||
else
|
||||
{
|
||||
LOGGER.warning("Client: " + client.toString() + " sent a 0xd0 without the second opcode.");
|
||||
break;
|
||||
}
|
||||
|
||||
switch (opcode2)
|
||||
{
|
||||
case 1:
|
||||
|
@ -37,7 +37,7 @@ import org.l2jmobius.gameserver.script.ScriptEngine;
|
||||
*/
|
||||
public class FaenorEventParser extends FaenorParser
|
||||
{
|
||||
static Logger _log = Logger.getLogger(FaenorEventParser.class.getName());
|
||||
private static final Logger LOGGER = Logger.getLogger(FaenorEventParser.class.getName());
|
||||
private DateRange _eventDates = null;
|
||||
|
||||
@Override
|
||||
@ -49,13 +49,13 @@ public class FaenorEventParser extends FaenorParser
|
||||
final Date currentDate = new Date();
|
||||
if (_eventDates.getEndDate().before(currentDate))
|
||||
{
|
||||
_log.info("Event ID: (" + id + ") has passed... Ignored.");
|
||||
LOGGER.info("Event ID: (" + id + ") has passed... Ignored.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (_eventDates.getStartDate().after(currentDate))
|
||||
{
|
||||
_log.info("Event ID: (" + id + ") is not active yet... Ignored.");
|
||||
LOGGER.info("Event ID: (" + id + ") is not active yet... Ignored.");
|
||||
ThreadPool.schedule(() -> parseEventDropAndMessage(eventNode), _eventDates.getStartDate().getTime() - currentDate.getTime());
|
||||
return;
|
||||
}
|
||||
@ -91,7 +91,7 @@ public class FaenorEventParser extends FaenorParser
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, "Error in event parser: " + e.getMessage());
|
||||
LOGGER.log(Level.WARNING, "Error in event parser: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@ -117,7 +117,7 @@ public class FaenorEventParser extends FaenorParser
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, "ERROR(parseEventDrop):" + e.getMessage());
|
||||
LOGGER.log(Level.WARNING, "ERROR(parseEventDrop):" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@ import org.l2jmobius.gameserver.script.EventDroplist;
|
||||
*/
|
||||
public class FaenorInterface implements EngineInterface
|
||||
{
|
||||
protected static final Logger _log = Logger.getLogger(FaenorInterface.class.getName());
|
||||
protected static final Logger LOGGER = Logger.getLogger(FaenorInterface.class.getName());
|
||||
|
||||
public static FaenorInterface getInstance()
|
||||
{
|
||||
|
@ -31,7 +31,7 @@ import org.l2jmobius.gameserver.script.ScriptEngine;
|
||||
*/
|
||||
public class FaenorQuestParser extends FaenorParser
|
||||
{
|
||||
protected static final Logger _log = Logger.getLogger(FaenorQuestParser.class.getName());
|
||||
protected static final Logger LOGGER = Logger.getLogger(FaenorQuestParser.class.getName());
|
||||
|
||||
@Override
|
||||
public void parseScript(Node questNode, ScriptContext context)
|
||||
|
@ -39,7 +39,7 @@ import org.l2jmobius.gameserver.script.ScriptEngine;
|
||||
*/
|
||||
public class FaenorScriptEngine extends ScriptEngine
|
||||
{
|
||||
private static final Logger _log = Logger.getLogger(FaenorScriptEngine.class.getName());
|
||||
private static final Logger LOGGER = Logger.getLogger(FaenorScriptEngine.class.getName());
|
||||
public static final String PACKAGE_DIRECTORY = "data/faenor/";
|
||||
|
||||
protected FaenorScriptEngine()
|
||||
@ -56,7 +56,7 @@ public class FaenorScriptEngine extends ScriptEngine
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
_log.log(Level.WARNING, e.getMessage(), e);
|
||||
LOGGER.log(Level.WARNING, e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -73,23 +73,23 @@ public class FaenorScriptEngine extends ScriptEngine
|
||||
}
|
||||
catch (ParserNotCreatedException e)
|
||||
{
|
||||
_log.log(Level.WARNING, "ERROR: No parser registered for Script: " + parserClass + ": " + e.getMessage());
|
||||
LOGGER.log(Level.WARNING, "ERROR: No parser registered for Script: " + parserClass + ": " + e.getMessage());
|
||||
}
|
||||
|
||||
if (parser == null)
|
||||
{
|
||||
_log.warning("Unknown Script Type: " + script.getName());
|
||||
LOGGER.warning("Unknown Script Type: " + script.getName());
|
||||
return;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
parser.parseScript(node, context);
|
||||
_log.info(getClass().getSimpleName() + ": Loaded " + script.getName() + " successfully.");
|
||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + script.getName() + " successfully.");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, "Script Parsing Failed: " + e.getMessage());
|
||||
LOGGER.log(Level.WARNING, "Script Parsing Failed: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,7 @@ import org.l2jmobius.Config;
|
||||
*/
|
||||
public class GMAudit
|
||||
{
|
||||
private static final Logger _log = Logger.getLogger(GMAudit.class.getName());
|
||||
private static final Logger LOGGER = Logger.getLogger(GMAudit.class.getName());
|
||||
static
|
||||
{
|
||||
new File("log/GMAudit").mkdirs();
|
||||
@ -61,7 +61,7 @@ public class GMAudit
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
_log.log(Level.SEVERE, "GMAudit for GM " + gmName + " could not be saved: ", e);
|
||||
LOGGER.log(Level.SEVERE, "GMAudit for GM " + gmName + " could not be saved: ", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -66,9 +66,9 @@ public class GameServerTable
|
||||
public GameServerTable()
|
||||
{
|
||||
loadServerNames();
|
||||
LOGGER.info("Loaded " + _serverNames.size() + " server names");
|
||||
LOGGER.info("Loaded " + _serverNames.size() + " server names.");
|
||||
loadRegisteredGameServers();
|
||||
LOGGER.info("Loaded " + _gameServerTable.size() + " registered Game Servers");
|
||||
LOGGER.info("Loaded " + _gameServerTable.size() + " registered Game Servers.");
|
||||
loadRSAKeys();
|
||||
LOGGER.info("Cached " + _keyPairs.length + " RSA keys for Game Server communication.");
|
||||
}
|
||||
|
@ -143,7 +143,7 @@ public class LoginController
|
||||
_keyPairs[i] = new ScrambledKeyPair(keygen.generateKeyPair());
|
||||
}
|
||||
|
||||
LOGGER.info("Cached 10 KeyPairs for RSA communication");
|
||||
LOGGER.info("Cached 10 KeyPairs for RSA communication.");
|
||||
testCipher((RSAPrivateKey) _keyPairs[0]._pair.getPrivate());
|
||||
|
||||
// Store keys for blowfish communication
|
||||
@ -182,7 +182,7 @@ public class LoginController
|
||||
_blowfishKeys[i][j] = (byte) (Rnd.get(255) + 1);
|
||||
}
|
||||
}
|
||||
LOGGER.info("Stored " + _blowfishKeys.length + " keys for Blowfish communication");
|
||||
LOGGER.info("Stored " + _blowfishKeys.length + " keys for Blowfish communication.");
|
||||
}
|
||||
|
||||
/**
|
||||
@ -737,8 +737,7 @@ public class LoginController
|
||||
_lastPassword = password;
|
||||
_lastAttempTime = System.currentTimeMillis();
|
||||
}
|
||||
else
|
||||
// trying the same password is not brute force
|
||||
else // trying the same password is not brute force
|
||||
{
|
||||
_lastAttempTime = System.currentTimeMillis();
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ Clan / Alliance system.
|
||||
Player item stores.
|
||||
|
||||
Chronicle 1: http://legacy.lineage2.com/news/chronicle1_01.html
|
||||
Territories: Aden Castle & Town, Cave of Giants, Angel Waterfall, Forest of Mirrors, Cemetery of Kings, Sealing of Shilen, Blazing Swamp, Tower of Insolence, Lair of Antharas, Hardin’s Academy, Giran Harbor, Bandit Stronghold.
|
||||
Territories: Aden Castle & Town, Cave of Giants, Angel Waterfall, Forest of Mirrors, Cemetery of Kings, Sealing of Shilen, Blazing Swamp, Tower of Insolence, Lair of Antharas, Hardin's Academy, Giran Harbor, Bandit Stronghold.
|
||||
Castle Siege system.
|
||||
Weight System.
|
||||
Antharas raid.
|
||||
@ -53,7 +53,7 @@ New Player Bonuses.
|
||||
Equipment Exchange.
|
||||
|
||||
Chronicle 4: http://legacy.lineage2.com/news/chronicle4_01.html
|
||||
Territories: Varka Silenos Outpost, Ketra Orc Outpost, Wall of Argos, Imperial Tomb, Hot Springs, Forge of the Gods, Garden of Beasts, Devil’s Pass, Valley of the Saints, Beast Farm, Forest of the Dead, Swamp of Screams.
|
||||
Territories: Varka Silenos Outpost, Ketra Orc Outpost, Wall of Argos, Imperial Tomb, Hot Springs, Forge of the Gods, Garden of Beasts, Devil's Pass, Valley of the Saints, Beast Farm, Forest of the Dead, Swamp of Screams.
|
||||
Noblesse.
|
||||
Heroes and Olympiad.
|
||||
Skill Enchanting.
|
||||
@ -66,8 +66,8 @@ Recording Gameplay.
|
||||
Community Clan search.
|
||||
|
||||
Chronicle 5: http://legacy.lineage2.com/news/chronicle5_01.html
|
||||
Territories: The Pagan Temple, The Stakato Nest, The Monastery of Silence, The Frozen Labyrinth, The Den of Evil, The Plunderous Plains, The Ice Queen’s Castle, The Crypts of Disgrace, The Pavel Ruins
|
||||
Rune Castle’s Benom.
|
||||
Territories: The Pagan Temple, The Stakato Nest, The Monastery of Silence, The Frozen Labyrinth, The Den of Evil, The Plunderous Plains, The Ice Queen's Castle, The Crypts of Disgrace, The Pavel Ruins
|
||||
Rune Castle's Benom.
|
||||
Gatekeeper Ordinary, Noblesse, Clan Hall and Seven Signs Priest teleports.
|
||||
Frintezza raid.
|
||||
The Demonic Sword Zariche.
|
||||
@ -79,11 +79,12 @@ Rainbow Springs Chateau.
|
||||
Interlude: http://legacy.lineage2.com/news/interlude_01.html
|
||||
Weapon Augmentation system.
|
||||
Primeval Isle.
|
||||
Primeval Isle’s Tyrannosaurus Trapping System.
|
||||
Primeval Isle's Tyrannosaurus Trapping System.
|
||||
Shadow Weapons.
|
||||
Blood Sword Akamanah.
|
||||
Command Channel system.
|
||||
Dueling system.
|
||||
Herb item drops. https://lineage.pmfun.com/list/c5c6
|
||||
|
||||
|
||||
TODO:
|
||||
|
Loading…
Reference in New Issue
Block a user