Various packet adjustments.

This commit is contained in:
MobiusDevelopment
2021-02-15 04:29:38 +00:00
parent 013d8fc9b8
commit 7671760cd6
11 changed files with 114 additions and 83 deletions

View File

@@ -27,14 +27,14 @@ public class DlgAnswer extends GameClientPacket
{ {
private int _messageId; private int _messageId;
private int _answer; private int _answer;
private int _requesterId; // private int _requesterId;
@Override @Override
protected void readImpl() protected void readImpl()
{ {
_messageId = readD(); _messageId = readD();
_answer = readD(); _answer = readD();
_requesterId = readD(); // _requesterId = readD();
} }
@Override @Override
@@ -46,21 +46,21 @@ public class DlgAnswer extends GameClientPacket
return; return;
} }
final Long answerTime = player.getConfirmDlgRequestTime(_requesterId); // final Long answerTime = player.getConfirmDlgRequestTime(_requesterId);
if ((_answer == 1) && (answerTime != null) && (System.currentTimeMillis() > answerTime)) // if ((_answer == 1) && (answerTime != null) && (System.currentTimeMillis() > answerTime))
{ // {
_answer = 0; // _answer = 0;
} // }
player.removeConfirmDlgRequestTime(_requesterId); // player.removeConfirmDlgRequestTime(_requesterId);
if (_messageId == SystemMessageId.S1_IS_MAKING_AN_ATTEMPT_AT_RESURRECTION_DO_YOU_WANT_TO_CONTINUE_WITH_THIS_RESURRECTION.getId()) if (_messageId == SystemMessageId.S1_IS_MAKING_AN_ATTEMPT_AT_RESURRECTION_DO_YOU_WANT_TO_CONTINUE_WITH_THIS_RESURRECTION.getId())
{ {
player.reviveAnswer(_answer); player.reviveAnswer(_answer);
} }
else if (_messageId == SystemMessageId.S1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId()) // else if (_messageId == SystemMessageId.S1_WISHES_TO_SUMMON_YOU_FROM_S2_DO_YOU_ACCEPT.getId())
{ // {
player.teleportAnswer(_answer, _requesterId); // player.teleportAnswer(_answer, _requesterId);
} // }
else if (_messageId == SystemMessageId.WOULD_YOU_LIKE_TO_OPEN_THE_GATE.getId()) else if (_messageId == SystemMessageId.WOULD_YOU_LIKE_TO_OPEN_THE_GATE.getId())
{ {
player.gatesAnswer(_answer, 1); player.gatesAnswer(_answer, 1);

View File

@@ -70,6 +70,6 @@ public class RequestJoinAlly extends GameClientPacket
sm.addString(player.getClan().getAllyName()); sm.addString(player.getClan().getAllyName());
sm.addString(player.getName()); sm.addString(player.getName());
target.sendPacket(sm); target.sendPacket(sm);
target.sendPacket(new AskJoinAlly(player.getObjectId(), player.getClan().getAllyName())); target.sendPacket(new AskJoinAlly(player.getObjectId(), player.getName(), clan.getAllyName()));
} }
} }

View File

@@ -25,13 +25,13 @@ import org.l2jmobius.gameserver.network.serverpackets.AskJoinPledge;
public class RequestJoinPledge extends GameClientPacket public class RequestJoinPledge extends GameClientPacket
{ {
private int _target; private int _target;
private int _pledgeType; // private int _pledgeType;
@Override @Override
protected void readImpl() protected void readImpl()
{ {
_target = readD(); _target = readD();
_pledgeType = readD(); // _pledgeType = readD();
} }
@Override @Override
@@ -51,7 +51,7 @@ public class RequestJoinPledge extends GameClientPacket
final PlayerInstance target = (PlayerInstance) World.getInstance().findObject(_target); final PlayerInstance target = (PlayerInstance) World.getInstance().findObject(_target);
final Clan clan = player.getClan(); final Clan clan = player.getClan();
if (!clan.checkClanJoinCondition(player, target, _pledgeType)) if (!clan.checkClanJoinCondition(player, target, 0))
{ {
return; return;
} }
@@ -66,6 +66,6 @@ public class RequestJoinPledge extends GameClientPacket
public int getPledgeType() public int getPledgeType()
{ {
return _pledgeType; return 0;
} }
} }

View File

