Several braces code format.

This commit is contained in:
MobiusDev
2017-09-08 17:33:31 +00:00
parent f0043b3271
commit edb23d3285
618 changed files with 10828 additions and 121 deletions

View File

@@ -58,6 +58,7 @@ public class FortUpdater implements Runnable
switch (_updaterType)
{
case PERIODIC_UPDATE:
{
_runCount++;
if ((_fort.getOwnerClan() == null) || (_fort.getOwnerClan() != _clan))
{
@@ -81,7 +82,9 @@ public class FortUpdater implements Runnable
}
_fort.saveFortVariables();
break;
}
case MAX_OWN_TIME:
{
if ((_fort.getOwnerClan() == null) || (_fort.getOwnerClan() != _clan))
{
return;
@@ -92,6 +95,7 @@ public class FortUpdater implements Runnable
_fort.setFortState(0, 0);
}
break;
}
}
}
catch (Exception e)

View File

@@ -208,6 +208,7 @@ public class LoginServerThread extends Thread
switch (packetType)
{
case 0x00:
{
final InitLS init = new InitLS(incoming);
if (init.getRevision() != REVISION)
{
@@ -236,12 +237,16 @@ public class LoginServerThread extends Thread
_blowfish = new NewCrypt(blowfishKey);
sendPacket(new AuthRequest(_requestID, _acceptAlternate, _hexID, _gamePort, _reserveHost, _maxPlayer, _subnets, _hosts));
break;
}
case 0x01:
{
final LoginServerFail lsf = new LoginServerFail(incoming);
LOGGER.info(getClass().getSimpleName() + ": Damn! Registeration Failed: " + lsf.getReasonString());
// login will close the connection here
break;
}
case 0x02:
{
final AuthResponse aresp = new AuthResponse(incoming);
final int serverID = aresp.getServerId();
_serverName = aresp.getServerName();
@@ -288,7 +293,9 @@ public class LoginServerThread extends Thread
sendPacket(new PlayerInGame(playerList));
}
break;
}
case 0x03:
{
final PlayerAuthResponse par = new PlayerAuthResponse(incoming);
final String account = par.getAccount();
WaitingClient wcToRemove = null;
@@ -324,17 +331,24 @@ public class LoginServerThread extends Thread
_waitingClients.remove(wcToRemove);
}
break;
}
case 0x04:
{
final KickPlayer kp = new KickPlayer(incoming);
doKickPlayer(kp.getAccount());
break;
}
case 0x05:
{
final RequestCharacters rc = new RequestCharacters(incoming);
getCharsOnServer(rc.getAccount());
break;
}
case 0x06:
{
new ChangePasswordResponse(incoming);
break;
}
}
}
}
@@ -721,31 +735,45 @@ public class LoginServerThread extends Thread
switch (status)
{
case ServerStatus.STATUS_AUTO:
{
sendServerStatus(ServerStatus.SERVER_LIST_STATUS, ServerStatus.STATUS_AUTO);
_status = status;
break;
}
case ServerStatus.STATUS_DOWN:
{
sendServerStatus(ServerStatus.SERVER_LIST_STATUS, ServerStatus.STATUS_DOWN);
_status = status;
break;
}
case ServerStatus.STATUS_FULL:
{
sendServerStatus(ServerStatus.SERVER_LIST_STATUS, ServerStatus.STATUS_FULL);
_status = status;
break;
}
case ServerStatus.STATUS_GM_ONLY:
{
sendServerStatus(ServerStatus.SERVER_LIST_STATUS, ServerStatus.STATUS_GM_ONLY);
_status = status;
break;
}
case ServerStatus.STATUS_GOOD:
{
sendServerStatus(ServerStatus.SERVER_LIST_STATUS, ServerStatus.STATUS_GOOD);
_status = status;
break;
}
case ServerStatus.STATUS_NORMAL:
{
sendServerStatus(ServerStatus.SERVER_LIST_STATUS, ServerStatus.STATUS_NORMAL);
_status = status;
break;
}
default:
{
throw new IllegalArgumentException("Status does not exists:" + status);
}
}
}

View File

@@ -133,14 +133,20 @@ public class DoppelgangerAI extends L2CharacterAI
switch (getIntention())
{
case AI_INTENTION_ATTACK:
{
thinkAttack();
break;
}
case AI_INTENTION_CAST:
{
thinkCast();
break;
}
case AI_INTENTION_INTERACT:
{
thinkInteract();
break;
}
}
}
finally
@@ -173,7 +179,9 @@ public class DoppelgangerAI extends L2CharacterAI
case AI_INTENTION_IDLE:
case AI_INTENTION_MOVE_TO:
case AI_INTENTION_PICK_UP:
{
getActor().followSummoner(_startFollow);
}
}
}

View File

@@ -1094,14 +1094,20 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
switch (getIntention())
{
case AI_INTENTION_ACTIVE:
{
thinkActive();
break;
}
case AI_INTENTION_ATTACK:
{
thinkAttack();
break;
}
case AI_INTENTION_CAST:
{
thinkCast();
break;
}
}
}
catch (Exception e)

View File

@@ -129,8 +129,10 @@ public class NpcData implements IGameXmlReader
}
case "race":
case "sex":
{
set.set(npc_node.getNodeName(), npc_node.getTextContent().toUpperCase());
break;
}
case "equipment":
{
set.set("chestId", parseInteger(attrs, "chest"));
@@ -218,23 +220,35 @@ public class NpcData implements IGameXmlReader
switch (attackAttributeType.toUpperCase())
{
case "FIRE":
{
set.set("baseFire", parseInteger(attrs, "value"));
break;
}
case "WATER":
{
set.set("baseWater", parseInteger(attrs, "value"));
break;
}
case "WIND":
{
set.set("baseWind", parseInteger(attrs, "value"));
break;
}
case "EARTH":
{
set.set("baseEarth", parseInteger(attrs, "value"));
break;
}
case "DARK":
{
set.set("baseDark", parseInteger(attrs, "value"));
break;
}
case "HOLY":
{
set.set("baseHoly", parseInteger(attrs, "value"));
break;
}
}
break;
}
@@ -279,8 +293,10 @@ public class NpcData implements IGameXmlReader
break;
}
case "hit_time":
{
set.set("hit_time", npc_node.getTextContent()); // TODO: Implement me default 600 (value in ms)
break;
}
}
}
break;

View File

@@ -1175,41 +1175,65 @@ public final class SkillTreesData implements IGameXmlReader
switch (skillType)
{
case CLASS:
{
sl = getClassSkill(id, lvl, player.getClassId());
break;
}
case TRANSFORM:
{
sl = getTransformSkill(id, lvl);
break;
}
case FISHING:
{
sl = getFishingSkill(id, lvl);
break;
}
case PLEDGE:
{
sl = getPledgeSkill(id, lvl);
break;
}
case SUBPLEDGE:
{
sl = getSubPledgeSkill(id, lvl);
break;
}
case TRANSFER:
{
sl = getTransferSkill(id, lvl, player.getClassId());
break;
}
case SUBCLASS:
{
sl = getSubClassSkill(id, lvl);
break;
}
case COLLECT:
{
sl = getCollectSkill(id, lvl);
break;
}
case REVELATION:
{
sl = getRevelationSkill(SubclassType.BASECLASS, id, lvl);
break;
}
case REVELATION_DUALCLASS:
{
sl = getRevelationSkill(SubclassType.DUALCLASS, id, lvl);
break;
}
case ALCHEMY:
{
sl = getAlchemySkill(id, lvl);
break;
}
case DUALCLASS:
{
sl = getDualClassSkill(id, lvl);
break;
}
}
return sl;
}

View File

@@ -575,19 +575,29 @@ public class AugmentationData
switch (lifeStoneGrade)
{
case AbstractRefinePacket.GRADE_NONE:
{
gradeChance = Config.RETAIL_LIKE_AUGMENTATION_NG_CHANCE;
break;
}
case AbstractRefinePacket.GRADE_MID:
{
gradeChance = Config.RETAIL_LIKE_AUGMENTATION_MID_CHANCE;
break;
}
case AbstractRefinePacket.GRADE_HIGH:
{
gradeChance = Config.RETAIL_LIKE_AUGMENTATION_HIGH_CHANCE;
break;
}
case AbstractRefinePacket.GRADE_TOP:
{
gradeChance = Config.RETAIL_LIKE_AUGMENTATION_TOP_CHANCE;
break;
}
default:
{
gradeChance = Config.RETAIL_LIKE_AUGMENTATION_NG_CHANCE;
}
}
int c = Rnd.get(100);

View File

@@ -260,6 +260,7 @@ public final class CastleManorManager implements IGameXmlReader, IStorable
switch (_mode)
{
case MODIFIABLE:
{
_nextModeChange.set(Calendar.HOUR_OF_DAY, Config.ALT_MANOR_APPROVE_TIME);
_nextModeChange.set(Calendar.MINUTE, Config.ALT_MANOR_APPROVE_MIN);
if (_nextModeChange.before(Calendar.getInstance()))
@@ -267,14 +268,19 @@ public final class CastleManorManager implements IGameXmlReader, IStorable
_nextModeChange.add(Calendar.DATE, 1);
}
break;
}
case MAINTENANCE:
{
_nextModeChange.set(Calendar.HOUR_OF_DAY, Config.ALT_MANOR_REFRESH_TIME);
_nextModeChange.set(Calendar.MINUTE, Config.ALT_MANOR_REFRESH_MIN + Config.ALT_MANOR_MAINTENANCE_MIN);
break;
}
case APPROVED:
{
_nextModeChange.set(Calendar.HOUR_OF_DAY, Config.ALT_MANOR_REFRESH_TIME);
_nextModeChange.set(Calendar.MINUTE, Config.ALT_MANOR_REFRESH_MIN);
break;
}
}
// Schedule mode change
ThreadPoolManager.schedule(this::changeMode, (_nextModeChange.getTimeInMillis() - System.currentTimeMillis()));

View File

