/** * Returns true if the supplied ECMInfo is opposed to this one. * @param other * @return */ public boolean isOpposed(IPlayer other) { return (owner == null) || (other == null) || owner.isEnemyOf(other); }
/** * cycle through players team and select the best initiative * take negatives only if the current bonus is zero */ public int getTotalInitBonus(boolean bInitiativeCompensationBonus) { int turnb = 0; int constantb = Integer.MIN_VALUE; int commandb = Integer.MIN_VALUE; constantb = Integer.MIN_VALUE; for (IPlayer player : getPlayersVector()) { turnb += player.getTurnInitBonus(); if (player.getCommandBonus() > commandb) { commandb = player.getCommandBonus(); } if (player.getConstantInitBonus() > constantb) { constantb = player.getConstantInitBonus(); } } return constantb + turnb + commandb + getInitCompensationBonus(bInitiativeCompensationBonus); }
/** * Determines whether this special hex should be obscurred from the given * <code>IPlayer</code>. * * @param other * @return */ public boolean isObscured(IPlayer other) { if (obscured == SHD_OBSCURED_OWNER && other != null && owner.equals(other)){ return false; } else if (obscured == SHD_OBSCURED_TEAM && other != null && owner.getTeam() == other.getTeam()){ return false; } else if (obscured == SHD_OBSCURED_ALL){ return false; } return true; }
public int getFriendlyBV(IGame game, IPlayer player) { int ret = 0; for (IPlayer other : game.getPlayersVector()) { if (other.isObserver()) continue; if (!other.isEnemyOf(player)) { ret += other.getBV(); } } return ret; }
Thread.sleep(campaign.getCampaignOptions().getStartGameDelay()); botClient.getLocalPlayer().setTeam(botForce.getTeam()); botClient.getLocalPlayer().setStartingPos(botForce.getStart()); botClient.getLocalPlayer().setColorIndex(botForce.getColorIndex()); botClient.getLocalPlayer().setCamoCategory(botForce.getCamoCategory()); botClient.getLocalPlayer().setCamoFileName(botForce.getCamoFileName());
if (player.isObserver()) continue; int ebv = 0; int eibv = 0; int team = player.getTeam(); if (team != IPlayer.TEAM_NONE) { if (doneTeams.contains(team)) victory = true; if (team == IPlayer.TEAM_NONE) { r.add(player.getName()); vr.addPlayerScore(player.getId(), 1.0); } else { r.add("Team " + team);
Mockito.when(mockHumanPlayerDave.getName()).thenReturn("Dave"); Mockito.when(mockHumanPlayerDave.isEnemyOf(mockBotPlayerHal)).thenReturn(true); Mockito.when(mockHumanPlayerDave.isEnemyOf(mockBotPlayerVGer)).thenReturn(false); Mockito.when(mockHumanPlayerDave.isEnemyOf(mockHumanPlayerDave)).thenReturn(false); Mockito.when(mockHumanPlayerDave.isEnemyOf(mockHumanPlayerKirk)).thenReturn(true); Mockito.when(mockHumanPlayerDave.getTeam()).thenReturn(1); Mockito.when(mockHumanPlayerKirk.getName()).thenReturn("Kirk"); Mockito.when(mockHumanPlayerKirk.isEnemyOf(mockBotPlayerHal)).thenReturn(false); Mockito.when(mockHumanPlayerKirk.isEnemyOf(mockBotPlayerVGer)).thenReturn(true); Mockito.when(mockHumanPlayerKirk.isEnemyOf(mockHumanPlayerDave)).thenReturn(true); Mockito.when(mockHumanPlayerKirk.isEnemyOf(mockHumanPlayerKirk)).thenReturn(false); Mockito.when(mockHumanPlayerKirk.getTeam()).thenReturn(2); Mockito.when(mockBotPlayerHal.getName()).thenReturn("Hal"); Mockito.when(mockBotPlayerHal.isEnemyOf(mockBotPlayerHal)).thenReturn(false); Mockito.when(mockBotPlayerHal.isEnemyOf(mockBotPlayerVGer)).thenReturn(true); Mockito.when(mockBotPlayerHal.isEnemyOf(mockHumanPlayerDave)).thenReturn(true); Mockito.when(mockBotPlayerHal.isEnemyOf(mockHumanPlayerKirk)).thenReturn(false); Mockito.when(mockBotPlayerHal.getTeam()).thenReturn(2); Mockito.when(mockBotPlayerVGer.getName()).thenReturn("V'Ger"); Mockito.when(mockBotPlayerVGer.isEnemyOf(mockBotPlayerHal)).thenReturn(true); Mockito.when(mockBotPlayerVGer.isEnemyOf(mockBotPlayerVGer)).thenReturn(false); Mockito.when(mockBotPlayerVGer.isEnemyOf(mockHumanPlayerDave)).thenReturn(false); Mockito.when(mockBotPlayerVGer.isEnemyOf(mockHumanPlayerKirk)).thenReturn(true); Mockito.when(mockBotPlayerVGer.getTeam()).thenReturn(1);
Mockito.when(mockPlayer1.getConstantInitBonus()).thenReturn(0); Mockito.when(mockPlayer1.getTurnInitBonus()).thenReturn(0); Mockito.when(mockPlayer1.getInitCompensationBonus()).thenReturn(0); Mockito.when(mockPlayer1.getCommandBonus()).thenReturn(0); Mockito.when(mockPlayer2.getConstantInitBonus()).thenReturn(0); Mockito.when(mockPlayer2.getTurnInitBonus()).thenReturn(0); Mockito.when(mockPlayer2.getInitCompensationBonus()).thenReturn(0); Mockito.when(mockPlayer2.getCommandBonus()).thenReturn(0); Mockito.when(mockPlayer2.getConstantInitBonus()).thenReturn(0); Mockito.when(mockPlayer2.getTurnInitBonus()).thenReturn(0); Mockito.when(mockPlayer2.getInitCompensationBonus()).thenReturn(0); Mockito.when(mockPlayer2.getCommandBonus()).thenReturn(0); Mockito.when(mockPlayer1.getConstantInitBonus()).thenReturn(-1); Mockito.when(mockPlayer2.getConstantInitBonus()).thenReturn(-2); Mockito.when(mockPlayer3.getConstantInitBonus()).thenReturn(-3); initBonus = testTeam.getTotalInitBonus(useInitCompBonus); Assert.assertEquals(-1, initBonus); Mockito.when(mockPlayer1.getConstantInitBonus()).thenReturn(0); initBonus = testTeam.getTotalInitBonus(useInitCompBonus); Assert.assertEquals(0, initBonus); Mockito.when(mockPlayer1.getConstantInitBonus()).thenReturn(1); initBonus = testTeam.getTotalInitBonus(useInitCompBonus); Assert.assertEquals(1, initBonus);
private void reset(int connId) { IPlayer 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() == IPlayer.TEAM_NONE) { server.sendServerChat(getDeclareIndividual(player.getName())); } else { server.sendServerChat(getDeclareTeam(player.getName())); } server.forceVictory(player); }
boolean shouldBotAcknowledgeDefeat(String message, BotClient bot) { boolean result = false; if (!StringUtil.isNullOrEmpty(message) && (message.contains("declares individual victory at the end of the turn.") || message.contains("declares team victory at the end of the turn."))) { String[] splitMessage = message.split(" "); int i = 1; String name = splitMessage[i]; while (!splitMessage[i + 1].equals("declares")) { name += " " + splitMessage[i + 1]; i++; } for (IPlayer p : bot.getGame().getPlayersVector()) { if (p.getName().equals(name)) { if (p.isEnemyOf(bot.getLocalPlayer())) { bot.sendChat("/defeat"); result = true; } break; } } } return result; }
private void refreshValues() { IPlayer player = client.getLocalPlayer(); texInit.setText(Integer.toString(player.getConstantInitBonus())); fldConventional.setText(Integer.toString(player.getNbrMFConventional())); fldVibrabomb.setText(Integer.toString(player.getNbrMFVibra())); fldActive.setText(Integer.toString(player.getNbrMFActive())); fldInferno.setText(Integer.toString(player.getNbrMFInferno())); }
IPlayer player = players.get(i); if (player.getId() != victoryPlayerId && !player.isObserver()) { if (!player.admitsDefeat()) { forceVictory = false; break; IPlayer player = players.get(i); if (player.getTeam() != victoryTeam && !player.isObserver()) { if (!player.admitsDefeat()) { forceVictory = false; break;
@Override public void run(int connId, String[] args) { boolean suppressEnemyBV = server.getGame().getOptions() .booleanOption(OptionsConstants.ADVANCED_SUPPRESS_DB_BV) && server.getGame().getOptions().booleanOption(OptionsConstants.ADVANCED_DOUBLE_BLIND); // Connection Ids match player Ids IPlayer requestingPlayer = server.getGame().getPlayer(connId); server.sendServerChat(connId, "Remaining BV:"); for (Enumeration<IPlayer> i = server.getGame().getPlayers(); i .hasMoreElements();) { IPlayer player = i.nextElement(); StringBuffer cb = new StringBuffer(); double percentage = 0; if (player.getInitialBV() != 0) { percentage = ((player.getBV() + 0.0) / player.getInitialBV()) * 100; } cb.append(player.getName()).append(": "); if (suppressEnemyBV && player.isEnemyOf(requestingPlayer)) { cb.append(" Enemy BV suppressed"); } else { cb.append(player.getBV()).append("/").append(player.getInitialBV()); cb.append(String.format(" (%1$3.2f%%)",percentage)); } server.sendServerChat(connId, cb.toString()); } server.sendServerChat(connId, "end list"); }
@Override public Object getValueAt(int row, int col) { IPlayer player = getPlayerAt(row); boolean blindDrop = !player.equals(clientgui.getClient().getLocalPlayer()) && clientgui.getClient() .getGame().getOptions().booleanOption(OptionsConstants.BASE_REAL_BLIND_DROP); if (col == COL_BV) { return player.getName(); } else if (col == COL_START) { return IStartingPositions.START_LOCATION_NAMES[player.getStartingPos()]; } else if (col == COL_TON) { double ton = tons.get(row); return player.getTeam();
if (p.isObserver()) { for (IPlayer other : entityDetectedBy) { if (other.isEnemyOf(getOwner())) { return true; if ((teammate.getTeam() == p.getTeam()) && entityDetectedBy.contains(teammate)) { return true;
private void load(File f, int connId) { server.sendServerChat(server.getPlayer(connId).getName() + " loaded a new game."); // Keep track of the current id to name mapping Map<String, Integer> nameToIdMap = new HashMap<>(); Map<Integer, String> idToNameMap = new HashMap<>(); for (IPlayer p: server.getGame().getPlayersVector()) { nameToIdMap.put(p.getName(), p.getId()); idToNameMap.put(p.getId(), p.getName()); } if(!server.loadGame(f, false)) { server.sendServerChat(f.getName() + " could not be loaded"); } else { server.remapConnIds(nameToIdMap, idToNameMap); // update all the clients with the new game info Enumeration<IConnection> connEnum = server.getConnections(); while (connEnum.hasMoreElements()) { IConnection conn = connEnum.nextElement(); server.sendCurrentInfo(conn.getId()); } } }
public int getId() { // If Team Initiative is not turned on, id will be 0 for all teams, // however the players accurately store their team id if (players.size() > 0) { return players.get(0).getTeam(); } else { return id; } }
server.sendServerChat(connId, "No such entity"); else if(ent.getOwner().getId() != connId) { server.sendServerChat(connId, "You must own an entity to make it switch sides."); server.sendServerChat(connId, "No such player"); else if(player.getTeam() == IPlayer.TEAM_UNASSIGNED) { server.sendServerChat(connId, "Player must be assigned a team!"); server.sendServerChat(connId, ent.getDisplayName() + " will switch to " + player.getName() + "'s side at the end of this turn."); ent.setTraitorId(pid);
private void parseCamo(IPlayer player, String camoString) throws ScenarioLoaderException { String[] camoData = camoString.split(SEPARATOR_COMMA, -1); String camoGroup = getValidCamoGroup(camoData[0]); if(null == camoGroup) { throw new ScenarioLoaderException("invalidFactionCamoGroup", //$NON-NLS-1$ camoData[0], player.getName()); } String camoName = getValidCamoName(camoGroup, camoData[1]); if(null == camoName) { throw new ScenarioLoaderException("invalidFactionCamoName", //$NON-NLS-1$ camoData[1], camoGroup, player.getName()); } player.setCamoCategory(camoGroup); player.setCamoFileName(camoName); }