@@ -16,26 +16,22 @@
*/ */
package org.l2jmobius.gameserver.network.clientpackets; package org.l2jmobius.gameserver.network.clientpackets;
import java.util.logging.Logger;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
import org.l2jmobius.gameserver.network.serverpackets.ManagePledgePower; import org.l2jmobius.gameserver.network.serverpackets.ManagePledgePower;
public class RequestPledgePower extends GameClientPacket public class RequestPledgePower extends GameClientPacket
{ {
static Logger LOGGER = Logger.getLogger(RequestPledgePower.class.getName()); private int _clanMemberId;
private int _rank;
private int _action; private int _action;
private int _privs; private int _privs;
@Override @Override
protected void readImpl() protected void readImpl()
{ {
_rank = readD(); _clanMemberId = readD();
_action = readD(); _action = readD();
if (_action == 2)
if (_action == 3)
{ {
_privs = readD(); _privs = readD();
} }
@@ -54,27 +50,43 @@ public class RequestPledgePower extends GameClientPacket
return; return;
} }
if (_action == 2) if (player.getClan() != null)
{ {
if ((player.getClan() != null) && player.isClanLeader()) PlayerInstance member = null;
if (player.getClan().getClanMember(_clanMemberId) != null)
{ {
if (_rank == 9) member = player.getClan().getClanMember(_clanMemberId).getPlayerInstance();
{ }
// The rights below cannot be bestowed upon Academy members:
// Join a clan or be dismissed switch (_action)
// Title management, crest management, master management, level management, {
// bulletin board administration case 1:
// Clan war, right to dismiss, set functions {
// Auction, manage taxes, attack/defend registration, mercenary management player.sendPacket(new ManagePledgePower(player.getClanPrivileges()));
// => Leaves only CP_CL_VIEW_WAREHOUSE, CP_CH_OPEN_DOOR, CP_CS_OPEN_DOOR? break;
_privs = (_privs & Clan.CP_CL_VIEW_WAREHOUSE) + (_privs & Clan.CP_CH_OPEN_DOOR) + (_privs & Clan.CP_CS_OPEN_DOOR); }
}
player.getClan().setRankPrivs(_rank, _privs); case 2:
{
if (member != null)
{
player.sendPacket(new ManagePledgePower(member.getClanPrivileges()));
}
break;
}
case 3:
{
if (player.isClanLeader())
{
if (member != null)
{
member.setClanPrivileges(_privs);
}
}
break;
}
} }
}
else
{
player.sendPacket(new ManagePledgePower(getClient().getPlayer().getClan(), _action, _rank));
} }
} }
} }

View File

@@ -26,24 +26,24 @@ package org.l2jmobius.gameserver.network.serverpackets;
*/ */
public class AskJoinAlly extends GameServerPacket public class AskJoinAlly extends GameServerPacket
{ {
private final int _requestorId;
private final String _requestorName; private final String _requestorName;
private final int _requestorObjId; private final String _requestorAllyName;
/** public AskJoinAlly(int requestorId, String requestorName, String requestorAllyName)
* @param requestorObjId
* @param requestorName
*/
public AskJoinAlly(int requestorObjId, String requestorName)
{ {
_requestorId = requestorId;
_requestorName = requestorName; _requestorName = requestorName;
_requestorObjId = requestorObjId; _requestorAllyName = requestorAllyName;
} }
@Override @Override
protected final void writeImpl() protected final void writeImpl()
{ {
writeC(0xa8); writeC(0xa8);
writeD(_requestorObjId); writeD(_requestorId);
writeS(_requestorName); writeS(_requestorName);
writeS("");
writeS(_requestorAllyName);
} }
} }

View File

@@ -43,14 +43,14 @@ public class ExMultiPartyCommandChannelInfo extends GameServerPacket
writeH(0x30); writeH(0x30);
writeS(_channel.getChannelLeader().getName()); writeS(_channel.getChannelLeader().getName());
writeD(0); // Channel loot // writeD(0); // Channel loot
writeD(_channel.getMemberCount()); writeD(_channel.getMemberCount());
writeD(_channel.getParties().size()); writeD(_channel.getParties().size());
for (Party p : _channel.getParties()) for (Party p : _channel.getParties())
{ {
writeS(p.getLeader().getName()); writeS(p.getLeader().getName());
writeD(p.getPartyLeaderOID()); // writeD(p.getPartyLeaderOID());
writeD(p.getMemberCount()); writeD(p.getMemberCount());
} }
} }

View File

