From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18607 invoked by alias); 17 Aug 2004 02:53:39 -0000 Mailing-List: contact xconq7-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: xconq7-owner@sources.redhat.com Received: (qmail 18595 invoked from network); 17 Aug 2004 02:53:38 -0000 Received: from unknown (HELO av13-2-sn4.m-sp.skanova.net) (81.228.10.103) by sourceware.org with SMTP; 17 Aug 2004 02:53:38 -0000 Received: by av13-2-sn4.m-sp.skanova.net (Postfix, from userid 502) id 50C2E37E48; Tue, 17 Aug 2004 04:53:38 +0200 (CEST) Received: from smtp4-2-sn4.m-sp.skanova.net (smtp4-2-sn4.m-sp.skanova.net [81.228.10.180]) by av13-2-sn4.m-sp.skanova.net (Postfix) with ESMTP id 3FAD137E42; Tue, 17 Aug 2004 04:53:38 +0200 (CEST) Received: from [212.181.162.155] (h155n1fls24o1048.bredband.comhem.se [212.181.162.155]) by smtp4-2-sn4.m-sp.skanova.net (Postfix) with ESMTP id D387F37E42; Tue, 17 Aug 2004 04:53:37 +0200 (CEST) X-Sender: u22611592@m1.226.comhem.se Message-Id: In-Reply-To: <412161E0.8020609@phy.cmich.edu> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Tue, 17 Aug 2004 03:03:00 -0000 To: Eric McDonald From: Hans Ronne Subject: Re: Major bug and what to do about it (long) Cc: xconq7@sources.redhat.com X-SW-Source: 2004/txt/msg00915.txt.bz2 >Hans Ronne wrote: > >>> How is attacking a ghost unit any different than a miss? >> >> Because we are dealing with a failed task here, not a failed action. We >> never get to the point where we attack the ghost unit. > >I disagree. There is (or should be) an attempted attack carried out on >the ghost unit. As near as I can tell, an attempted attack could be >framed in terms of an action (which may, in turn, invoke other actions). I agree that there should be an attempt to attack the ghost unit, which should be framed in terms of an action. That is my whole point. But this is not how the code works. What happens is that the attempted attack never occurs because check_fire_at_action returns false. This, I would emphasize, happens before prep_fire_at_action is called, so the action is not even scheduled, much less attempted. The check_x_action functions are actually used in two completely different ways. One is in execute_action, where they check if a scheduled but not yet executed action will fail or not. But they are also used in the planning and task execution code, to evaluate possible actions that the AI or the human player is contemplating, but has not yet scheduled for execution. As I see it, the latter is really an abuse of these functions, particularly if they reference real units instead of unit views, as in the current case. Hans