From 55c1af9fb12ed64284c5ab7723c22ccbd3087617 Mon Sep 17 00:00:00 2001 From: rubidium Date: Thu, 19 Aug 2010 14:25:07 +0000 Subject: [PATCH] (svn r20560) -Fix: AIs (still/again?) crashing for certain commands --- src/ai/api/ai_object.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/ai/api/ai_object.cpp b/src/ai/api/ai_object.cpp index ed36719c65..02f9e734b4 100644 --- a/src/ai/api/ai_object.cpp +++ b/src/ai/api/ai_object.cpp @@ -209,6 +209,11 @@ bool AIObject::DoCommand(TileIndex tile, uint32 p1, uint32 p2, uint cmd, const c /* Are we only interested in the estimate costs? */ bool estimate_only = GetDoCommandMode() != NULL && !GetDoCommandMode()(); +#ifdef ENABLE_NETWORK + /* Only set p2 when the command does not come from the network. */ + if (GetCommandFlags(cmd) & CMD_CLIENT_ID && p2 == 0) p2 = UINT32_MAX; +#endif + /* Try to perform the command. */ CommandCost res = ::DoCommandPInternal(tile, p1, p2, cmd, _networking ? CcAI : NULL, text, false, estimate_only);