Changeset - r6064:7d713f2cdb52
[Not reviewed]
master
0 1 0
tron - 18 years ago 2007-02-18 08:37:39
tron@openttd.org
(svn r8794) -Fix

Remove the possiblity to take over stations with OWNER_NONE by building a station next to it
-Fix: It was possible to take over buoys by building a station next to them
Also remove the now unnecessary special case which prevented taking over oilrigs
NOTE: 0.5 candidate
1 file changed with 4 insertions and 10 deletions:
0 comments (0 inline, 0 general)
src/station_cmd.cpp
Show inline comments
 
@@ -129,12 +129,6 @@ static Station* GetStationAround(TileInd
 
	BEGIN_TILE_LOOP(tile_cur, w + 2, h + 2, tile - TileDiffXY(1, 1))
 
		if (IsTileType(tile_cur, MP_STATION)) {
 
			StationID t = GetStationIndex(tile_cur);
 
			{
 
				Station *st = GetStation(t);
 
				// you cannot take control of an oilrig!!
 
				if (st->airport_type == AT_OILRIG && st->facilities == (FACIL_AIRPORT|FACIL_DOCK))
 
					continue;
 
			}
 

	
 
			if (closest_station == INVALID_STATION) {
 
				closest_station = t;
 
@@ -910,7 +904,7 @@ int32 CmdBuildRailroadStation(TileIndex 
 

	
 
	if (st != NULL) {
 
		// Reuse an existing station.
 
		if (st->owner != OWNER_NONE && st->owner != _current_player)
 
		if (st->owner != _current_player)
 
			return_cmd_error(STR_3009_TOO_CLOSE_TO_ANOTHER_STATION);
 

	
 
		if (st->train_tile != 0) {
 
@@ -1293,7 +1287,7 @@ int32 CmdBuildRoadStop(TileIndex tile, u
 
	AutoPtrT<Station> st_auto_delete;
 

	
 
	if (st != NULL) {
 
		if (st->owner != OWNER_NONE && st->owner != _current_player) {
 
		if (st->owner != _current_player) {
 
			return_cmd_error(STR_3009_TOO_CLOSE_TO_ANOTHER_STATION);
 
		}
 

	
 
@@ -1585,7 +1579,7 @@ int32 CmdBuildAirport(TileIndex tile, ui
 
	AutoPtrT<Station> st_auto_delete;
 

	
 
	if (st != NULL) {
 
		if (st->owner != OWNER_NONE && st->owner != _current_player)
 
		if (st->owner != _current_player)
 
			return_cmd_error(STR_3009_TOO_CLOSE_TO_ANOTHER_STATION);
 

	
 
		if (!st->rect.BeforeAddRect(tile, w, h, StationRect::ADD_TEST)) return CMD_ERROR;
 
@@ -1872,7 +1866,7 @@ int32 CmdBuildDock(TileIndex tile, uint3
 
	AutoPtrT<Station> st_auto_delete;
 

	
 
	if (st != NULL) {
 
		if (st->owner != OWNER_NONE && st->owner != _current_player)
 
		if (st->owner != _current_player)
 
			return_cmd_error(STR_3009_TOO_CLOSE_TO_ANOTHER_STATION);
 

	
 
		if (!st->rect.BeforeAddRect(tile, _dock_w_chk[direction], _dock_h_chk[direction], StationRect::ADD_TEST)) return CMD_ERROR;
0 comments (0 inline, 0 general)