|
@@ -109,7 +109,7 @@ public final class RequestActionUse extends L2GameClientPacket
|
|
|
|
|
|
switch (_actionId)
|
|
switch (_actionId)
|
|
{
|
|
{
|
|
- case 0:
|
|
|
|
|
|
+ case 0: // Sit/Stand
|
|
if (activeChar.getMountType() != 0)
|
|
if (activeChar.getMountType() != 0)
|
|
break;
|
|
break;
|
|
|
|
|
|
@@ -132,7 +132,7 @@ public final class RequestActionUse extends L2GameClientPacket
|
|
_log.fine("new wait type: " + (activeChar.isSitting() ? "SITTING" : "STANDING"));
|
|
_log.fine("new wait type: " + (activeChar.isSitting() ? "SITTING" : "STANDING"));
|
|
|
|
|
|
break;
|
|
break;
|
|
- case 1:
|
|
|
|
|
|
+ case 1: // Walk/Run
|
|
if (activeChar.isRunning())
|
|
if (activeChar.isRunning())
|
|
activeChar.setWalking();
|
|
activeChar.setWalking();
|
|
else
|
|
else
|
|
@@ -141,20 +141,19 @@ public final class RequestActionUse extends L2GameClientPacket
|
|
if (Config.DEBUG)
|
|
if (Config.DEBUG)
|
|
_log.fine("new move type: " + (activeChar.isRunning() ? "RUNNING" : "WALKIN"));
|
|
_log.fine("new move type: " + (activeChar.isRunning() ? "RUNNING" : "WALKIN"));
|
|
break;
|
|
break;
|
|
- case 10:
|
|
|
|
- // Private Store Sell
|
|
|
|
|
|
+ case 10: // Private Store - Sell
|
|
activeChar.tryOpenPrivateSellStore(false);
|
|
activeChar.tryOpenPrivateSellStore(false);
|
|
break;
|
|
break;
|
|
- case 28:
|
|
|
|
|
|
+ case 28: // Private Store - Buy
|
|
activeChar.tryOpenPrivateBuyStore();
|
|
activeChar.tryOpenPrivateBuyStore();
|
|
break;
|
|
break;
|
|
case 15:
|
|
case 15:
|
|
- case 21: // pet follow/stop
|
|
|
|
|
|
+ case 21: // Change Movement Mode (pet follow/stop)
|
|
if (pet != null && !activeChar.isBetrayed())
|
|
if (pet != null && !activeChar.isBetrayed())
|
|
((L2SummonAI) pet.getAI()).notifyFollowStatusChange();
|
|
((L2SummonAI) pet.getAI()).notifyFollowStatusChange();
|
|
break;
|
|
break;
|
|
case 16:
|
|
case 16:
|
|
- case 22: // pet attack
|
|
|
|
|
|
+ case 22: // Attack (pet attack)
|
|
if (target != null && pet != null && pet != target && activeChar != target && !pet.isAttackingDisabled() && !pet.isBetrayed())
|
|
if (target != null && pet != null && pet != target && activeChar != target && !pet.isAttackingDisabled() && !pet.isBetrayed())
|
|
{
|
|
{
|
|
if (pet instanceof L2PetInstance && (pet.getLevel() - activeChar.getLevel() > 20))
|
|
if (pet instanceof L2PetInstance && (pet.getLevel() - activeChar.getLevel() > 20))
|
|
@@ -208,11 +207,11 @@ public final class RequestActionUse extends L2GameClientPacket
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
case 17:
|
|
case 17:
|
|
- case 23: // pet - cancel action
|
|
|
|
|
|
+ case 23: // Stop (pet - cancel action)
|
|
if (pet != null && !pet.isMovementDisabled() && !pet.isBetrayed())
|
|
if (pet != null && !pet.isMovementDisabled() && !pet.isBetrayed())
|
|
pet.getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE, null);
|
|
pet.getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE, null);
|
|
break;
|
|
break;
|
|
- case 19: // pet unsummon
|
|
|
|
|
|
+ case 19: // Unsummon Pet
|
|
if (pet != null)
|
|
if (pet != null)
|
|
{
|
|
{
|
|
//returns pet to control item
|
|
//returns pet to control item
|
|
@@ -237,17 +236,16 @@ public final class RequestActionUse extends L2GameClientPacket
|
|
}
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
- case 38: // pet mount
|
|
|
|
- // mount
|
|
|
|
|
|
+ case 38: // Mount/Dismount
|
|
activeChar.mountPlayer(pet);
|
|
activeChar.mountPlayer(pet);
|
|
break;
|
|
break;
|
|
- case 32: // Wild Hog Cannon - Mode Change
|
|
|
|
|
|
+ case 32: // Wild Hog Cannon - Switch Mode
|
|
// useSkill(4230);
|
|
// useSkill(4230);
|
|
break;
|
|
break;
|
|
case 36: // Soulless - Toxic Smoke
|
|
case 36: // Soulless - Toxic Smoke
|
|
useSkill(4259);
|
|
useSkill(4259);
|
|
break;
|
|
break;
|
|
- case 37:
|
|
|
|
|
|
+ case 37: // Dwarven Manufacture
|
|
if (activeChar.isAlikeDead())
|
|
if (activeChar.isAlikeDead())
|
|
{
|
|
{
|
|
getClient().sendPacket(ActionFailed.STATIC_PACKET);
|
|
getClient().sendPacket(ActionFailed.STATIC_PACKET);
|
|
@@ -298,7 +296,7 @@ public final class RequestActionUse extends L2GameClientPacket
|
|
case 48: // Mechanic Golem - Mech. Cannon
|
|
case 48: // Mechanic Golem - Mech. Cannon
|
|
useSkill(4068);
|
|
useSkill(4068);
|
|
break;
|
|
break;
|
|
- case 51:
|
|
|
|
|
|
+ case 51: // General Manufacture
|
|
// Player shouldn't be able to set stores if he/she is alike dead (dead or fake death)
|
|
// Player shouldn't be able to set stores if he/she is alike dead (dead or fake death)
|
|
if (activeChar.isAlikeDead())
|
|
if (activeChar.isAlikeDead())
|
|
{
|
|
{
|
|
@@ -318,7 +316,7 @@ public final class RequestActionUse extends L2GameClientPacket
|
|
|
|
|
|
activeChar.sendPacket(new RecipeShopManageList(activeChar, false));
|
|
activeChar.sendPacket(new RecipeShopManageList(activeChar, false));
|
|
break;
|
|
break;
|
|
- case 52: // unsummon
|
|
|
|
|
|
+ case 52: // Unsummon
|
|
if (pet != null && pet instanceof L2SummonInstance)
|
|
if (pet != null && pet instanceof L2SummonInstance)
|
|
{
|
|
{
|
|
if (pet.isBetrayed())
|
|
if (pet.isBetrayed())
|
|
@@ -331,48 +329,37 @@ public final class RequestActionUse extends L2GameClientPacket
|
|
pet.unSummon(activeChar);
|
|
pet.unSummon(activeChar);
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
- case 53: // move to target
|
|
|
|
|
|
+ case 53: // Move to target
|
|
if (target != null && pet != null && pet != target && !pet.isMovementDisabled() && !pet.isBetrayed())
|
|
if (target != null && pet != null && pet != target && !pet.isMovementDisabled() && !pet.isBetrayed())
|
|
{
|
|
{
|
|
pet.setFollowStatus(false);
|
|
pet.setFollowStatus(false);
|
|
pet.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new L2CharPosition(target.getX(), target.getY(), target.getZ(), 0));
|
|
pet.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new L2CharPosition(target.getX(), target.getY(), target.getZ(), 0));
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
- case 54: // move to target hatch/strider
|
|
|
|
|
|
+ case 54: // Move to target hatch/strider
|
|
if (target != null && pet != null && pet != target && !pet.isMovementDisabled() && !pet.isBetrayed())
|
|
if (target != null && pet != null && pet != target && !pet.isMovementDisabled() && !pet.isBetrayed())
|
|
{
|
|
{
|
|
pet.setFollowStatus(false);
|
|
pet.setFollowStatus(false);
|
|
pet.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new L2CharPosition(target.getX(), target.getY(), target.getZ(), 0));
|
|
pet.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new L2CharPosition(target.getX(), target.getY(), target.getZ(), 0));
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
- case 61:
|
|
|
|
- // Private Store Package Sell
|
|
|
|
|
|
+ case 61: // Private Store Package Sell
|
|
activeChar.tryOpenPrivateSellStore(true);
|
|
activeChar.tryOpenPrivateSellStore(true);
|
|
break;
|
|
break;
|
|
- case 65:
|
|
|
|
- // Bot report Button.
|
|
|
|
|
|
+ case 65: // Bot Report Button
|
|
activeChar.sendMessage("Action not handled yet.");
|
|
activeChar.sendMessage("Action not handled yet.");
|
|
break;
|
|
break;
|
|
- case 67:
|
|
|
|
- case 68:
|
|
|
|
- case 69:
|
|
|
|
- case 70:
|
|
|
|
|
|
+ case 67: // Steer
|
|
|
|
+ case 68: // Cancel Control
|
|
|
|
+ case 69: // Destination Map
|
|
|
|
+ case 70: // Exit Airship
|
|
activeChar.sendMessage("Action not handled yet.");
|
|
activeChar.sendMessage("Action not handled yet.");
|
|
break;
|
|
break;
|
|
- case 96: // Quit Party Command Channel
|
|
|
|
- _log.info("98 Accessed");
|
|
|
|
- break;
|
|
|
|
- case 97: // Request Party Command Channel Info
|
|
|
|
- //if (!PartyCommandManager.getInstance().isPlayerInChannel(activeChar))
|
|
|
|
- //return;
|
|
|
|
- _log.info("97 Accessed");
|
|
|
|
- //PartyCommandManager.getInstance().getActiveChannelInfo(activeChar);
|
|
|
|
- break;
|
|
|
|
case 1000: // Siege Golem - Siege Hammer
|
|
case 1000: // Siege Golem - Siege Hammer
|
|
if (target instanceof L2DoorInstance)
|
|
if (target instanceof L2DoorInstance)
|
|
useSkill(4079);
|
|
useSkill(4079);
|
|
break;
|
|
break;
|
|
- case 1001:
|
|
|
|
|
|
+ case 1001: // Sin Eater - Ultimate Bombastic Buster
|
|
break;
|
|
break;
|
|
case 1003: // Wind Hatchling/Strider - Wild Stun
|
|
case 1003: // Wind Hatchling/Strider - Wild Stun
|
|
useSkill(4710);
|
|
useSkill(4710);
|
|
@@ -466,11 +453,9 @@ public final class RequestActionUse extends L2GameClientPacket
|
|
case 1045: // Great Wolf - Howl
|
|
case 1045: // Great Wolf - Howl
|
|
useSkill(5584);
|
|
useSkill(5584);
|
|
break;
|
|
break;
|
|
- //Add by rocknow
|
|
|
|
case 1046: // Strider - Roar
|
|
case 1046: // Strider - Roar
|
|
useSkill(5585);
|
|
useSkill(5585);
|
|
break;
|
|
break;
|
|
- // CT2.3
|
|
|
|
case 1047: // Divine Beast - Bite
|
|
case 1047: // Divine Beast - Bite
|
|
useSkill(5580);
|
|
useSkill(5580);
|
|
break;
|
|
break;
|
|
@@ -513,87 +498,96 @@ public final class RequestActionUse extends L2GameClientPacket
|
|
case 1060: //Nightshade - Guidance
|
|
case 1060: //Nightshade - Guidance
|
|
useSkill(5654);
|
|
useSkill(5654);
|
|
break;
|
|
break;
|
|
- //Add by rocknow
|
|
|
|
- case 1061:
|
|
|
|
- useSkill(5745); // Death blow
|
|
|
|
|
|
+ case 1061: // Death blow
|
|
|
|
+ useSkill(5745);
|
|
|
|
+ break;
|
|
|
|
+ case 1062: // Double attack
|
|
|
|
+ useSkill(5746);
|
|
|
|
+ break;
|
|
|
|
+ case 1063: // Spin attack
|
|
|
|
+ useSkill(5747);
|
|
|
|
+ break;
|
|
|
|
+ case 1064: // Meteor Shower
|
|
|
|
+ useSkill(5748);
|
|
|
|
+ break;
|
|
|
|
+ case 1065: // Awakening
|
|
|
|
+ useSkill(5753);
|
|
|
|
+ break;
|
|
|
|
+ case 1066: // Thunder Bolt
|
|
|
|
+ useSkill(5749);
|
|
break;
|
|
break;
|
|
- case 1062:
|
|
|
|
- useSkill(5746); // Double attack
|
|
|
|
|
|
+ case 1067: // Flash
|
|
|
|
+ useSkill(5750);
|
|
break;
|
|
break;
|
|
- case 1063:
|
|
|
|
- useSkill(5747); // Spin attack
|
|
|
|
|
|
+ case 1068: // Lightning Wave
|
|
|
|
+ useSkill(5751);
|
|
break;
|
|
break;
|
|
- case 1064:
|
|
|
|
- useSkill(5748); // Meteor Shower
|
|
|
|
|
|
+ case 1069: // Flare
|
|
|
|
+ useSkill(5752);
|
|
break;
|
|
break;
|
|
- case 1065:
|
|
|
|
- useSkill(5753); // Awakening
|
|
|
|
|
|
+ case 1070: // Buff control
|
|
|
|
+ useSkill(5771);
|
|
break;
|
|
break;
|
|
- case 1066:
|
|
|
|
- useSkill(5749); // Thunder Bolt
|
|
|
|
|
|
+ case 1071: // Power Strike
|
|
|
|
+ useSkill(5761);
|
|
break;
|
|
break;
|
|
- case 1067:
|
|
|
|
- useSkill(5750); // Flash
|
|
|
|
|
|
+ case 1072: // Toy Knight - Piercing attack
|
|
|
|
+ useSkill(6046);
|
|
break;
|
|
break;
|
|
- case 1068:
|
|
|
|
- useSkill(5751); // Lightning Wave
|
|
|
|
|
|
+ case 1073: // Toy Knight - Whirlwind
|
|
|
|
+ useSkill(6047);
|
|
break;
|
|
break;
|
|
- case 1069:
|
|
|
|
- useSkill(5752); // Flare
|
|
|
|
|
|
+ case 1074: // Toy Knight - Lance Smash
|
|
|
|
+ useSkill(6048);
|
|
break;
|
|
break;
|
|
- case 1070:
|
|
|
|
- useSkill(5771); // Buff control
|
|
|
|
|
|
+ case 1075: // Toy Knight - Battle Cry
|
|
|
|
+ useSkill(6049);
|
|
break;
|
|
break;
|
|
- case 1071:
|
|
|
|
- useSkill(5761); // Power Strike
|
|
|
|
|
|
+ case 1076: // Turtle Ascetic - Power Smash
|
|
|
|
+ useSkill(6050);
|
|
break;
|
|
break;
|
|
- case 1072:
|
|
|
|
- useSkill(6046); // Piercing attack
|
|
|
|
|
|
+ case 1077: // Turtle Ascetic - Energy Burst
|
|
|
|
+ useSkill(6051);
|
|
break;
|
|
break;
|
|
- case 1073:
|
|
|
|
- useSkill(6047); // Whirlwind
|
|
|
|
|
|
+ case 1078: // Turtle Ascetic - Shockwave
|
|
|
|
+ useSkill(6052);
|
|
break;
|
|
break;
|
|
- case 1074:
|
|
|
|
- useSkill(6048); // Lance Smash
|
|
|
|
|
|
+ case 1079: // Turtle Ascetic - Howl
|
|
|
|
+ useSkill(6053);
|
|
break;
|
|
break;
|
|
- case 1075:
|
|
|
|
- useSkill(6049); // Battle Cry
|
|
|
|
|
|
+ case 1080: // Phoenix Rush
|
|
|
|
+ useSkill(6041);
|
|
break;
|
|
break;
|
|
- case 1076:
|
|
|
|
- useSkill(6050); // Power Smash
|
|
|
|
|
|
+ case 1081: // Phoenix Cleanse
|
|
|
|
+ useSkill(6042);
|
|
break;
|
|
break;
|
|
- case 1077:
|
|
|
|
- useSkill(6051); // Energy Burst
|
|
|
|
|
|
+ case 1082: // Phoenix Flame Feather
|
|
|
|
+ useSkill(6043);
|
|
break;
|
|
break;
|
|
- case 1078:
|
|
|
|
- useSkill(6052); // Shockwave
|
|
|
|
|
|
+ case 1083: // Phoenix Flame Beak
|
|
|
|
+ useSkill(6044);
|
|
break;
|
|
break;
|
|
- case 1079:
|
|
|
|
- useSkill(6053); // Howl
|
|
|
|
|
|
+ case 1084: // Switch State
|
|
|
|
+ useSkill(6054);
|
|
break;
|
|
break;
|
|
- case 1080:
|
|
|
|
- useSkill(6041); // Phoenix Rush
|
|
|
|
|
|
+ case 1086: // Panther Cancel
|
|
|
|
+ useSkill(6094);
|
|
break;
|
|
break;
|
|
- case 1081:
|
|
|
|
- useSkill(6042); // Phoenix Cleanse
|
|
|
|
|
|
+ case 1087: // Panther Dark Claw
|
|
|
|
+ useSkill(6095);
|
|
break;
|
|
break;
|
|
- case 1082:
|
|
|
|
- useSkill(6043); // Phoenix Flame Feather
|
|
|
|
|
|
+ case 1088: // Panther Fatal Claw
|
|
|
|
+ useSkill(6096);
|
|
break;
|
|
break;
|
|
- case 1083:
|
|
|
|
- useSkill(6044); // Phoenix Flame Beak
|
|
|
|
|
|
+ case 1089: // TODO Deinonychus - Tail Strike
|
|
break;
|
|
break;
|
|
- case 1084:
|
|
|
|
- useSkill(6054); // Switch State
|
|
|
|
|
|
+ case 1090: // TODO Guardian's Strider - Strider Bite
|
|
break;
|
|
break;
|
|
- case 1086:
|
|
|
|
- useSkill(6094); // Panther Cancel
|
|
|
|
|
|
+ case 1091: // TODO Guardian's Strider - Strider Fear
|
|
break;
|
|
break;
|
|
- case 1087:
|
|
|
|
- useSkill(6095); // Panther Dark Claw
|
|
|
|
|
|
+ case 1092: // TODO Guardian's Strider - Strider Dash
|
|
break;
|
|
break;
|
|
- case 1088:
|
|
|
|
- useSkill(6096); // Panther Fatal Claw
|
|
|
|
|
|
+ case 5000: // TODO Baby Rudolph - Reindeer Scratch
|
|
break;
|
|
break;
|
|
// CT2.3 Social Packets
|
|
// CT2.3 Social Packets
|
|
case 12:
|
|
case 12:
|