@@ -51,20 +51,28 @@ public final class GraciaSeedsManager
switch (seedType)
{
case SODTYPE:
{
// Seed of Destruction
GlobalVariablesManager.getInstance().set("SoDState", _SoDState);
GlobalVariablesManager.getInstance().set("SoDTiatKilled", _SoDTiatKilled);
GlobalVariablesManager.getInstance().set("SoDLSCDate", _SoDLastStateChangeDate.getTimeInMillis());
break;
}
case SOITYPE:
{
// Seed of Infinity
break;
}
case SOATYPE:
{
// Seed of Annihilation
break;
}
default:
{
_log.warning(getClass().getSimpleName() + ": Unknown SeedType in SaveData: " + seedType);
break;
}
}
}
@@ -89,9 +97,12 @@ public final class GraciaSeedsManager
switch (_SoDState)
{
case 1:
{
// do nothing, players should kill Tiat a few times
break;
}
case 2:
{
// Conquest Complete state, if too much time is passed than change to defense state
final long timePast = System.currentTimeMillis() - _SoDLastStateChangeDate.getTimeInMillis();
if (timePast >= Config.SOD_STAGE_2_LENGTH)
@@ -104,12 +115,17 @@ public final class GraciaSeedsManager
ThreadPoolManager.schedule(new UpdateSoDStateTask(), Config.SOD_STAGE_2_LENGTH - timePast);
}
break;
}
case 3:
{
// not implemented
setSoDState(1, true);
break;
}
default:
{
_log.warning(getClass().getSimpleName() + ": Unknown Seed of Destruction state(" + _SoDState + ")! ");
}
}
}
@@ -177,15 +193,23 @@ public final class GraciaSeedsManager
switch (_SoDState)
{
case 1:
{
return -1;
}
case 2:
{
return ((_SoDLastStateChangeDate.getTimeInMillis() + Config.SOD_STAGE_2_LENGTH) - System.currentTimeMillis());
}
case 3:
{
// not implemented yet
return -1;
}
default:
{
// this should not happen!
return -1;
}
}
}

View File

@@ -27,25 +27,45 @@ public final class TownManager
switch (townId)
{
case 912:
{
return 1;
}
case 916:
{
return 2;
}
case 918:
{
return 3;
}
case 922:
{
return 4;
}
case 924:
{
return 5;
}
case 926:
{
return 6;
}
case 1538:
{
return 7;
}
case 1537:
{
return 8;
}
case 1714:
{
return 9;
}
default:
{
return 0;
}
}
}

View File

@@ -567,58 +567,86 @@ public class L2Clan implements IIdentifiable, INamable
switch (pledgeType)
{
case 0:
{
switch (getLevel())
{
case 3:
{
limit = 30;
break;
}
case 2:
{
limit = 20;
break;
}
case 1:
{
limit = 15;
break;
}
case 0:
{
limit = 10;
break;
}
default:
{
limit = 40;
break;
}
}
break;
}
case -1:
{
limit = 20;
break;
}
case 100:
case 200:
{
switch (getLevel())
{
case 11:
{
limit = 30;
break;
}
default:
{
limit = 20;
break;
}
}
break;
}
case 1001:
case 1002:
case 2001:
case 2002:
{
switch (getLevel())
{
case 9:
case 10:
case 11:
{
limit = 25;
break;
}
default:
{
limit = 10;
break;
}
}
break;
}
default:
{
break;
}
}
return limit;
@@ -1903,23 +1931,37 @@ public class L2Clan implements IIdentifiable, INamable
switch (pledgeType)
{
case SUBUNIT_ACADEMY:
{
return 0;
}
case SUBUNIT_ROYAL1:
{
pledgeType = getAvailablePledgeTypes(SUBUNIT_ROYAL2);
break;
}
case SUBUNIT_ROYAL2:
{
return 0;
}
case SUBUNIT_KNIGHT1:
{
pledgeType = getAvailablePledgeTypes(SUBUNIT_KNIGHT2);
break;
}
case SUBUNIT_KNIGHT2:
{
pledgeType = getAvailablePledgeTypes(SUBUNIT_KNIGHT3);
break;
}
case SUBUNIT_KNIGHT3:
{
pledgeType = getAvailablePledgeTypes(SUBUNIT_KNIGHT4);
break;
}
case SUBUNIT_KNIGHT4:
{
return 0;
}
}
}
return pledgeType;
@@ -2593,6 +2635,7 @@ public class L2Clan implements IIdentifiable, INamable
break;
}
case 5:
{
// Upgrade to 6
if ((getReputationScore() >= Config.CLAN_LEVEL_6_COST) && (getMembersCount() >= Config.CLAN_LEVEL_6_REQUIREMENT))
{
@@ -2603,8 +2646,9 @@ public class L2Clan implements IIdentifiable, INamable
increaseClanLevel = true;
}
break;
}
case 6:
{
// Upgrade to 7
if ((getReputationScore() >= Config.CLAN_LEVEL_7_COST) && (getMembersCount() >= Config.CLAN_LEVEL_7_REQUIREMENT))
{
@@ -2615,7 +2659,9 @@ public class L2Clan implements IIdentifiable, INamable
increaseClanLevel = true;
}
break;
}
case 7:
{
// Upgrade to 8
if ((getReputationScore() >= Config.CLAN_LEVEL_8_COST) && (getMembersCount() >= Config.CLAN_LEVEL_8_REQUIREMENT))
{
@@ -2626,7 +2672,9 @@ public class L2Clan implements IIdentifiable, INamable
increaseClanLevel = true;
}
break;
}
case 8:
{
// Upgrade to 9
if ((getReputationScore() >= Config.CLAN_LEVEL_9_COST) && (player.getInventory().getItemByItemId(9910) != null) && (getMembersCount() >= Config.CLAN_LEVEL_9_REQUIREMENT))
{
@@ -2645,7 +2693,9 @@ public class L2Clan implements IIdentifiable, INamable
}
}
break;
}
case 9:
{
// Upgrade to 10
if ((getReputationScore() >= Config.CLAN_LEVEL_10_COST) && (player.getInventory().getItemByItemId(9911) != null) && (getMembersCount() >= Config.CLAN_LEVEL_10_REQUIREMENT))
{
@@ -2664,7 +2714,9 @@ public class L2Clan implements IIdentifiable, INamable
}
}
break;
}
case 10:
{
// Upgrade to 11
if ((getReputationScore() >= Config.CLAN_LEVEL_11_COST) && (getMembersCount() >= Config.CLAN_LEVEL_11_REQUIREMENT))
{
@@ -2675,8 +2727,11 @@ public class L2Clan implements IIdentifiable, INamable
increaseClanLevel = true;
}
break;
}
default:
{
return false;
}
}
if (!increaseClanLevel)

View File

@@ -430,12 +430,15 @@ public class L2ClanMember
switch (clan.getLevel())
{
case 4:
{
if (player.isClanLeader())
{
pledgeClass = 3;
}
break;
}
case 5:
{
if (player.isClanLeader())
{
pledgeClass = 4;
@@ -445,17 +448,24 @@ public class L2ClanMember
pledgeClass = 2;
}
break;
}
case 6:
{
switch (player.getPledgeType())
{
case -1:
{
pledgeClass = 1;
break;
}
case 100:
case 200:
{
pledgeClass = 2;
break;
}
case 0:
{
if (player.isClanLeader())
{
pledgeClass = 5;
@@ -466,34 +476,48 @@ public class L2ClanMember
{
case 100:
case 200:
{
pledgeClass = 4;
break;
}
case -1:
default:
{
pledgeClass = 3;
break;
}
}
}
break;
}
}
break;
}
case 7:
{
switch (player.getPledgeType())
{
case -1:
{
pledgeClass = 1;
break;
}
case 100:
case 200:
{
pledgeClass = 3;
break;
}
case 1001:
case 1002:
case 2001:
case 2002:
{
pledgeClass = 2;
break;
}
case 0:
{
if (player.isClanLeader())
{
pledgeClass = 7;
@@ -504,40 +528,56 @@ public class L2ClanMember
{
case 100:
case 200:
{
pledgeClass = 6;
break;
}
case 1001:
case 1002:
case 2001:
case 2002:
{
pledgeClass = 5;
break;
}
case -1:
default:
{
pledgeClass = 4;
break;
}
}
}
break;
}
}
break;
}
case 8:
{
switch (player.getPledgeType())
{
case -1:
{
pledgeClass = 1;
break;
}
case 100:
case 200:
{
pledgeClass = 4;
break;
}
case 1001:
case 1002:
case 2001:
case 2002:
{
pledgeClass = 3;
break;
}
case 0:
{
if (player.isClanLeader())
{
pledgeClass = 8;
@@ -548,40 +588,56 @@ public class L2ClanMember
{
case 100:
case 200:
{
pledgeClass = 7;
break;
}
case 1001:
case 1002:
case 2001:
case 2002:
{
pledgeClass = 6;
break;
}
case -1:
default:
{
pledgeClass = 5;
break;
}
}
}
break;
}
}
break;
}
case 9:
{
switch (player.getPledgeType())
{
case -1:
{
pledgeClass = 1;
break;
}
case 100:
case 200:
{
pledgeClass = 5;
break;
}
case 1001:
case 1002:
case 2001:
case 2002:
{
pledgeClass = 4;
break;
}
case 0:
{
if (player.isClanLeader())
{
pledgeClass = 9;
@@ -592,40 +648,56 @@ public class L2ClanMember
{
case 100:
case 200:
{
pledgeClass = 8;
break;
}
case 1001:
case 1002:
case 2001:
case 2002:
{
pledgeClass = 7;
break;
}
case -1:
default:
{
pledgeClass = 6;
break;
}
}
}
break;
}
}
break;
}
case 10:
{
switch (player.getPledgeType())
{
case -1:
{
pledgeClass = 1;
break;
}
case 100:
case 200:
{
pledgeClass = 6;
break;
}
case 1001:
case 1002:
case 2001:
case 2002:
{
pledgeClass = 5;
break;
}
case 0:
{
if (player.isClanLeader())
{
pledgeClass = 10;
@@ -636,40 +708,56 @@ public class L2ClanMember
{
case 100:
case 200:
{
pledgeClass = 9;
break;
}
case 1001:
case 1002:
case 2001:
case 2002:
{
pledgeClass = 8;
break;
}
case -1:
default:
{
pledgeClass = 7;
break;
}
}
}
break;
}
}
break;
}
case 11:
{
switch (player.getPledgeType())
{
case -1:
{
pledgeClass = 1;
break;
}
case 100:
case 200:
{
pledgeClass = 7;
break;
}
case 1001:
case 1002:
case 2001:
case 2002:
{
pledgeClass = 6;
break;
}
case 0:
{
if (player.isClanLeader())
{
pledgeClass = 11;
@@ -680,26 +768,36 @@ public class L2ClanMember
{
case 100:
case 200:
{
pledgeClass = 10;
break;
}
case 1001:
case 1002:
case 2001:
case 2002:
{
pledgeClass = 9;
break;
}
case -1:
default:
{
pledgeClass = 8;
break;
}
}
}
break;
}
}
break;
}
default:
{
pledgeClass = 1;
break;
}
}
}

View File

@@ -200,17 +200,29 @@ public class L2PetLevelData
switch (stat)
{
case WALK_SPEED:
{
return _walkSpeedOnRide;
}
case RUN_SPEED:
{
return _runSpeedOnRide;
}
case SWIM_WALK_SPEED:
{
return _slowSwimSpeedOnRide;
}
case SWIM_RUN_SPEED:
{
return _fastSwimSpeedOnRide;
}
case FLY_RUN_SPEED:
{
return _slowFlySpeedOnRide;
}
case FLY_WALK_SPEED:
{
return _fastFlySpeedOnRide;
}
}
return 0;