@@ -156,20 +156,20 @@ public class GMViewCharacterInfo extends GameServerPacket
writeH(_player.getRecomLeft()); writeH(_player.getRecomLeft());
writeH(_player.getRecomHave()); // Blue value for name (0 = white, 255 = pure blue) writeH(_player.getRecomHave()); // Blue value for name (0 = white, 255 = pure blue)
writeD(_player.getClassId().getId()); writeD(_player.getClassId().getId());
writeD(0x00); // special effects? circles around player... // writeD(0x00); // special effects? circles around player...
writeD(_player.getMaxCp()); writeD(_player.getMaxCp());
writeD((int) _player.getCurrentCp()); writeD((int) _player.getCurrentCp());
writeC(_player.isRunning() ? 0x01 : 0x00); // changes the Speed display on Status Window // writeC(_player.isRunning() ? 0x01 : 0x00); // changes the Speed display on Status Window
writeC(321); // writeC(321);
writeD(_player.getPledgeClass()); // changes the text above CP on Status Window // writeD(_player.getPledgeClass()); // changes the text above CP on Status Window
writeC(_player.isNoble() ? 0x01 : 0x00); // writeC(_player.isNoble() ? 0x01 : 0x00);
writeC(_player.isHero() ? 0x01 : 0x00); // writeC(_player.isHero() ? 0x01 : 0x00);
writeD(_player.getAppearance().getNameColor()); // writeD(_player.getAppearance().getNameColor());
writeD(_player.getAppearance().getTitleColor()); // writeD(_player.getAppearance().getTitleColor());
} }
} }

View File

@@ -46,7 +46,7 @@ public class GMViewSkillInfo extends GameServerPacket
writeD(skill.isPassive() ? 1 : 0); writeD(skill.isPassive() ? 1 : 0);
writeD(skill.getLevel()); writeD(skill.getLevel());
writeD(skill.getId()); writeD(skill.getId());
writeC(0x00); // c5 // writeC(0x00); // c5
} }
} }
} }

View File

@@ -16,37 +16,21 @@
*/ */
package org.l2jmobius.gameserver.network.serverpackets; package org.l2jmobius.gameserver.network.serverpackets;
import org.l2jmobius.gameserver.model.clan.Clan;
public class ManagePledgePower extends GameServerPacket public class ManagePledgePower extends GameServerPacket
{ {
private final int _action; private final int _privs;
private final Clan _clan;
private final int _rank;
public ManagePledgePower(Clan clan, int action, int rank) public ManagePledgePower(int privs)
{ {
_clan = clan; _privs = privs;
_action = action;
_rank = rank;
} }
@Override @Override
protected final void writeImpl() protected final void writeImpl()
{ {
int privs = 0;
if (_action == 1)
{
privs = _clan.getRankPrivs(_rank);
}
else
{
return;
}
writeC(0x30); writeC(0x30);
writeD(0); writeD(0);
writeD(0); writeD(0);
writeD(privs); writeD(_privs);
} }
} }

View File

@@ -36,7 +36,10 @@ public class MoveToPawn extends GameServerPacket
private final int _x; private final int _x;
private final int _y; private final int _y;
private final int _z; private final int _z;
private final int _tx;
private final int _ty;
private final int _tz;
public MoveToPawn(Creature creature, Creature target, int distance) public MoveToPawn(Creature creature, Creature target, int distance)
{ {
_objectId = creature.getObjectId(); _objectId = creature.getObjectId();
@@ -45,6 +48,9 @@ public class MoveToPawn extends GameServerPacket
_x = creature.getX(); _x = creature.getX();
_y = creature.getY(); _y = creature.getY();
_z = creature.getZ(); _z = creature.getZ();
_tx = target.getX();
_ty = target.getY();
_tz = target.getZ();
} }
@Override @Override
@@ -59,5 +65,8 @@ public class MoveToPawn extends GameServerPacket
writeD(_x); writeD(_x);
writeD(_y); writeD(_y);
writeD(_z); writeD(_z);
writeD(_tx);
writeD(_ty);
writeD(_tz);
} }
} }

View File

@@ -24,6 +24,10 @@ public class SpecialCamera extends GameServerPacket
private final int _pitch; private final int _pitch;
private final int _time; private final int _time;
private final int _duration; private final int _duration;
private final int _turn;
private final int _rise;
private final int _widescreen;
private final int _unknown;
public SpecialCamera(int id, int dist, int yaw, int pitch, int time, int duration) public SpecialCamera(int id, int dist, int yaw, int pitch, int time, int duration)
{ {
@@ -33,6 +37,24 @@ public class SpecialCamera extends GameServerPacket
_pitch = pitch; _pitch = pitch;
_time = time; _time = time;
_duration = duration; _duration = duration;
_turn = 0;
_rise = 0;
_widescreen = 0;
_unknown = 0;
}
public SpecialCamera(int id, int dist, int yaw, int pitch, int time, int duration, int turn, int rise, int widescreen, int unk)
{
_id = id;
_dist = dist;
_yaw = yaw;
_pitch = pitch;
_time = time;
_duration = duration;
_turn = turn;
_rise = rise;
_widescreen = widescreen;
_unknown = unk;
} }
@Override @Override
@@ -45,5 +67,9 @@ public class SpecialCamera extends GameServerPacket
writeD(_pitch); writeD(_pitch);
writeD(_time); writeD(_time);
writeD(_duration); writeD(_duration);
writeD(_turn);
writeD(_rise);
writeD(_widescreen);
writeD(_unknown);
} }
} }