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

View File

@ -70,6 +70,6 @@ public class RequestJoinAlly extends GameClientPacket
sm.addString(player.getClan().getAllyName());
sm.addString(player.getName());
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
{
private int _target;
private int _pledgeType;
// private int _pledgeType;
@Override
protected void readImpl()
{
_target = readD();
_pledgeType = readD();
// _pledgeType = readD();
}
@Override
@ -51,7 +51,7 @@ public class RequestJoinPledge extends GameClientPacket
final PlayerInstance target = (PlayerInstance) World.getInstance().findObject(_target);
final Clan clan = player.getClan();
if (!clan.checkClanJoinCondition(player, target, _pledgeType))
if (!clan.checkClanJoinCondition(player, target, 0))
{
return;
}
@ -66,6 +66,6 @@ public class RequestJoinPledge extends GameClientPacket
public int getPledgeType()
{
return _pledgeType;
return 0;
}
}

View File

@ -16,26 +16,22 @@
*/
package org.l2jmobius.gameserver.network.clientpackets;
import java.util.logging.Logger;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
import org.l2jmobius.gameserver.network.serverpackets.ManagePledgePower;
public class RequestPledgePower extends GameClientPacket
{
static Logger LOGGER = Logger.getLogger(RequestPledgePower.class.getName());
private int _rank;
private int _clanMemberId;
private int _action;
private int _privs;
@Override
protected void readImpl()
{
_rank = readD();
_clanMemberId = readD();
_action = readD();
if (_action == 2)
if (_action == 3)
{
_privs = readD();
}
@ -54,27 +50,43 @@ public class RequestPledgePower extends GameClientPacket
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)
{
// The rights below cannot be bestowed upon Academy members:
// Join a clan or be dismissed
// Title management, crest management, master management, level management,
// bulletin board administration
// Clan war, right to dismiss, set functions
// Auction, manage taxes, attack/defend registration, mercenary management
// => Leaves only CP_CL_VIEW_WAREHOUSE, CP_CH_OPEN_DOOR, CP_CS_OPEN_DOOR?
_privs = (_privs & Clan.CP_CL_VIEW_WAREHOUSE) + (_privs & Clan.CP_CH_OPEN_DOOR) + (_privs & Clan.CP_CS_OPEN_DOOR);
}
player.getClan().setRankPrivs(_rank, _privs);
member = player.getClan().getClanMember(_clanMemberId).getPlayerInstance();
}
switch (_action)
{
case 1:
{
player.sendPacket(new ManagePledgePower(player.getClanPrivileges()));
break;
}
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
{
private final int _requestorId;
private final String _requestorName;
private final int _requestorObjId;
private final String _requestorAllyName;
/**
* @param requestorObjId
* @param requestorName
*/
public AskJoinAlly(int requestorObjId, String requestorName)
public AskJoinAlly(int requestorId, String requestorName, String requestorAllyName)
{
_requestorId = requestorId;
_requestorName = requestorName;
_requestorObjId = requestorObjId;
_requestorAllyName = requestorAllyName;
}
@Override
protected final void writeImpl()
{
writeC(0xa8);
writeD(_requestorObjId);
writeD(_requestorId);
writeS(_requestorName);
writeS("");
writeS(_requestorAllyName);
}
}

View File

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

View File

@ -156,20 +156,20 @@ public class GMViewCharacterInfo extends GameServerPacket
writeH(_player.getRecomLeft());
writeH(_player.getRecomHave()); // Blue value for name (0 = white, 255 = pure blue)
writeD(_player.getClassId().getId());
writeD(0x00); // special effects? circles around player...
// writeD(0x00); // special effects? circles around player...
writeD(_player.getMaxCp());
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.isHero() ? 0x01 : 0x00);
// writeC(_player.isNoble() ? 0x01 : 0x00);
// writeC(_player.isHero() ? 0x01 : 0x00);
writeD(_player.getAppearance().getNameColor());
writeD(_player.getAppearance().getTitleColor());
// writeD(_player.getAppearance().getNameColor());
// writeD(_player.getAppearance().getTitleColor());
}
}

View File

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

View File

@ -16,37 +16,21 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
import org.l2jmobius.gameserver.model.clan.Clan;
public class ManagePledgePower extends GameServerPacket
{
private final int _action;
private final Clan _clan;
private final int _rank;
private final int _privs;
public ManagePledgePower(Clan clan, int action, int rank)
public ManagePledgePower(int privs)
{
_clan = clan;
_action = action;
_rank = rank;
_privs = privs;
}
@Override
protected final void writeImpl()
{
int privs = 0;
if (_action == 1)
{
privs = _clan.getRankPrivs(_rank);
}
else
{
return;
}
writeC(0x30);
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 _y;
private final int _z;
private final int _tx;
private final int _ty;
private final int _tz;
public MoveToPawn(Creature creature, Creature target, int distance)
{
_objectId = creature.getObjectId();
@ -45,6 +48,9 @@ public class MoveToPawn extends GameServerPacket
_x = creature.getX();
_y = creature.getY();
_z = creature.getZ();
_tx = target.getX();
_ty = target.getY();
_tz = target.getZ();
}
@Override
@ -59,5 +65,8 @@ public class MoveToPawn extends GameServerPacket
writeD(_x);
writeD(_y);
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 _time;
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)
{
@ -33,6 +37,24 @@ public class SpecialCamera extends GameServerPacket
_pitch = pitch;
_time = time;
_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
@ -45,5 +67,9 @@ public class SpecialCamera extends GameServerPacket
writeD(_pitch);
writeD(_time);
writeD(_duration);
writeD(_turn);
writeD(_rise);
writeD(_widescreen);
writeD(_unknown);
}
}