Package com.l2jfrozen.gameserver.handler.admincommandhandlers

Source Code of com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminPetition

/*
* 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 2, 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* http://www.gnu.org/copyleft/gpl.html
*/
package com.l2jfrozen.gameserver.handler.admincommandhandlers;

import java.util.StringTokenizer;

import com.l2jfrozen.gameserver.handler.IAdminCommandHandler;
import com.l2jfrozen.gameserver.managers.PetitionManager;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfrozen.gameserver.network.SystemMessageId;
import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage;

/**
* This class handles commands for GMs to respond to petitions.
*
* @author Tempy
*/
public class AdminPetition implements IAdminCommandHandler
{
  private static final String[] ADMIN_COMMANDS =
  {
      "admin_view_petitions", "admin_view_petition", "admin_accept_petition", "admin_reject_petition", "admin_reset_petitions"
  };

  private enum CommandEnum
  {
    admin_view_petitions,
    admin_view_petition,
    admin_accept_petition,
    admin_reject_petition,
    admin_reset_petitions
  }
 
  @Override
  public boolean useAdminCommand(String command, L2PcInstance activeChar)
  {
    StringTokenizer st = new StringTokenizer(command);
   
    CommandEnum comm = CommandEnum.valueOf(st.nextToken());
   
    if(comm == null)
      return false;
   
    switch(comm)
    {
      case admin_view_petitions:{
        PetitionManager.getInstance().sendPendingPetitionList(activeChar);
        return true;
      }
      case admin_view_petition:{
       
        int petitionId = -1;

        if(st.hasMoreTokens()){
         
          try
          {
            petitionId = Integer.parseInt(st.nextToken());
          }
          catch(Exception e)
          {
            activeChar.sendMessage("Usage: //admin_view_petition petition_id");
            return false;
          }
         
        }
       
        PetitionManager.getInstance().viewPetition(activeChar, petitionId);
        return true;
       
      }
      case admin_accept_petition:{
       
       
        if(PetitionManager.getInstance().isPlayerInConsultation(activeChar))
        {
          activeChar.sendPacket(new SystemMessage(SystemMessageId.ONLY_ONE_ACTIVE_PETITION_AT_TIME));
          return true;
        }
       
        int petitionId = -1;

        if(st.hasMoreTokens()){
         
          try
          {
            petitionId = Integer.parseInt(st.nextToken());
          }
          catch(Exception e)
          {
            activeChar.sendMessage("Usage: //admin_accept_petition petition_id");
            return false;
          }
         
        }
       
        if(PetitionManager.getInstance().isPetitionInProcess(petitionId))
        {
          activeChar.sendPacket(new SystemMessage(SystemMessageId.PETITION_UNDER_PROCESS));
          return true;
        }

        if(!PetitionManager.getInstance().acceptPetition(activeChar, petitionId))
        {
          activeChar.sendPacket(new SystemMessage(SystemMessageId.NOT_UNDER_PETITION_CONSULTATION));
          return false;
        }
        return true;
      }
      case admin_reject_petition:{
       
        int petitionId = -1;

        if(st.hasMoreTokens()){
         
          try
          {
            petitionId = Integer.parseInt(st.nextToken());
          }
          catch(Exception e)
          {
            activeChar.sendMessage("Usage: //admin_reject_petition petition_id");
            return false;
          }
         
        }
       
        if(!PetitionManager.getInstance().rejectPetition(activeChar, petitionId))
        {
          activeChar.sendPacket(new SystemMessage(SystemMessageId.FAILED_CANCEL_PETITION_TRY_LATER));
          return false;
        }
        return true;
       
      }
      case admin_reset_petitions:
      {
        if(PetitionManager.getInstance().isPetitionInProcess())
        {
          activeChar.sendPacket(new SystemMessage(SystemMessageId.PETITION_UNDER_PROCESS));
          return false;
        }

        PetitionManager.getInstance().clearPendingPetitions();
        return true;
      }
    }
    return false;
  }

  @Override
  public String[] getAdminCommandList()
  {
    return ADMIN_COMMANDS;
  }

}
TOP

Related Classes of com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminPetition

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.