Package megamek.server.commands

Source Code of megamek.server.commands.VictoryCommand

/*
* MegaMek - Copyright (C) 2000-2002 Ben Mazur (bmazur@sev.org)
*
*  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 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.
*/

/*
* VictoryCommand.java
*
* Created on July 11, 2002, 2:24 PM
*/

package megamek.server.commands;

import megamek.common.Player;
import megamek.server.Server;

/**
* Causes automatic victory at the end of the current turn.
*
* @author Ben
* @version
*/
public class VictoryCommand extends ServerCommand {

    /** Creates new VictoryCommand */
    public VictoryCommand(Server server) {
        super(
                server,
                "victory",
                "Causes automatic victory for the issuing player or his/her team at the end of this turn. Must be acknowledged by all opponents using the /defeat command. Usage: /victory <password>");
    }

    /**
     * Run this command with the arguments supplied
     */
    public void run(int connId, String[] args) {
        if (!canRunRestrictedCommand(connId)) {
            server.sendServerChat(connId,
                    "Observers are restricted from declaring victory.");
            return;
        }

        if (!server.isPassworded()
                || (args.length > 1 && server.isPassword(args[1]))) {
            reset(connId);
        } else {
            server.sendServerChat(connId,
                    "The password is incorrect.  Usage: /victory <password>");
        }
    }

    private void reset(int connId) {
        Player player = server.getPlayer(connId);
        /*
         * // are we cancelling victory? if (server.getGame().isForceVictory()) {
         * server.sendServerChat(player.getName() + " cancels the force
         * victory."); server.cancelVictory(); return; }
         */// okay, declare force victory
        if (player.getTeam() == Player.TEAM_NONE) {
            server
                    .sendServerChat(player.getName()
                            + " declares individual victory at the end of the turn. This must be acknowledged by all opponents using the /defeat command or no victory will occur.");
        } else {
            server
                    .sendServerChat(player.getName()
                            + " declares team victory at the end of the turn. This must be acknowledged by all opponents using the /defeat command or no victory will occur.");
        }
        server.forceVictory(player);
    }

}
TOP

Related Classes of megamek.server.commands.VictoryCommand

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.