curHex.removeTerrain(Terrains.BUILDING); curHex.removeTerrain(Terrains.BLDG_CF); curHex.removeTerrain(Terrains.BLDG_ELEV); curHex.removeTerrain(Terrains.FUEL_TANK); curHex.removeTerrain(Terrains.FUEL_TANK_CF); curHex.removeTerrain(Terrains.FUEL_TANK_ELEV); curHex.removeTerrain(Terrains.FUEL_TANK_MAGN); curHex.removeTerrain(Terrains.BRIDGE); curHex.removeTerrain(Terrains.BRIDGE_CF); curHex.removeTerrain(Terrains.BRIDGE_ELEV); curHex.removeTerrain(Terrains.BLDG_BASEMENT_TYPE);
errBuff.append(excep.getMessage() + "\n"); curHex.removeTerrain(Terrains.BUILDING); errBuff.append(excep.getMessage() + "\n"); curHex.removeTerrain(Terrains.FUEL_TANK); errBuff.append(excep.getMessage() + "\n"); curHex.removeTerrain(Terrains.BRIDGE);
ITerrain toRemove = Terrains.getTerrainFactory().createTerrain( lisTerrain.getSelectedValue()); curHex.removeTerrain(toRemove.getType()); refreshTerrainList(); repaintWorkingHex();
private void addRoad(IHex hex, int exitDirection, int type) { ITerrainFactory tf = Terrains.getTerrainFactory(); if (hex.containsTerrain(Terrains.WATER)) { hex.removeTerrain(Terrains.WATER); hex.addTerrain(tf.createTerrain(Terrains.WATER, 0)); type = 1; } hex.addTerrain(tf.createTerrain(Terrains.ROAD, type, true, (1 << exitDirection) & 63)); }
/** * Returns a list of orthographic images to be tiled above the hex. As noted * above, all matches must be 1.0, and if such a match is achieved, all terrain * elements from the tileset hex are removed from the hex. Thus you want to pass * a copy of the original to this function. */ private List<Image> orthoFor(IHex hex, Component comp) { ArrayList<Image> matches = new ArrayList<Image>(); // find orthographic image matches for (HexEntry entry : orthos) { if (orthoMatch(hex, entry.getHex()) >= 1.0) { Image img = entry.getImage(comp, hex.getCoords().hashCode()); if (img != null) { matches.add(img); } else { matches.add(ImageUtil.createAcceleratedImage(HEX_W, HEX_H)); } // remove involved terrain from consideration for (int terr : entry.getHex().getTerrainTypes()) { if (entry.getHex().containsTerrain(terr)) { hex.removeTerrain(terr); } } } } return matches; }
/** * Returns a list of images to be superimposed on the hex. As noted above, all * matches must be 1.0, and if such a match is achieved, all terrain elements * from the tileset hex are removed from the hex. Thus you want to pass a copy * of the original to this function. */ private List<Image> supersFor(IHex hex, Component comp) { ArrayList<Image> matches = new ArrayList<Image>(); // find superimposed image matches for (HexEntry entry : supers) { if (superMatch(hex, entry.getHex()) >= 1.0) { Image img = entry.getImage(comp, hex.getCoords().hashCode()); if (img != null) { matches.add(img); } else { matches.add(ImageUtil.createAcceleratedImage(HEX_W, HEX_H)); } // remove involved terrain from consideration for (int terr : entry.getHex().getTerrainTypes()) { if (entry.getHex().containsTerrain(terr)) { hex.removeTerrain(terr); } } } } return matches; }
hex.removeTerrain(Terrains.ELEVATOR); hex.addTerrain(tf.createTerrain(Terrains.ELEVATOR, elevation, true, terr.getExits()));
r.add(g.position.getBoardNum()); vPhaseReport.add(r); hex.removeTerrain(Terrains.GEYSER); hex.addTerrain(tf.createTerrain(Terrains.GEYSER, 1)); server.getHexUpdateSet().add(g.position); r.add(g.position.getBoardNum()); vPhaseReport.add(r); hex.removeTerrain(Terrains.GEYSER); hex.addTerrain(tf.createTerrain(Terrains.GEYSER, 2)); server.getHexUpdateSet().add(g.position);
/** * Check to see if screen clears */ private void resolveScreen() { IBoard board = game.getBoard(); int width = board.getWidth(); int height = board.getHeight(); // Cycle through all hexes, checking for screens debugTime("resolve screen 1", true); for (int currentXCoord = 0; currentXCoord < width; currentXCoord++ ) { for (int currentYCoord = 0; currentYCoord < height; currentYCoord++) { Coords currentCoords = new Coords(currentXCoord, currentYCoord); IHex currentHex = board.getHex(currentXCoord, currentYCoord); // check for existence of screen if (currentHex.containsTerrain(Terrains.SCREEN)){ if(Compute.d6(2)>6) { Report r = new Report(9075, Report.PUBLIC); r.add(currentCoords.getBoardNum()); vPhaseReport.addElement(r); currentHex.removeTerrain(Terrains.SCREEN); server.getHexUpdateSet().add(currentCoords); } } } } debugTime("resolve screen 1 end", true); }
if (modifier != 0) { level -= modifier; field.removeTerrain(Terrains.WATER); if (level > 0) { field.addTerrain(f.createTerrain(Terrains.WATER, field.removeTerrain(Terrains.SWAMP); if (field.terrainsPresent() == 0) { if (Compute.randomInt(100) < 30) {
/** * Creates the Smoke Terrain Markers. * @param cloud */ public void createSmokeTerrain(SmokeCloud cloud){ for( Coords coords : cloud.getCoordsList() ){ IHex smokeHex = game.getBoard().getHex(coords); if (smokeHex != null ){ if (smokeHex.containsTerrain(Terrains.SMOKE)) { if (smokeHex.terrainLevel(Terrains.SMOKE) == SmokeCloud.SMOKE_LIGHT) { smokeHex.removeTerrain(Terrains.SMOKE); smokeHex.addTerrain(Terrains.getTerrainFactory() .createTerrain(Terrains.SMOKE, SmokeCloud.SMOKE_HEAVY)); server.getHexUpdateSet().add(coords); } } else if (cloud.getSmokeLevel() > SmokeCloud.SMOKE_NONE) { smokeHex.addTerrain(Terrains.getTerrainFactory() .createTerrain(Terrains.SMOKE, cloud.getSmokeLevel())); server.getHexUpdateSet().add(coords); } } } }
hex.removeTerrain(Terrains.METAL_CONTENT);
/** * Burning woods, with chance to be burnt down already */ protected static void postProcessForestFire(IHex[] hexSet, int modifier) { int n; IHex field; int level, newlevel; int severity; ITerrainFactory f = Terrains.getTerrainFactory(); for (n = 0; n < hexSet.length; n++) { field = hexSet[n]; level = field.terrainLevel(Terrains.WOODS); if (level != ITerrain.LEVEL_NONE) { severity = Compute.randomInt(5) - 2 + modifier; newlevel = level - severity; if (newlevel <= level) { field.removeTerrain(Terrains.WOODS); if (newlevel <= 0) { field.addTerrain(f.createTerrain(Terrains.ROUGH, 1)); } else { field.addTerrain(f.createTerrain(Terrains.WOODS, newlevel)); field.addTerrain(f.createTerrain(Terrains.FIRE, 1)); } } } } }
field = hexSet[n]; if (field.containsTerrain(Terrains.SWAMP)) { field.removeTerrain(Terrains.SWAMP); // any swamps are dried if (level != ITerrain.LEVEL_NONE) { newlevel = level - severity; field.removeTerrain(Terrains.WATER); if (newlevel == 0) { field.addTerrain(f.createTerrain(Terrains.SWAMP, 1));
vPhaseReport.add(r); game.getBoard().getHex(target.getPosition()) .removeTerrain(Terrains.FIRE); server.sendChangedHex(target.getPosition()); game.getBoard().removeInfernoFrom(target.getPosition());
currentHex.removeTerrain(Terrains.SWAMP); currentHex.addTerrain(Terrains.getTerrainFactory().createTerrain(Terrains.SWAMP, 3)); server.getHexUpdateSet().add(currentCoords);
hex.addTerrain(tf.createTerrain(Terrains.MUD, 1)); if(hex.containsTerrain(Terrains.WATER)) { hex.removeTerrain(Terrains.WATER); hex.addTerrain(tf.createTerrain(Terrains.MUD, 1)); if(hex.containsTerrain(Terrains.WATER)) { hex.removeTerrain(Terrains.WATER); hex.removeTerrain(Terrains.WATER);
== Terrains.FIRE_LVL_INFERNO) { currentHex.removeTerrain(Terrains.FIRE); currentHex.addTerrain(tf.createTerrain(Terrains.FIRE,1)); server.getHexUpdateSet().add(currentCoords); && currentHex.containsTerrain(Terrains.FIRE) && currentHex.getFireTurn() == 3) { currentHex.removeTerrain(Terrains.SNOW); if(!currentHex.containsTerrain(Terrains.MUD) && !currentHex.containsTerrain(Terrains.WATER)) { && currentHex.containsTerrain(Terrains.FIRE) && currentHex.getFireTurn() == 1) { currentHex.removeTerrain(Terrains.SNOW); if(!currentHex.containsTerrain(Terrains.MUD) && !currentHex.containsTerrain(Terrains.WATER)) { && currentHex.containsTerrain(Terrains.FIRE) && currentHex.getFireTurn() == 2) { currentHex.removeTerrain(Terrains.ICE); if(!currentHex.containsTerrain(Terrains.MUD) && !currentHex.containsTerrain(Terrains.WATER)) {