View File

@@ -80,17 +80,29 @@ public final class MobGroup
switch (mobGroupAI.getAlternateAI())
{
case L2ControllableMobAI.AI_NORMAL:
{
return "Idle";
}
case L2ControllableMobAI.AI_FORCEATTACK:
{
return "Force Attacking";
}
case L2ControllableMobAI.AI_FOLLOW:
{
return "Following";
}
case L2ControllableMobAI.AI_CAST:
{
return "Casting";
}
case L2ControllableMobAI.AI_ATTACK_GROUP:
{
return "Attacking Group";
}
default:
{
return "Idle";
}
}
}
catch (Exception e)

View File

@@ -1518,29 +1518,45 @@ public class L2Attackable extends L2Npc
switch (skillId)
{
case 4303: // Strong type x2
{
count *= 2;
break;
}
case 4304: // Strong type x3
{
count *= 3;
break;
}
case 4305: // Strong type x4
{
count *= 4;
break;
}
case 4306: // Strong type x5
{
count *= 5;
break;
}
case 4307: // Strong type x6
{
count *= 6;
break;
}
case 4308: // Strong type x7
{
count *= 7;
break;
}
case 4309: // Strong type x8
{
count *= 8;
break;
}
case 4310: // Strong type x9
{
count *= 9;
break;
}
}
}

View File

@@ -423,16 +423,20 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
switch (zone)
{
case PVP:
{
if ((instance != null) && instance.isPvP())
{
return true;
}
return (_zones[ZoneId.PVP.ordinal()] > 0) && (_zones[ZoneId.PEACE.ordinal()] == 0);
}
case PEACE:
{
if ((instance != null) && instance.isPvP())
{
return false;
}
}
}
return _zones[zone.ordinal()] > 0;
}

View File

