Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * 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 com.l2jserver.gameserver.handler.voicedcommandhandlers;
- import l2ft.commons.util.Rnd;
- import com.l2jserver.gameserver.handler.IVoicedCommandHandler;
- import com.l2jserver.gameserver.model.Elementals;
- import com.l2jserver.gameserver.model.L2ItemInstance;
- import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
- import com.l2jserver.gameserver.model.itemcontainer.Inventory;
- import com.l2jserver.gameserver.network.serverpackets.CharInfo;
- import com.l2jserver.gameserver.network.serverpackets.ExBrExtraUserInfo;
- import com.l2jserver.gameserver.network.serverpackets.InventoryUpdate;
- import com.l2jserver.gameserver.network.serverpackets.UserInfo;
- /**
- * @author Vampir
- * @version 2
- *
- */
- public class Beta implements IVoicedCommandHandler
- {
- private static final String[] VOICED_COMMANDS =
- {
- "dark", "earth", "fire", "holy", "water", "wind", "beta"
- };
- private static final int[] _onlyEnchantedParts = {Inventory.PAPERDOLL_CLOAK, Inventory.PAPERDOLL_RHAND,
- Inventory.PAPERDOLL_LHAND, Inventory.PAPERDOLL_LEAR, Inventory.PAPERDOLL_REAR, Inventory.PAPERDOLL_LFINGER,
- Inventory.PAPERDOLL_RFINGER, Inventory.PAPERDOLL_NECK, Inventory.PAPERDOLL_UNDER, Inventory.PAPERDOLL_BELT};
- private static final int[] _enchantedAndAttributed = {Inventory.PAPERDOLL_HEAD, Inventory.PAPERDOLL_CHEST,
- Inventory.PAPERDOLL_GLOVES, Inventory.PAPERDOLL_FEET};
- private static final String[] _possibilities = {"dark", "earth", "fire", "holy", "water", "wind"};
- @Override
- public boolean useVoicedCommand(String command, L2PcInstance activeChar, String name)
- {
- if (command.startsWith("beta"))
- {
- for(int part : _onlyEnchantedParts)
- if(activeChar.getInventory().getPaperdollItem(part) != null)
- handleOnlyEnchanted(activeChar, part);
- for(int part : _enchantedAndAttributed)
- if(activeChar.getInventory().getPaperdollItem(part) != null)
- handleEnchantAndAttribute(activeChar, part);
- activeChar.sendPacket(iu);
- activeChar.broadcastPacket(new CharInfo(activeChar));
- activeChar.sendPacket(new UserInfo(activeChar));
- activeChar.broadcastPacket(new ExBrExtraUserInfo(activeChar));
- }
- else
- handleWeapon(activeChar, command);
- return false;
- }
- private static void handleWeapon(L2PcInstance activeChar, String type)
- {
- L2ItemInstance item = activeChar.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND);
- activeChar.getInventory().unEquipItem(item);
- item.clearElementAttr((byte) -1);
- item.setElementAttr(Elementals.getElementId(type), 450);
- activeChar.getInventory().equipItem(item);
- }
- private static void handleEnchantAndAttribute(L2PcInstance activeChar, int bodySlot)
- {
- InventoryUpdate iu = new InventoryUpdate();
- L2ItemInstance item = activeChar.getInventory().getPaperdollItem(bodySlot);
- activeChar.getInventory().unEquipItem(item);
- item.setEnchantLevel(30);
- item.clearElementAttr((byte) -1);
- for(int i = 0;i<3;i++)
- item.setElementAttr(Elementals.getElementId(Rnd.get(_possibilities)), 450);
- activeChar.getInventory().equipItem(item);
- iu.addModifiedItem(item);
- }
- private void handleOnlyEnchanted(L2PcInstance activeChar, int bodySlot)
- {
- InventoryUpdate iu = new InventoryUpdate();
- L2ItemInstance itemInstance = activeChar.getInventory().getPaperdollItem(bodySlot);
- itemInstance = activeChar.getInventory().getPaperdollItem(Inventory.PAPERDOLL_CLOAK);
- itemInstance.setEnchantLevel(30);
- itemInstance.clearElementAttr((byte) -1);
- // send packets
- iu.addModifiedItem(itemInstance);
- }
- @Override
- public String[] getVoicedCommandList()
- {
- return VOICED_COMMANDS;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment