/*
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that
* it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If
* not, see <http://www.gnu.org/licenses/>.
*/
package silentium.scripts.handlers.user;
import silentium.gameserver.handler.IUserCommandHandler;
import silentium.gameserver.model.L2Party;
import silentium.gameserver.model.actor.instance.L2PcInstance;
import silentium.gameserver.network.SystemMessageId;
import silentium.gameserver.network.serverpackets.SystemMessage;
/**
* Support for /partyinfo command Added by Tempy - 28 Jul 05
*/
public class PartyInfo implements IUserCommandHandler {
private static final int[] COMMAND_IDS = { 81 };
@Override
public boolean useUserCommand(final int id, final L2PcInstance activeChar) {
if (id != COMMAND_IDS[0])
return false;
if (!activeChar.isInParty())
return false;
final L2Party playerParty = activeChar.getParty();
final int memberCount = playerParty.getMemberCount();
final int lootDistribution = playerParty.getLootDistribution();
final String partyLeader = playerParty.getPartyMembers().get(0).getName();
activeChar.sendPacket(SystemMessageId.PARTY_INFORMATION);
switch (lootDistribution) {
case L2Party.ITEM_LOOTER:
activeChar.sendPacket(SystemMessageId.LOOTING_FINDERS_KEEPERS);
break;
case L2Party.ITEM_ORDER:
activeChar.sendPacket(SystemMessageId.LOOTING_BY_TURN);
break;
case L2Party.ITEM_ORDER_SPOIL:
activeChar.sendPacket(SystemMessageId.LOOTING_BY_TURN_INCLUDE_SPOIL);
break;
case L2Party.ITEM_RANDOM:
activeChar.sendPacket(SystemMessageId.LOOTING_RANDOM);
break;
case L2Party.ITEM_RANDOM_SPOIL:
activeChar.sendPacket(SystemMessageId.LOOTING_RANDOM_INCLUDE_SPOIL);
break;
}
activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.PARTY_LEADER_S1).addString(partyLeader));
activeChar.sendMessage("Members: " + memberCount + "/9");
activeChar.sendPacket(SystemMessageId.FRIEND_LIST_FOOTER);
return true;
}
@Override
public int[] getUserCommandList() {
return COMMAND_IDS;
}
}