@@ -750,6 +750,7 @@ public class L2Npc extends L2Character
switch (npcId)
{
case 31688:
{
if (player.isNoble())
{
filename = Olympiad.OLYMPIAD_HTML_PATH + "noble_main.htm";
@@ -759,11 +760,13 @@ public class L2Npc extends L2Character
filename = (getHtmlPath(npcId, val));
}
break;
}
case 31690:
case 31769:
case 31770:
case 31771:
case 31772:
{
if (player.isHero() || player.isNoble())
{
filename = Olympiad.OLYMPIAD_HTML_PATH + "hero_main.htm";
@@ -773,7 +776,9 @@ public class L2Npc extends L2Character
filename = (getHtmlPath(npcId, val));
}
break;
}
case 36402:
{
if (player.getOlympiadBuffCount() > 0)
{
filename = (player.getOlympiadBuffCount() == Config.ALT_OLY_MAX_BUFFS ? Olympiad.OLYMPIAD_HTML_PATH + "olympiad_buffs.htm" : Olympiad.OLYMPIAD_HTML_PATH + "olympiad_5buffs.htm");
@@ -783,7 +788,9 @@ public class L2Npc extends L2Character
filename = Olympiad.OLYMPIAD_HTML_PATH + "olympiad_nobuffs.htm";
}
break;
}
case 30298: // Blacksmith Pinter
{
if (player.isAcademyMember())
{
filename = (getHtmlPath(npcId, 1));
@@ -793,7 +800,9 @@ public class L2Npc extends L2Character
filename = (getHtmlPath(npcId, val));
}
break;
}
default:
{
if (((npcId >= 31093) && (npcId <= 31094)) || ((npcId >= 31172) && (npcId <= 31201)) || ((npcId >= 31239) && (npcId <= 31254)))
{
return;
@@ -801,6 +810,7 @@ public class L2Npc extends L2Character
// Get the text of the selected HTML file in function of the npcId and of the page number
filename = (getHtmlPath(npcId, val));
break;
}
}
// Send a Server->Client NpcHtmlMessage containing the text of the L2NpcInstance to the L2PcInstance

View File

@@ -128,18 +128,24 @@ public class L2FortCommanderInstance extends L2DefenderInstance
switch (spawn2.getMessageId())
{
case 1:
{
npcString = NpcStringId.ATTACKING_THE_ENEMY_S_REINFORCEMENTS_IS_NECESSARY_TIME_TO_DIE;
break;
}
case 2:
{
if (attacker.isSummon())
{
attacker = ((L2Summon) attacker).getOwner();
}
npcString = NpcStringId.EVERYONE_CONCENTRATE_YOUR_ATTACKS_ON_S1_SHOW_THE_ENEMY_YOUR_RESOLVE;
break;
}
case 3:
{
npcString = NpcStringId.FIRE_SPIRIT_UNLEASH_YOUR_POWER_BURN_THE_ENEMY;
break;
}
}
if (npcString != null)
{

View File

@@ -364,11 +364,15 @@ public class L2FortManagerInstance extends L2MerchantInstance
switch (percent)
{
case 300:
{
cost = Config.FS_HPREG1_FEE;
break;
}
default: // 400
{
cost = Config.FS_HPREG2_FEE;
break;
}
}
html.replace("%cost%", cost + "</font>Adena /" + (Config.FS_HPREG_FEE_RATIO / 1000 / 60 / 60 / 24) + " Day</font>)");
@@ -388,11 +392,15 @@ public class L2FortManagerInstance extends L2MerchantInstance
switch (percent)
{
case 40:
{
cost = Config.FS_MPREG1_FEE;
break;
}
default: // 50
{
cost = Config.FS_MPREG2_FEE;
break;
}
}
html.replace("%cost%", cost + "</font>Adena /" + (Config.FS_MPREG_FEE_RATIO / 1000 / 60 / 60 / 24) + " Day</font>)");
html.replace("%use%", "Provides additional MP recovery for clan members in the fortress.<font color=\"00FFFF\">" + percent + "%</font>");
@@ -411,11 +419,15 @@ public class L2FortManagerInstance extends L2MerchantInstance
switch (percent)
{
case 45:
{
cost = Config.FS_EXPREG1_FEE;
break;
}
default: // 50
{
cost = Config.FS_EXPREG2_FEE;
break;
}
}
html.replace("%cost%", cost + "</font>Adena /" + (Config.FS_EXPREG_FEE_RATIO / 1000 / 60 / 60 / 24) + " Day</font>)");
html.replace("%use%", "Restores the Exp of any clan member who is resurrected in the fortress.<font color=\"00FFFF\">" + percent + "%</font>");
@@ -449,15 +461,21 @@ public class L2FortManagerInstance extends L2MerchantInstance
switch (percent)
{
case 0:
{
fee = 0;
html.setFile(player.getHtmlPrefix(), "data/html/fortress/functions-cancel_confirmed.htm");
break;
}
case 300:
{
fee = Config.FS_HPREG1_FEE;
break;
}
default: // 400
{
fee = Config.FS_HPREG2_FEE;
break;
}
}
if (!getFort().updateFunctions(player, Fort.FUNC_RESTORE_HP, percent, fee, Config.FS_HPREG_FEE_RATIO, (getFort().getFortFunction(Fort.FUNC_RESTORE_HP) == null)))
{
@@ -494,15 +512,21 @@ public class L2FortManagerInstance extends L2MerchantInstance
switch (percent)
{
case 0:
{
fee = 0;
html.setFile(player.getHtmlPrefix(), "data/html/fortress/functions-cancel_confirmed.htm");
break;
}
case 40:
{
fee = Config.FS_MPREG1_FEE;
break;
}
default: // 50
{
fee = Config.FS_MPREG2_FEE;
break;
}
}
if (!getFort().updateFunctions(player, Fort.FUNC_RESTORE_MP, percent, fee, Config.FS_MPREG_FEE_RATIO, (getFort().getFortFunction(Fort.FUNC_RESTORE_MP) == null)))
{
@@ -539,15 +563,21 @@ public class L2FortManagerInstance extends L2MerchantInstance
switch (percent)
{
case 0:
{
fee = 0;
html.setFile(player.getHtmlPrefix(), "data/html/fortress/functions-cancel_confirmed.htm");
break;
}
case 45:
{
fee = Config.FS_EXPREG1_FEE;
break;
}
default: // 50
{
fee = Config.FS_EXPREG2_FEE;
break;
}
}
if (!getFort().updateFunctions(player, Fort.FUNC_RESTORE_EXP, percent, fee, Config.FS_EXPREG_FEE_RATIO, (getFort().getFortFunction(Fort.FUNC_RESTORE_EXP) == null)))
{
@@ -639,11 +669,15 @@ public class L2FortManagerInstance extends L2MerchantInstance
switch (stage)
{
case 1:
{
cost = Config.FS_SUPPORT1_FEE;
break;
}
default:
{
cost = Config.FS_SUPPORT2_FEE;
break;
}
}
html.replace("%cost%", cost + "</font>Adena /" + (Config.FS_SUPPORT_FEE_RATIO / 1000 / 60 / 60 / 24) + " Day</font>)");
html.replace("%use%", "Enables the use of supplementary magic.");
@@ -662,11 +696,15 @@ public class L2FortManagerInstance extends L2MerchantInstance
switch (stage)
{
case 1:
{
cost = Config.FS_TELE1_FEE;
break;
}
default:
{
cost = Config.FS_TELE2_FEE;
break;
}
}
html.replace("%cost%", cost + "</font>Adena /" + (Config.FS_TELE_FEE_RATIO / 1000 / 60 / 60 / 24) + " Day</font>)");
html.replace("%use%", "Teleports clan members in a fort to the target <font color=\"00FFFF\">Stage " + stage + "</font> staging area");
@@ -700,15 +738,21 @@ public class L2FortManagerInstance extends L2MerchantInstance
switch (lvl)
{
case 0:
{
fee = 0;
html.setFile(player.getHtmlPrefix(), "data/html/fortress/functions-cancel_confirmed.htm");
break;
}
case 1:
{
fee = Config.FS_TELE1_FEE;
break;
}
default:
{
fee = Config.FS_TELE2_FEE;
break;
}
}
if (!getFort().updateFunctions(player, Fort.FUNC_TELEPORT, lvl, fee, Config.FS_TELE_FEE_RATIO, (getFort().getFortFunction(Fort.FUNC_TELEPORT) == null)))
{
@@ -745,15 +789,21 @@ public class L2FortManagerInstance extends L2MerchantInstance
switch (lvl)
{
case 0:
{
fee = 0;
html.setFile(player.getHtmlPrefix(), "data/html/fortress/functions-cancel_confirmed.htm");
break;
}
case 1:
{
fee = Config.FS_SUPPORT1_FEE;
break;
}
default:
{
fee = Config.FS_SUPPORT2_FEE;
break;
}
}
if (!getFort().updateFunctions(player, Fort.FUNC_SUPPORT, lvl, fee, Config.FS_SUPPORT_FEE_RATIO, (getFort().getFortFunction(Fort.FUNC_SUPPORT) == null)))
{

View File

@@ -964,32 +964,50 @@ public final class L2PcInstance extends L2Playable
switch (i)
{
case 0:
{
result |= RelationChanged.RELATION_PARTYLEADER; // 0x10
break;
}
case 1:
{
result |= RelationChanged.RELATION_PARTY4; // 0x8
break;
}
case 2:
{
result |= RelationChanged.RELATION_PARTY3 + RelationChanged.RELATION_PARTY2 + RelationChanged.RELATION_PARTY1; // 0x7
break;
}
case 3:
{
result |= RelationChanged.RELATION_PARTY3 + RelationChanged.RELATION_PARTY2; // 0x6
break;
}
case 4:
{
result |= RelationChanged.RELATION_PARTY3 + RelationChanged.RELATION_PARTY1; // 0x5
break;
}
case 5:
{
result |= RelationChanged.RELATION_PARTY3; // 0x4
break;
}
case 6:
{
result |= RelationChanged.RELATION_PARTY2 + RelationChanged.RELATION_PARTY1; // 0x3
break;
}
case 7:
{
result |= RelationChanged.RELATION_PARTY2; // 0x2
break;
}
case 8:
{
result |= RelationChanged.RELATION_PARTY1; // 0x1
break;
}
}
}
}
@@ -12107,17 +12125,25 @@ public final class L2PcInstance extends L2Playable
switch (getPrivateStoreType())
{
case SELL:
{
activeChar.sendPacket(new PrivateStoreMsgSell(this));
break;
}
case PACKAGE_SELL:
{
activeChar.sendPacket(new ExPrivateStoreSetWholeMsg(this));
break;
}
case BUY:
{
activeChar.sendPacket(new PrivateStoreMsgBuy(this));
break;
}
case MANUFACTURE:
{
activeChar.sendPacket(new RecipeShopMsg(this));
break;
}
}
}

View File

@@ -72,14 +72,20 @@ public class L2PetManagerInstance extends L2MerchantInstance
switch (val)
{
case 1:
{
exchange(player, 7585, 6650);
break;
}
case 2:
{
exchange(player, 7583, 6648);
break;
}
case 3:
{
exchange(player, 7584, 6649);
break;
}
}
return;
}
@@ -93,20 +99,30 @@ public class L2PetManagerInstance extends L2MerchantInstance
// Info evolve(player, "curent pet summon item", "new pet summon item", "lvl required to evolve")
// To ignore evolve just put value 0 where do you like example: evolve(player, 0, 9882, 55);
case 1:
{
ok = Evolve.doEvolve(player, this, 2375, 9882, 55);
break;
}
case 2:
{
ok = Evolve.doEvolve(player, this, 9882, 10426, 70);
break;
}
case 3:
{
ok = Evolve.doEvolve(player, this, 6648, 10311, 55);
break;
}
case 4:
{
ok = Evolve.doEvolve(player, this, 6650, 10313, 55);
break;
}
case 5:
{
ok = Evolve.doEvolve(player, this, 6649, 10312, 55);
break;
}
}
if (!ok)
{
@@ -125,20 +141,30 @@ public class L2PetManagerInstance extends L2MerchantInstance
{
// Info evolve(player, "curent pet summon item", "new pet summon item", "lvl required to evolve")
case 1:
{
ok = Evolve.doRestore(player, this, 10307, 9882, 55);
break;
}
case 2:
{
ok = Evolve.doRestore(player, this, 10611, 10426, 70);
break;
}
case 3:
{
ok = Evolve.doRestore(player, this, 10308, 4422, 55);
break;
}
case 4:
{
ok = Evolve.doRestore(player, this, 10309, 4423, 55);
break;
}
case 5:
{
ok = Evolve.doRestore(player, this, 10310, 4424, 55);
break;
}
}
if (!ok)
{

View File

@@ -164,6 +164,7 @@ public class L2RaceManagerInstance extends L2Npc
{
case 816: // SystemMessageId.TICKETS_ARE_NOW_AVAILABLE_FOR_MONSTER_RACE_S1
case 817: // SystemMessageId.NOW_SELLING_TICKETS_FOR_MONSTER_RACE_S1
{
if (_state != ACCEPTING_BETS)
{// LOGGER.info("Race Initializing");
_state = ACCEPTING_BETS;
@@ -171,9 +172,11 @@ public class L2RaceManagerInstance extends L2Npc
} // else{LOGGER.info("Race open");}
sm.addInt(_raceNumber);
break;
}
case 818: // SystemMessageId.TICKET_SALES_FOR_THE_MONSTER_RACE_WILL_END_IN_S1_MINUTE_S
case 820: // SystemMessageId.MONSTER_RACE_S2_WILL_BEGIN_IN_S1_MINUTE_S
case 823: // SystemMessageId.THE_RACE_WILL_BEGIN_IN_S1_SECOND_S
{
sm.addInt(_minutes);
if (type.getId() == 820)
{
@@ -181,24 +184,31 @@ public class L2RaceManagerInstance extends L2Npc
}
_minutes--;
break;
}
case 819: // SystemMessageId.TICKETS_SALES_ARE_CLOSED_FOR_MONSTER_RACE_S1_ODDS_ARE_POSTED
{
// LOGGER.info("Sales closed");
sm.addInt(_raceNumber);
_state = WAITING;
_minutes = 2;
break;
}
case 821: // SystemMessageId.MONSTER_RACE_S1_WILL_BEGIN_IN_30_SECONDS
case 822: // SystemMessageId.MONSTER_RACE_S1_IS_ABOUT_TO_BEGIN_COUNTDOWN_IN_FIVE_SECONDS
case 825: // SystemMessageId.MONSTER_RACE_S1_IS_FINISHED
{
sm.addInt(_raceNumber);
_minutes = 5;
break;
}
case 826: // SystemMessageId.FIRST_PRIZE_GOES_TO_THE_PLAYER_IN_LANE_S1_SECOND_PRIZE_GOES_TO_THE_PLAYER_IN_LANE_S2
{
// LOGGER.info("Placing");
_state = RACE_END;
sm.addInt(MonsterRace.getInstance().getFirstPlace());
sm.addInt(MonsterRace.getInstance().getSecondPlace());
break;
}
}
// _logn.info("Counter: "+minutes);
// LOGGER.info("State: "+state);

View File

@@ -349,12 +349,14 @@ public final class L2TeleporterInstance extends L2Npc
{
case 32534: // Seed of Infinity
case 32539:
{
if (player.isFlyingMounted())
{
player.sendPacket(SystemMessageId.YOU_CANNOT_ENTER_A_SEED_WHILE_IN_A_FLYING_TRANSFORMATION_STATE);
return;
}
break;
}
}
if (st.countTokens() <= 0)

View File

@@ -506,19 +506,33 @@ public class CharStat
switch (attackAttribute)
{
case FIRE:
{
return (int) getValue(Stats.FIRE_POWER);
}
case WATER:
{
return (int) getValue(Stats.WATER_POWER);
}
case WIND:
{
return (int) getValue(Stats.WIND_POWER);
}
case EARTH:
{
return (int) getValue(Stats.EARTH_POWER);
}
case HOLY:
{
return (int) getValue(Stats.HOLY_POWER);
}
case DARK:
{
return (int) getValue(Stats.DARK_POWER);
}
default:
{
return 0;
}
}
}
@@ -527,19 +541,33 @@ public class CharStat
switch (defenseAttribute)
{
case FIRE:
{
return (int) getValue(Stats.FIRE_RES);
}
case WATER:
{
return (int) getValue(Stats.WATER_RES);
}
case WIND:
{
return (int) getValue(Stats.WIND_RES);
}
case EARTH:
{
return (int) getValue(Stats.EARTH_RES);
}
case HOLY:
{
return (int) getValue(Stats.HOLY_RES);
}
case DARK:
{
return (int) getValue(Stats.DARK_RES);
}
default:
{
return (int) getValue(Stats.BASE_ATTRIBUTE_RES);
}
}
}

View File

@@ -59,7 +59,9 @@ public class ConditionGameTime extends Condition
switch (_check)
{
case NIGHT:
{
return GameTimeController.getInstance().isNight() == _required;
}
}
return !_required;
}

View File

@@ -59,17 +59,29 @@ public class ConditionPlayerBaseStats extends Condition
switch (_stat)
{
case Int:
{
return player.getINT() >= _value;
}
case Str:
{
return player.getSTR() >= _value;
}
case Con:
{
return player.getCON() >= _value;
}
case Dex:
{
return player.getDEX() >= _value;
}
case Men:
{
return player.getMEN() >= _value;
}
case Wit:
{
return player.getWIT() >= _value;
}
}
return false;
}

View File

@@ -49,39 +49,57 @@ public class ConditionPlayerState extends Condition
switch (_check)
{
case RESTING:
{
if (player != null)
{
return (player.isSitting() == _required);
}
return !_required;
}
case MOVING:
{
return effector.isMoving() == _required;
}
case RUNNING:
{
return effector.isRunning() == _required;
}
case STANDING:
{
if (player != null)
{
return (_required != (player.isSitting() || player.isMoving()));
}
return (_required != effector.isMoving());
}
case FLYING:
{
return (effector.isFlying() == _required);
}
case BEHIND:
{
return (effector.isBehindTarget() == _required);
}
case FRONT:
{
return (effector.isInFrontOfTarget() == _required);
}
case CHAOTIC:
{
if (player != null)
{
return ((player.getReputation() < 0) == _required);
}
return !_required;
}
case OLYMPIAD:
{
if (player != null)
{
return (player.isInOlympiadMode() == _required);
}
return !_required;
}
}
return !_required;
}

View File

@@ -462,17 +462,23 @@ public final class BlockCheckerEngine
switch (_round)
{
case 1:
{
// Schedule second spawn round
_task = ThreadPoolManager.schedule(new SpawnRound(20, 2), 60000);
break;
}
case 2:
{
// Schedule third spawn round
_task = ThreadPoolManager.schedule(new SpawnRound(14, 3), 60000);
break;
}
case 3:
{
// Schedule Event End Count Down
_task = ThreadPoolManager.schedule(new EndEvent(), 180000);
break;
}
}
// random % 2, if == 0 will spawn a red block
// if != 0, will spawn a blue block

View File

