/** * Copyright (C) 2002-2012 The FreeCol Team * * This file is part of FreeCol. * * FreeCol 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. * * FreeCol 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 FreeCol. If not, see <http://www.gnu.org/licenses/>. */ package net.sf.freecol.common.model; /** * Keeps track of the available game options. New options must be * added to the {@link Specification} and each option should be given * an unique identifier (defined as a constant in this class). */ public class GameOptions { /** The amount of money each player will receive before the game starts. */ public static final String STARTING_MONEY = "model.option.startingMoney"; /** The penalty applied to trading with the natives from a ship. */ public static final String SHIP_TRADE_PENALTY = "model.option.shipTradePenalty"; /** Enables/disables fog of war. */ public static final String FOG_OF_WAR = "model.option.fogOfWar"; /** The cost of a single hammer when buying a building in a colony. */ //Unused at the moment // public static final String HAMMER_PRICE = "hammerPrice"; /** Does the Custom House sell boycotted goods **/ public static final String CUSTOM_IGNORE_BOYCOTT = "model.option.customIgnoreBoycott"; /** Whether experts have connections, producing without raw materials in factories */ public static final String EXPERTS_HAVE_CONNECTIONS = "model.option.expertsHaveConnections"; public static final String SAVE_PRODUCTION_OVERFLOW = "model.option.saveProductionOverflow"; /** Whether to award exploration points or not. */ public static final String EXPLORATION_POINTS = "model.option.explorationPoints"; /** * Victory condition: Should the <code>Player</code> who first defeats the * Royal Expeditionary Force win the game? */ public static final String VICTORY_DEFEAT_REF = "model.option.victoryDefeatREF"; /** * Victory condition: Should a <code>Player</code> who first defeats all * other european players win the game? */ public static final String VICTORY_DEFEAT_EUROPEANS = "model.option.victoryDefeatEuropeans"; /** * Victory condition: Should a <code>Player</code> who first defeats all * other human players win the game? */ public static final String VICTORY_DEFEAT_HUMANS = "model.option.victoryDefeatHumans"; /** * Whether to educate the least skilled unit first. This is the * behaviour of the original game and disallows manually assigning * students to teachers. */ public static final String ALLOW_STUDENT_SELECTION = "model.option.allowStudentSelection"; /** * The year in which the game starts. At the moment, changing this * value only shortens the game. In future, it might cause the map * generator to create foreign colonies. */ public static final String STARTING_YEAR = "model.option.startingYear"; /** * The first year in which there are two seasons. Changing this * value influences the duration of the game. */ public static final String SEASON_YEAR = "model.option.seasonYear"; /** * The year in which owning at least one colony becomes mandatory. */ public static final String MANDATORY_COLONY_YEAR = "model.option.mandatoryColonyYear"; /** * The very last year of the game. */ public static final String LAST_YEAR = "model.option.lastYear"; /** * The last year of the game for colonial players. In other words, * if a colonial player does not declare independence by the end * of this year, the game is lost. */ public static final String LAST_COLONIAL_YEAR = "model.option.lastColonialYear"; /** * How to determine the starting positions of European players. */ public static final String STARTING_POSITIONS = "model.option.startingPositions"; public static final int STARTING_POSITIONS_CLASSIC = 0; public static final int STARTING_POSITIONS_RANDOM = 1; public static final int STARTING_POSITIONS_HISTORICAL = 2; /** * Do missionaries provide extra benefits. */ public static final String ENHANCED_MISSIONARIES = "model.option.enhancedMissionaries"; /** * Does the REF "teleport" to its first target. */ public static final String TELEPORT_REF = "model.option.teleportREF"; }