diff options
author | rubidium <rubidium@openttd.org> | 2007-08-31 17:31:54 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2007-08-31 17:31:54 +0000 |
commit | cf7c89f72cb08cba69f193ad5e28171d6d8b429e (patch) | |
tree | 74a83da227317dcff11a372cbc394022b06be45e | |
parent | 0cf6a3f1ef79095f064feebcdc3864eae6401e0d (diff) | |
download | openttd-cf7c89f72cb08cba69f193ad5e28171d6d8b429e.tar.xz |
(svn r11019) -Fix [FS#1176]: Vehicles in a group must always have the same type when adding new vehicles to a group. Patch by SmatZ.
-rw-r--r-- | src/group_cmd.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/group_cmd.cpp b/src/group_cmd.cpp index f27473640..7942d406e 100644 --- a/src/group_cmd.cpp +++ b/src/group_cmd.cpp @@ -216,12 +216,13 @@ CommandCost CmdAddVehicleGroup(TileIndex tile, uint32 flags, uint32 p1, uint32 p if (!IsValidVehicleID(p2) || (!IsValidGroupID(new_g) && !IsDefaultGroupID(new_g))) return CMD_ERROR; + Vehicle *v = GetVehicle(p2); + if (IsValidGroupID(new_g)) { Group *g = GetGroup(new_g); - if (g->owner != _current_player) return CMD_ERROR; + if (g->owner != _current_player || g->vehicle_type != v->type) return CMD_ERROR; } - Vehicle *v = GetVehicle(p2); if (v->owner != _current_player || !v->IsPrimaryVehicle()) return CMD_ERROR; if (flags & DC_EXEC) { |