@@ -760,6 +760,7 @@ public class Duel
{
case Team1Win:
case Team2Surrender:
{
restorePlayerConditions(false);
sm = _partyDuel ? SystemMessage.getSystemMessage(SystemMessageId.C1_S_PARTY_HAS_WON_THE_DUEL) : SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_WON_THE_DUEL);
sm.addString(_playerA.getName());
@@ -767,8 +768,10 @@ public class Duel
broadcastToTeam1(sm);
broadcastToTeam2(sm);
break;
}
case Team1Surrender:
case Team2Win:
{
restorePlayerConditions(false);
sm = _partyDuel ? SystemMessage.getSystemMessage(SystemMessageId.C1_S_PARTY_HAS_WON_THE_DUEL) : SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_WON_THE_DUEL);
sm.addString(_playerB.getName());
@@ -776,7 +779,9 @@ public class Duel
broadcastToTeam1(sm);
broadcastToTeam2(sm);
break;
}
case Canceled:
{
stopFighting();
// Don't restore hp, mp, cp
restorePlayerConditions(true);
@@ -785,7 +790,9 @@ public class Duel
broadcastToTeam1(sm);
broadcastToTeam2(sm);
break;
}
case Timeout:
{
stopFighting();
restorePlayerConditions(false);
sm = SystemMessage.getSystemMessage(SystemMessageId.THE_DUEL_HAS_ENDED_IN_A_TIE);
@@ -793,6 +800,7 @@ public class Duel
broadcastToTeam1(sm);
broadcastToTeam2(sm);
break;
}
}
// Send end duel packet

View File

@@ -627,17 +627,25 @@ public class FortSiege implements Siegable
switch (spawn2.getMessageId())
{
case 1:
{
npcString = NpcStringId.YOU_MAY_HAVE_BROKEN_OUR_ARROWS_BUT_YOU_WILL_NEVER_BREAK_OUR_WILL_ARCHERS_RETREAT;
break;
}
case 2:
{
npcString = NpcStringId.AIIEEEE_COMMAND_CENTER_THIS_IS_GUARD_UNIT_WE_NEED_BACKUP_RIGHT_AWAY;
break;
}
case 3:
{
npcString = NpcStringId.AT_LAST_THE_MAGIC_CIRCLE_THAT_PROTECTS_THE_FORTRESS_HAS_WEAKENED_VOLUNTEERS_STAND_BACK;
break;
}
case 4:
{
npcString = NpcStringId.I_FEEL_SO_MUCH_GRIEF_THAT_I_CAN_T_EVEN_TAKE_CARE_OF_MYSELF_THERE_ISN_T_ANY_REASON_FOR_ME_TO_STAY_HERE_ANY_LONGER;
break;
}
}
if (npcString != null)
{
@@ -908,13 +916,19 @@ public class FortSiege implements Siegable
switch (teleportWho)
{
case Owner:
{
players = getOwnersInZone();
break;
}
case Attacker:
{
players = getAttackersInZone();
break;
}
default:
{
players = getPlayersInZone();
}
}
for (L2PcInstance player : players)

View File

@@ -225,10 +225,15 @@ public class L2Event
switch (eventState)
{
case OFF:
{
return false;
}
case STANDBY:
{
return _registeredPlayers.contains(player);
}
case ON:
{
for (Set<L2PcInstance> teamList : _teams.values())
{
if (teamList.contains(player))
@@ -236,9 +241,9 @@ public class L2Event
return true;
}
}
}
}
return false;
}
/**
@@ -343,12 +348,18 @@ public class L2Event
switch (eventState)
{
case ON:
{
return "Cannot start event, it is already on.";
}
case STANDBY:
{
return "Cannot start event, it is on standby mode.";
}
case OFF: // Event is off, so no problem turning it on.
{
eventState = EventState.STANDBY;
break;
}
}
// Register the event at AntiFeedManager and clean it for just in case if the event is already registered.
@@ -409,12 +420,18 @@ public class L2Event
switch (eventState)
{
case ON:
{
return "Cannot start event, it is already on.";
}
case STANDBY:
{
eventState = EventState.ON;
break;
}
case OFF: // Event is off, so no problem turning it on.
{
return "Cannot start event, it is off. Participation start is required.";
}
}
// Clean the things we will use, just in case.
@@ -478,8 +495,11 @@ public class L2Event
switch (eventState)
{
case OFF:
{
return "Cannot finish event, it is already off.";
}
case STANDBY:
{
for (L2PcInstance player : _registeredPlayers)
{
removeAndResetPlayer(player);
@@ -494,7 +514,9 @@ public class L2Event
_eventName = "";
eventState = EventState.OFF;
return "The event has been stopped at STANDBY mode, all players unregistered and all event npcs unspawned.";
}
case ON:
{
for (Set<L2PcInstance> teamList : _teams.values())
{
for (L2PcInstance player : teamList)
@@ -516,6 +538,7 @@ public class L2Event
_eventCreator = "";
_eventInfo = "";
return "The event has been stopped, all players unregistered and all event npcs unspawned.";
}
}
return "The event has been successfully finished.";

View File

@@ -2517,21 +2517,31 @@ public abstract class AbstractScript extends ManagedScript implements IEventTime
switch (((L2EtcItem) item).getItemType())
{
case POTION:
{
count *= Config.RATE_QUEST_REWARD_POTION;
break;
}
case ENCHT_WP:
case ENCHT_AM:
case SCROLL:
{
count *= Config.RATE_QUEST_REWARD_SCROLL;
break;
}
case RECIPE:
{
count *= Config.RATE_QUEST_REWARD_RECIPE;
break;
}
case MATERIAL:
{
count *= Config.RATE_QUEST_REWARD_MATERIAL;
break;
}
default:
{
count *= Config.RATE_QUEST_REWARD;
}
}
}
}

View File

@@ -336,11 +336,15 @@ public class InstanceTemplate extends ListenersContainer implements IIdentifiabl
switch (_enterLocationType)
{
case RANDOM:
{
loc = _enterLocations.get(Rnd.get(_enterLocations.size()));
break;
}
case FIXED:
{
loc = _enterLocations.get(0);
break;
}
}
return loc;
}
@@ -365,11 +369,15 @@ public class InstanceTemplate extends ListenersContainer implements IIdentifiabl
switch (_exitLocationType)
{
case RANDOM:
{
location = _exitLocations.get(Rnd.get(_exitLocations.size()));
break;
}
case FIXED:
{
location = _exitLocations.get(0);
break;
}
case ORIGIN:
{
final PlayerVariables vars = player.getVariables();

View File

@@ -49,14 +49,20 @@ public final class ConditionHasResidence extends Condition
switch (params.getEnum("type", ResidenceType.class))
{
case CASTLE:
{
test = clan.getCastleId() == id;
break;
}
case FORTRESS:
{
test = clan.getFortId() == id;
break;
}
case CLANHALL:
{
test = clan.getHideoutId() == id;
break;
}
}
return test;
}

View File

@@ -362,6 +362,7 @@ public final class ItemAuction
break;
}
case EXTEND_BY_3_MIN:
{
if (Config.ALT_ITEM_AUCTION_TIME_EXTENDS_ON_BID > 0)
{
if (getAndSetLastBidPlayerObjectId(player.getObjectId()) != player.getObjectId())
@@ -371,6 +372,7 @@ public final class ItemAuction
}
}
break;
}
case EXTEND_BY_CONFIG_PHASE_A:
{
if (getAndSetLastBidPlayerObjectId(player.getObjectId()) != player.getObjectId())
@@ -429,14 +431,17 @@ public final class ItemAuction
switch (getAuctionState())
{
case CREATED:
{
return false;
}
case FINISHED:
{
if (_startingTime < (System.currentTimeMillis() - TimeUnit.MILLISECONDS.convert(Config.ALT_ITEM_AUCTION_EXPIRED_AFTER, TimeUnit.DAYS)))
{
return false;
}
break;
}
}
final int playerObjId = player.getObjectId();

View File

@@ -245,7 +245,6 @@ public final class ItemAuctionInstance
nextAuction = createAuction(System.currentTimeMillis() + START_TIME_SPACE);
break;
}
case 1:
{
switch (auctions[0].getAuctionState())
@@ -263,23 +262,22 @@ public final class ItemAuctionInstance
}
break;
}
case STARTED:
{
currentAuction = auctions[0];
nextAuction = createAuction(Math.max(currentAuction.getEndingTime() + FINISH_TIME_SPACE, System.currentTimeMillis() + START_TIME_SPACE));
break;
}
case FINISHED:
{
currentAuction = auctions[0];
nextAuction = createAuction(System.currentTimeMillis() + START_TIME_SPACE);
break;
}
default:
{
throw new IllegalArgumentException();
}
}
break;
}
@@ -287,10 +285,8 @@ public final class ItemAuctionInstance
default:
{
Arrays.sort(auctions, Comparator.comparingLong(ItemAuction::getStartingTime).reversed());
// just to make sure we won't skip any auction because of little different times
final long currentTime = System.currentTimeMillis();
for (ItemAuction auction : auctions)
{
if (auction.getAuctionState() == ItemAuctionState.STARTED)
@@ -304,7 +300,6 @@ public final class ItemAuctionInstance
break; // only first
}
}
for (ItemAuction auction : auctions)
{
if ((auction.getStartingTime() > currentTime) && (currentAuction != auction))
@@ -313,7 +308,6 @@ public final class ItemAuctionInstance
break;
}
}
if (nextAuction == null)
{
nextAuction = createAuction(System.currentTimeMillis() + START_TIME_SPACE);
@@ -414,12 +408,10 @@ public final class ItemAuctionInstance
{
throw new IllegalStateException("Could not set auction state: " + ItemAuctionState.STARTED + ", expected: " + state);
}
LOGGER.info(getClass().getSimpleName() + ": Auction " + _auction.getAuctionId() + " has started for instance " + _auction.getInstanceId());
checkAndSetCurrentAndNextAuction();
break;
}
case STARTED:
{
switch (_auction.getAuctionEndingExtendState())
@@ -434,7 +426,6 @@ public final class ItemAuctionInstance
}
break;
}
case EXTEND_BY_3_MIN:
{
if (_auction.getScheduledAuctionEndingExtendState() != ItemAuctionExtendState.EXTEND_BY_3_MIN)
@@ -445,7 +436,6 @@ public final class ItemAuctionInstance
}
break;
}
case EXTEND_BY_CONFIG_PHASE_A:
{
if (_auction.getScheduledAuctionEndingExtendState() != ItemAuctionExtendState.EXTEND_BY_CONFIG_PHASE_B)
@@ -456,7 +446,6 @@ public final class ItemAuctionInstance
}
break;
}
case EXTEND_BY_CONFIG_PHASE_B:
{
if (_auction.getScheduledAuctionEndingExtendState() != ItemAuctionExtendState.EXTEND_BY_CONFIG_PHASE_A)
@@ -479,7 +468,9 @@ public final class ItemAuctionInstance
}
default:
{
throw new IllegalStateException("Invalid state: " + state);
}
}
}
}

View File

@@ -838,55 +838,99 @@ public abstract class Inventory extends ItemContainer
switch (slot)
{
case L2Item.SLOT_UNDERWEAR:
{
return PAPERDOLL_UNDER;
}
case L2Item.SLOT_R_EAR:
{
return PAPERDOLL_REAR;
}
case L2Item.SLOT_LR_EAR:
case L2Item.SLOT_L_EAR:
{
return PAPERDOLL_LEAR;
}
case L2Item.SLOT_NECK:
{
return PAPERDOLL_NECK;
}
case L2Item.SLOT_R_FINGER:
case L2Item.SLOT_LR_FINGER:
{
return PAPERDOLL_RFINGER;
}
case L2Item.SLOT_L_FINGER:
{
return PAPERDOLL_LFINGER;
}
case L2Item.SLOT_HEAD:
{
return PAPERDOLL_HEAD;
}
case L2Item.SLOT_R_HAND:
case L2Item.SLOT_LR_HAND:
{
return PAPERDOLL_RHAND;
}
case L2Item.SLOT_L_HAND:
{
return PAPERDOLL_LHAND;
}
case L2Item.SLOT_GLOVES:
{
return PAPERDOLL_GLOVES;
}
case L2Item.SLOT_CHEST:
case L2Item.SLOT_FULL_ARMOR:
case L2Item.SLOT_ALLDRESS:
{
return PAPERDOLL_CHEST;
}
case L2Item.SLOT_LEGS:
{
return PAPERDOLL_LEGS;
}
case L2Item.SLOT_FEET:
{
return PAPERDOLL_FEET;
}
case L2Item.SLOT_BACK:
{
return PAPERDOLL_CLOAK;
}
case L2Item.SLOT_HAIR:
case L2Item.SLOT_HAIRALL:
{
return PAPERDOLL_HAIR;
}
case L2Item.SLOT_HAIR2:
{
return PAPERDOLL_HAIR2;
}
case L2Item.SLOT_R_BRACELET:
{
return PAPERDOLL_RBRACELET;
}
case L2Item.SLOT_L_BRACELET:
{
return PAPERDOLL_LBRACELET;
}
case L2Item.SLOT_DECO:
{
return PAPERDOLL_DECO1; // return first we deal with it later
}
case L2Item.SLOT_BELT:
{
return PAPERDOLL_BELT;
}
case L2Item.SLOT_BROOCH:
{
return PAPERDOLL_BROOCH;
}
case L2Item.SLOT_BROOCH_JEWEL:
{
return PAPERDOLL_BROOCH_JEWEL1;
}
}
return -1;
}
@@ -1062,81 +1106,125 @@ public abstract class Inventory extends ItemContainer
switch (location)
{
case PAPERDOLL_UNDER:
{
slot = L2Item.SLOT_UNDERWEAR;
break;
}
case PAPERDOLL_LEAR:
{
slot = L2Item.SLOT_L_EAR;
break;
}
case PAPERDOLL_REAR:
{
slot = L2Item.SLOT_R_EAR;
break;
}
case PAPERDOLL_NECK:
{
slot = L2Item.SLOT_NECK;
break;
}
case PAPERDOLL_RFINGER:
{
slot = L2Item.SLOT_R_FINGER;
break;
}
case PAPERDOLL_LFINGER:
{
slot = L2Item.SLOT_L_FINGER;
break;
}
case PAPERDOLL_HAIR:
{
slot = L2Item.SLOT_HAIR;
break;
}
case PAPERDOLL_HAIR2:
{
slot = L2Item.SLOT_HAIR2;
break;
}
case PAPERDOLL_HEAD:
{
slot = L2Item.SLOT_HEAD;
break;
}
case PAPERDOLL_RHAND:
{
slot = L2Item.SLOT_R_HAND;
break;
}
case PAPERDOLL_LHAND:
{
slot = L2Item.SLOT_L_HAND;
break;
}
case PAPERDOLL_GLOVES:
{
slot = L2Item.SLOT_GLOVES;
break;
}
case PAPERDOLL_CHEST:
{
slot = item.getItem().getBodyPart();
break;
}
case PAPERDOLL_LEGS:
{
slot = L2Item.SLOT_LEGS;
break;
}
case PAPERDOLL_CLOAK:
{
slot = L2Item.SLOT_BACK;
break;
}
case PAPERDOLL_FEET:
{
slot = L2Item.SLOT_FEET;
break;
}
case PAPERDOLL_LBRACELET:
{
slot = L2Item.SLOT_L_BRACELET;
break;
}
case PAPERDOLL_RBRACELET:
{
slot = L2Item.SLOT_R_BRACELET;
break;
}
case PAPERDOLL_DECO1:
case PAPERDOLL_DECO2:
case PAPERDOLL_DECO3:
case PAPERDOLL_DECO4:
case PAPERDOLL_DECO5:
case PAPERDOLL_DECO6:
{
slot = L2Item.SLOT_DECO;
break;
}
case PAPERDOLL_BELT:
{
slot = L2Item.SLOT_BELT;
break;
}
case PAPERDOLL_BROOCH:
{
slot = L2Item.SLOT_BROOCH;
break;
}
case PAPERDOLL_BROOCH_JEWEL1:
case PAPERDOLL_BROOCH_JEWEL2:
case PAPERDOLL_BROOCH_JEWEL3:
case PAPERDOLL_BROOCH_JEWEL4:
case PAPERDOLL_BROOCH_JEWEL5:
case PAPERDOLL_BROOCH_JEWEL6:
{
slot = L2Item.SLOT_BROOCH_JEWEL;
break;
}
}
return slot;
}
@@ -1214,81 +1302,129 @@ public abstract class Inventory extends ItemContainer
switch (slot)
{
case L2Item.SLOT_L_EAR:
{
pdollSlot = PAPERDOLL_LEAR;
break;
}
case L2Item.SLOT_R_EAR:
{
pdollSlot = PAPERDOLL_REAR;
break;
}
case L2Item.SLOT_NECK:
{
pdollSlot = PAPERDOLL_NECK;
break;
}
case L2Item.SLOT_R_FINGER:
{
pdollSlot = PAPERDOLL_RFINGER;
break;
}
case L2Item.SLOT_L_FINGER:
{
pdollSlot = PAPERDOLL_LFINGER;
break;
}
case L2Item.SLOT_HAIR:
{
pdollSlot = PAPERDOLL_HAIR;
break;
}
case L2Item.SLOT_HAIR2:
{
pdollSlot = PAPERDOLL_HAIR2;
break;
}
case L2Item.SLOT_HAIRALL:
{
setPaperdollItem(PAPERDOLL_HAIR, null);
pdollSlot = PAPERDOLL_HAIR;
break;
}
case L2Item.SLOT_HEAD:
{
pdollSlot = PAPERDOLL_HEAD;
break;
}
case L2Item.SLOT_R_HAND:
case L2Item.SLOT_LR_HAND:
{
pdollSlot = PAPERDOLL_RHAND;
break;
}
case L2Item.SLOT_L_HAND:
{
pdollSlot = PAPERDOLL_LHAND;
break;
}
case L2Item.SLOT_GLOVES:
{
pdollSlot = PAPERDOLL_GLOVES;
break;
}
case L2Item.SLOT_CHEST:
case L2Item.SLOT_ALLDRESS:
case L2Item.SLOT_FULL_ARMOR:
{
pdollSlot = PAPERDOLL_CHEST;
break;
}
case L2Item.SLOT_LEGS:
{
pdollSlot = PAPERDOLL_LEGS;
break;
}
case L2Item.SLOT_BACK:
{
pdollSlot = PAPERDOLL_CLOAK;
break;
}
case L2Item.SLOT_FEET:
{
pdollSlot = PAPERDOLL_FEET;
break;
}
case L2Item.SLOT_UNDERWEAR:
{
pdollSlot = PAPERDOLL_UNDER;
break;
}
case L2Item.SLOT_L_BRACELET:
{
pdollSlot = PAPERDOLL_LBRACELET;
break;
}
case L2Item.SLOT_R_BRACELET:
{
pdollSlot = PAPERDOLL_RBRACELET;
break;
}
case L2Item.SLOT_DECO:
{
pdollSlot = PAPERDOLL_DECO1;
break;
}
case L2Item.SLOT_BELT:
{
pdollSlot = PAPERDOLL_BELT;
break;
}
case L2Item.SLOT_BROOCH:
{
pdollSlot = PAPERDOLL_BROOCH;
break;
}
case L2Item.SLOT_BROOCH_JEWEL:
{
pdollSlot = PAPERDOLL_BROOCH_JEWEL1;
break;
}
default:
{
LOGGER.info("Unhandled slot type: " + slot);
LOGGER.info(CommonUtil.getTraceString(Thread.currentThread().getStackTrace()));
}
}
if (pdollSlot >= 0)
{
@@ -1363,7 +1499,9 @@ public abstract class Inventory extends ItemContainer
case L2Item.SLOT_FEET:
case L2Item.SLOT_GLOVES:
case L2Item.SLOT_HEAD:
{
return;
}
}
}
@@ -1382,7 +1520,6 @@ public abstract class Inventory extends ItemContainer
{
setPaperdollItem(PAPERDOLL_RHAND, null);
}
setPaperdollItem(PAPERDOLL_LHAND, item);
break;
}
@@ -1429,15 +1566,21 @@ public abstract class Inventory extends ItemContainer
break;
}
case L2Item.SLOT_NECK:
{
setPaperdollItem(PAPERDOLL_NECK, item);
break;
}
case L2Item.SLOT_FULL_ARMOR:
{
setPaperdollItem(PAPERDOLL_LEGS, null);
setPaperdollItem(PAPERDOLL_CHEST, item);
break;
}
case L2Item.SLOT_CHEST:
{
setPaperdollItem(PAPERDOLL_CHEST, item);
break;
}
case L2Item.SLOT_LEGS:
{
// handle full armor
@@ -1446,20 +1589,26 @@ public abstract class Inventory extends ItemContainer
{
setPaperdollItem(PAPERDOLL_CHEST, null);
}
setPaperdollItem(PAPERDOLL_LEGS, item);
break;
}
case L2Item.SLOT_FEET:
{
setPaperdollItem(PAPERDOLL_FEET, item);
break;
}
case L2Item.SLOT_GLOVES:
{
setPaperdollItem(PAPERDOLL_GLOVES, item);
break;
}
case L2Item.SLOT_HEAD:
{
setPaperdollItem(PAPERDOLL_HEAD, item);
break;
}
case L2Item.SLOT_HAIR:
{
final L2ItemInstance hair = getPaperdollItem(PAPERDOLL_HAIR);
if ((hair != null) && (hair.getItem().getBodyPart() == L2Item.SLOT_HAIRALL))
{
@@ -1469,10 +1618,11 @@ public abstract class Inventory extends ItemContainer
{
setPaperdollItem(PAPERDOLL_HAIR, null);
}
setPaperdollItem(PAPERDOLL_HAIR, item);
break;
}
case L2Item.SLOT_HAIR2:
{
final L2ItemInstance hair2 = getPaperdollItem(PAPERDOLL_HAIR);
if ((hair2 != null) && (hair2.getItem().getBodyPart() == L2Item.SLOT_HAIRALL))
{
@@ -1482,32 +1632,47 @@ public abstract class Inventory extends ItemContainer
{
setPaperdollItem(PAPERDOLL_HAIR2, null);
}
setPaperdollItem(PAPERDOLL_HAIR2, item);
break;
}
case L2Item.SLOT_HAIRALL:
{
setPaperdollItem(PAPERDOLL_HAIR2, null);
setPaperdollItem(PAPERDOLL_HAIR, item);
break;
}
case L2Item.SLOT_UNDERWEAR:
{
setPaperdollItem(PAPERDOLL_UNDER, item);
break;
}
case L2Item.SLOT_BACK:
{
setPaperdollItem(PAPERDOLL_CLOAK, item);
break;
}
case L2Item.SLOT_L_BRACELET:
{
setPaperdollItem(PAPERDOLL_LBRACELET, item);
break;
}
case L2Item.SLOT_R_BRACELET:
{
setPaperdollItem(PAPERDOLL_RBRACELET, item);
break;
}
case L2Item.SLOT_DECO:
{
equipTalisman(item);
break;
}
case L2Item.SLOT_BELT:
{
setPaperdollItem(PAPERDOLL_BELT, item);
break;
}
case L2Item.SLOT_ALLDRESS:
{
// formal dress
setPaperdollItem(PAPERDOLL_LEGS, null);
setPaperdollItem(PAPERDOLL_LHAND, null);
@@ -1519,14 +1684,21 @@ public abstract class Inventory extends ItemContainer
setPaperdollItem(PAPERDOLL_GLOVES, null);
setPaperdollItem(PAPERDOLL_CHEST, item);
break;
}
case L2Item.SLOT_BROOCH:
{
setPaperdollItem(PAPERDOLL_BROOCH, item);
break;
}
case L2Item.SLOT_BROOCH_JEWEL:
{
equipBroochJewel(item);
break;
}
default:
{
LOGGER.warning("Unknown body slot " + targetSlot + " for Item ID: " + item.getId());
}
}
}

View File

@@ -414,11 +414,17 @@ public abstract class L2Item extends ListenersContainer implements IIdentifiable
{
case TYPE2_SHIELD_ARMOR:
case TYPE2_ACCESSORY:
{
return _crystalCount + (getCrystalType().getCrystalEnchantBonusArmor() * ((3 * enchantLevel) - 6));
}
case TYPE2_WEAPON:
{
return _crystalCount + (getCrystalType().getCrystalEnchantBonusWeapon() * ((2 * enchantLevel) - 3));
}
default:
{
return _crystalCount;
}
}
}
else if (enchantLevel > 0)
@@ -427,11 +433,17 @@ public abstract class L2Item extends ListenersContainer implements IIdentifiable
{
case TYPE2_SHIELD_ARMOR:
case TYPE2_ACCESSORY:
{
return _crystalCount + (getCrystalType().getCrystalEnchantBonusArmor() * enchantLevel);
}
case TYPE2_WEAPON:
{
return _crystalCount + (getCrystalType().getCrystalEnchantBonusWeapon() * enchantLevel);
}
default:
{
return _crystalCount;
}
}
}
else

View File

@@ -1327,20 +1327,26 @@ public final class L2ItemInstance extends L2Object
switch (_mana)
{
case 10:
{
sm = SystemMessage.getSystemMessage(SystemMessageId.S1_S_REMAINING_MANA_IS_NOW_10);
sm.addItemName(_item);
player.sendPacket(sm);
break;
}
case 5:
{
sm = SystemMessage.getSystemMessage(SystemMessageId.S1_S_REMAINING_MANA_IS_NOW_5);
sm.addItemName(_item);
player.sendPacket(sm);
break;
}
case 1:
{
sm = SystemMessage.getSystemMessage(SystemMessageId.S1_S_REMAINING_MANA_IS_NOW_1_IT_WILL_DISAPPEAR_SOON);
sm.addItemName(_item);
player.sendPacket(sm);
break;
}
}
if (_mana == 0) // The life time has expired

View File

@@ -187,6 +187,7 @@ public class Olympiad extends ListenersContainer
switch (_period)
{
case 0:
{
if ((_olympiadEnd == 0) || (_olympiadEnd < Calendar.getInstance().getTimeInMillis()))
{
setNewOlympiadEnd();
@@ -196,7 +197,9 @@ public class Olympiad extends ListenersContainer
scheduleWeeklyChange();
}
break;
}
case 1:
{
if (_validationEnd > Calendar.getInstance().getTimeInMillis())
{
loadNoblesRank();
@@ -210,9 +213,12 @@ public class Olympiad extends ListenersContainer
setNewOlympiadEnd();
}
break;
}
default:
{
LOGGER.warning(getClass().getSimpleName() + ": Omg something went wrong in loading!! Period = " + _period);
return;
}
}
try (Connection con = DatabaseFactory.getInstance().getConnection();
@@ -922,19 +928,29 @@ public class Olympiad extends ListenersContainer
switch (_noblesRank.get(objId))
{
case 1:
{
points += Config.ALT_OLY_RANK1_POINTS;
break;
}
case 2:
{
points += Config.ALT_OLY_RANK2_POINTS;
break;
}
case 3:
{
points += Config.ALT_OLY_RANK3_POINTS;
break;
}
case 4:
{
points += Config.ALT_OLY_RANK4_POINTS;
break;
}
default:
{
points += Config.ALT_OLY_RANK5_POINTS;
}
}
// Win/no win matches point bonus

View File

@@ -57,13 +57,19 @@ public final class OlympiadAnnouncer implements Runnable
switch (task.getGame().getType())
{
case NON_CLASSED:
{
npcString = NpcStringId.OLYMPIAD_CLASS_FREE_INDIVIDUAL_MATCH_IS_GOING_TO_BEGIN_IN_ARENA_S1_IN_A_MOMENT;
break;
}
case CLASSED:
{
npcString = NpcStringId.OLYMPIAD_CLASS_INDIVIDUAL_MATCH_IS_GOING_TO_BEGIN_IN_ARENA_S1_IN_A_MOMENT;
break;
}
default:
{
continue;
}
}
for (L2Spawn spawn : _managers)

View File

@@ -144,9 +144,13 @@ public enum SkillOperateType
case DA2:
case DA4:
case DA5:
{
return true;
}
default:
{
return false;
}
}
}
@@ -165,9 +169,13 @@ public enum SkillOperateType
case DA2:
case DA4:
case DA5:
{
return true;
}
default:
{
return false;
}
}
}
@@ -234,9 +242,13 @@ public enum SkillOperateType
case CA1:
case CA2:
case CA5:
{
return true;
}
default:
{
return false;
}
}
}
@@ -258,9 +270,13 @@ public enum SkillOperateType
case DA3:
case DA4:
case DA5:
{
return true;
}
default:
{
return false;
}
}
}
}

View File

@@ -590,11 +590,15 @@ public final class Formulas
switch (shldSuccess)
{
case SHIELD_DEFENSE_SUCCEED:
{
enemy.sendPacket(SystemMessageId.YOUR_SHIELD_DEFENSE_HAS_SUCCEEDED);
break;
}
case SHIELD_DEFENSE_PERFECT_BLOCK:
{
enemy.sendPacket(SystemMessageId.YOUR_EXCELLENT_SHIELD_DEFENSE_WAS_A_SUCCESS);
break;
}
}
}
@@ -854,10 +858,14 @@ public final class Formulas
switch (shld)
{
case SHIELD_DEFENSE_SUCCEED:
{
mDef += target.getShldDef();
break;
}
case SHIELD_DEFENSE_PERFECT_BLOCK: // perfect block
{
return 1;
}
}
// Bonus Spiritshot
@@ -1118,7 +1126,6 @@ public final class Formulas
{
// Resist Modifier.
final int cancelMagicLvl = skill.getMagicLevel();
if (activeChar.isDebug())
{
final StatsSet set = new StatsSet();
@@ -1128,7 +1135,6 @@ public final class Formulas
set.set("rate", rate);
Debug.sendSkillDebug(activeChar, target, skill, set);
}
// Prevent initialization.
final List<BuffInfo> buffs = target.getEffectList().hasBuffs() ? new ArrayList<>(target.getEffectList().getBuffs()) : new ArrayList<>(1);
if (target.getEffectList().hasTriggered())
@@ -1360,13 +1366,21 @@ public final class Formulas
switch (resist.getResistLevel())
{
case 0:
{
return 1.0;
}
case 1:
{
return 0.6;
}
case 2:
{
return 0.3;
}
default:
{
return 0;
}
}
}
@@ -1508,13 +1522,19 @@ public final class Formulas
switch (attackType)
{
case BOW:
{
return (1500 * 345) / activeChar.getPAtkSpd();
}
case CROSSBOW:
case TWOHANDCROSSBOW:
{
return (1200 * 345) / activeChar.getPAtkSpd();
}
case DAGGER:
{
// atkSpd /= 1.15;
break;
}
}
return calcPAtkSpd(activeChar.getPAtkSpd());

View File

@@ -50,16 +50,24 @@ public abstract class L2ZoneRespawn extends L2ZoneType
switch (type)
{
case "other":
{
addOtherSpawn(x, y, z);
break;
}
case "chaotic":
{
addChaoticSpawn(x, y, z);
break;
}
case "banish":
{
addBanishSpawn(x, y, z);
break;
}
default:
{
_log.warning(getClass().getSimpleName() + ": Unknown location type: " + type);
}
}
}
}

View File

@@ -75,24 +75,37 @@ public final class L2EffectZone extends L2ZoneType
switch (name)
{
case "chance":
{
_chance = Integer.parseInt(value);
break;
}
case "initialDelay":
{
_initialDelay = Integer.parseInt(value);
break;
}
case "reuse":
{
_reuse = Integer.parseInt(value);
break;
}
case "bypassSkillConditions":
{
_bypassConditions = Boolean.parseBoolean(value);
break;
}
case "maxDynamicSkillCount":
{
_skills = new ConcurrentHashMap<>(Integer.parseInt(value));
break;
}
case "showDangerIcon":
{
_isShowDangerIcon = Boolean.parseBoolean(value);
break;
}
case "skillIdLvl":
{
final String[] propertySplit = value.split(";");
_skills = new ConcurrentHashMap<>(propertySplit.length);
for (String skill : propertySplit)
@@ -118,6 +131,7 @@ public final class L2EffectZone extends L2ZoneType
}
}
break;
}
default:
{
super.setParameter(name, value);

View File

@@ -669,13 +669,21 @@ public final class L2GameClient extends ChannelInboundHandler<L2GameClient>
switch (state)
{
case CONNECTED:
{
return "[IP: " + (address == null ? "disconnected" : address.getHostAddress()) + "]";
}
case AUTHENTICATED:
{
return "[Account: " + getAccountName() + " - IP: " + (address == null ? "disconnected" : address.getHostAddress()) + "]";
}
case IN_GAME:
{
return "[Character: " + (getActiveChar() == null ? "disconnected" : getActiveChar().getName() + "[" + getActiveChar().getObjectId() + "]") + " - Account: " + getAccountName() + " - IP: " + (address == null ? "disconnected" : address.getHostAddress()) + "]";
}
default:
{
throw new IllegalStateException("Missing state on switch");
}
}
}
catch (NullPointerException e)

View File

@@ -66,13 +66,17 @@ public final class CharacterDelete implements IClientIncomingPacket
switch (failType)
{
case NONE:// Success!
{
client.sendPacket(new CharDeleteSuccess());
final CharSelectInfoPackage charInfo = client.getCharSelection(_charSlot);
EventDispatcher.getInstance().notifyEvent(new OnPlayerDelete(charInfo.getObjectId(), charInfo.getName(), client), Containers.Players());
break;
}
default:
{
client.sendPacket(new CharDeleteFail(failType));
break;
}
}
}
catch (Exception e)

View File

@@ -74,6 +74,7 @@ public class MoveToLocationAirShip implements IClientIncomingPacket
switch (_command)
{
case 0:
{
if (!ship.canBeControlled())
{
return;
@@ -83,14 +84,18 @@ public class MoveToLocationAirShip implements IClientIncomingPacket
ship.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(_param1, _param2, z));
}
break;
}
case 1:
{
if (!ship.canBeControlled())
{
return;
}
ship.getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE);
break;
}
case 2:
{
if (!ship.canBeControlled())
{
return;
@@ -101,7 +106,9 @@ public class MoveToLocationAirShip implements IClientIncomingPacket
ship.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(ship.getX(), ship.getY(), z));
}
break;
}
case 3:
{
if (!ship.canBeControlled())
{
return;
@@ -112,7 +119,9 @@ public class MoveToLocationAirShip implements IClientIncomingPacket
ship.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(ship.getX(), ship.getY(), z));
}
break;
}
case 4:
{
if (!ship.isInDock() || ship.isMoving())
{
return;
@@ -138,6 +147,7 @@ public class MoveToLocationAirShip implements IClientIncomingPacket
ship.executePath(dst);
break;
}
}
}
}

View File

@@ -114,6 +114,7 @@ public final class RequestActionUse implements IClientIncomingPacket
switch (_actionId)
{
case 51: // General Manufacture
{
// Player shouldn't be able to set stores if he/she is alike dead (dead or fake death)
if (activeChar.isAlikeDead())
{
@@ -139,9 +140,12 @@ public final class RequestActionUse implements IClientIncomingPacket
client.sendPacket(new RecipeShopManageList(activeChar, false));
break;
}
default:
{
_log.warning(activeChar.getName() + ": unhandled action type " + _actionId);
break;
}
}
}
}

View File

@@ -61,6 +61,7 @@ public final class RequestBlock implements IClientIncomingPacket
{
case BLOCK:
case UNBLOCK:
{
// can't use block/unblock for locating invisible characters
if (targetId <= 0)
{
@@ -90,19 +91,28 @@ public final class RequestBlock implements IClientIncomingPacket
BlockList.removeFromBlockList(activeChar, targetId);
}
break;
}
case BLOCKLIST:
{
BlockList.sendListToOwner(activeChar);
break;
}
case ALLBLOCK:
{
activeChar.sendPacket(SystemMessageId.MESSAGE_REFUSAL_MODE);
BlockList.setBlockAll(activeChar, true);
break;
}
case ALLUNBLOCK:
{
activeChar.sendPacket(SystemMessageId.MESSAGE_ACCEPTANCE_MODE);
BlockList.setBlockAll(activeChar, false);
break;
}
default:
{
_log.info("Unknown 0xA9 block type: " + _type);
}
}
}
}

View File

@@ -53,11 +53,15 @@ public final class RequestExCubeGameChangeTeam implements IClientIncomingPacket
{
case 0:
case 1:
{
// Change Player Team
HandysBlockCheckerManager.getInstance().changePlayerToTeam(player, _arena, _team);
break;
}
case -1:
{
// Remove Player (me)
}
{
final int team = HandysBlockCheckerManager.getInstance().getHolder(_arena).getPlayerTeam(player);
// client sends two times this packet if click on exit
@@ -69,8 +73,10 @@ public final class RequestExCubeGameChangeTeam implements IClientIncomingPacket
break;
}
default:
{
_log.warning("Wrong Cube Game Team ID: " + _team);
break;
}
}
}
}

View File

@@ -52,15 +52,21 @@ public final class RequestExCubeGameReadyAnswer implements IClientIncomingPacket
switch (_answer)
{
case 0:
{
// Cancel - Answer No
break;
}
case 1:
{
// OK or Time Over
HandysBlockCheckerManager.getInstance().increaseArenaVotes(_arena);
break;
}
default:
{
_log.warning("Unknown Cube Game Answer ID: " + _answer);
break;
}
}
}
}

View File

@@ -320,17 +320,25 @@ public class RequestExEnchantItemAttribute implements IClientIncomingPacket
{
case Stone:
case Roughore:
{
success = Rnd.get(100) < Config.ENCHANT_CHANCE_ELEMENT_STONE;
break;
}
case Crystal:
{
success = Rnd.get(100) < Config.ENCHANT_CHANCE_ELEMENT_CRYSTAL;
break;
}
case Jewel:
{
success = Rnd.get(100) < Config.ENCHANT_CHANCE_ELEMENT_JEWEL;
break;
}
case Energy:
{
success = Rnd.get(100) < Config.ENCHANT_CHANCE_ELEMENT_ENERGY;
break;
}
}
}
}

View File

@@ -70,63 +70,91 @@ public class RequestCommissionList implements IClientIncomingPacket
switch (_treeViewDepth)
{
case 1:
{
final CommissionTreeType commissionTreeType = CommissionTreeType.findByClientId(_itemType);
if (commissionTreeType != null)
{
filter = filter.and(i -> commissionTreeType.getCommissionItemTypes().contains(i.getCommissionItemType()));
}
break;
}
case 2:
{
final CommissionItemType commissionItemType = CommissionItemType.findByClientId(_itemType);
if (commissionItemType != null)
{
filter = filter.and(i -> i.getCommissionItemType() == commissionItemType);
}
break;
}
}
switch (_type)
{
case 0: // General
{
filter = filter.and(i -> true); // TODO: condition
break;
}
case 1: // Rare
{
filter = filter.and(i -> true); // TODO: condition
break;
}
}
switch (_grade)
{
case 0:
{
filter = filter.and(i -> i.getCrystalType() == CrystalType.NONE);
break;
}
case 1:
{
filter = filter.and(i -> i.getCrystalType() == CrystalType.D);
break;
}
case 2:
{
filter = filter.and(i -> i.getCrystalType() == CrystalType.C);
break;
}
case 3:
{
filter = filter.and(i -> i.getCrystalType() == CrystalType.B);
break;
}
case 4:
{
filter = filter.and(i -> i.getCrystalType() == CrystalType.A);
break;
}
case 5:
{
filter = filter.and(i -> i.getCrystalType() == CrystalType.S);
break;
}
case 6:
{
filter = filter.and(i -> i.getCrystalType() == CrystalType.S80);
break;
}
case 7:
{
filter = filter.and(i -> i.getCrystalType() == CrystalType.R);
break;
}
case 8:
{
filter = filter.and(i -> i.getCrystalType() == CrystalType.R95);
break;
}
case 9:
{
filter = filter.and(i -> i.getCrystalType() == CrystalType.R99);
break;
}
}
filter = filter.and(i -> _query.isEmpty() || i.getName().toLowerCase().contains(_query.toLowerCase()));

View File

@@ -59,43 +59,65 @@ public class ExShowFortressSiegeInfo implements IClientOutgoingPacket
switch (_csize)
{
case 3:
{
switch (_csize2)
{
case 0:
{
packet.writeD(0x03);
break;
}
case 1:
{
packet.writeD(0x02);
break;
}
case 2:
{
packet.writeD(0x01);
break;
}
case 3:
{
packet.writeD(0x00);
break;
}
}
break;
}
case 4: // TODO: change 4 to 5 once control room supported
{
switch (_csize2)
// TODO: once control room supported, update packet.writeD(0x0x) to support 5th room
{
// TODO: once control room supported, update packet.writeD(0x0x) to support 5th room
case 0:
{
packet.writeD(0x05);
break;
}
case 1:
{
packet.writeD(0x04);
break;
}
case 2:
{
packet.writeD(0x03);
break;
}
case 3:
{
packet.writeD(0x02);
break;
}
case 4:
{
packet.writeD(0x01);
break;
}
}
break;
}
}
}
else

View File

@@ -80,10 +80,15 @@ public final class JavaExecutionContext extends AbstractExecutionContext<JavaScr
switch (classloader)
{
case "ThreadContext":
{
return Thread.currentThread().getContextClassLoader();
}
case "System":
{
return ClassLoader.getSystemClassLoader();
}
default:
{
try
{
return Class.forName(classloader).getClassLoader();
@@ -92,6 +97,7 @@ public final class JavaExecutionContext extends AbstractExecutionContext<JavaScr
{
return ClassLoader.getSystemClassLoader();
}
}
}
}

View File

@@ -210,6 +210,7 @@ public final class FloodProtectorAction
switch (state)
{
case IN_GAME:
{
if (_client.getActiveChar() != null)
{
output.append(_client.getActiveChar().getName());
@@ -218,21 +219,28 @@ public final class FloodProtectorAction
output.append(") ");
}
break;
}
case AUTHENTICATED:
{
if (_client.getAccountName() != null)
{
output.append(_client.getAccountName());
output.append(" ");
}
break;
}
case CONNECTED:
{
if (address != null)
{
output.append(address);
}
break;
}
default:
{
throw new IllegalStateException("Missing state on switch");
}
}
Arrays.stream(lines).forEach(output::append);