From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24350 invoked by alias); 17 Aug 2004 00:33:41 -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 24343 invoked from network); 17 Aug 2004 00:33:40 -0000 Received: from unknown (HELO sccrmhc11.comcast.net) (204.127.202.55) by sourceware.org with SMTP; 17 Aug 2004 00:33:40 -0000 Received: from [192.168.181.128] (c-67-172-156-222.client.comcast.net[67.172.156.222]) by comcast.net (sccrmhc11) with ESMTP id <20040817003339011004t1f1e>; Tue, 17 Aug 2004 00:33:40 +0000 Message-ID: <41215257.6080904@phy.cmich.edu> Date: Tue, 17 Aug 2004 00:35:00 -0000 From: Eric McDonald User-Agent: Mozilla Thunderbird 0.7.1 (Windows/20040626) MIME-Version: 1.0 To: Hans Ronne CC: xconq7@sources.redhat.com Subject: Re: Major bug and what to do about it (long) References: In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2004/txt/msg00905.txt.bz2 Hans Ronne wrote: >>On Mon, 16 Aug 2004, Hans Ronne wrote: >> >> >>>Now the ball returns to the AI, who should find something else for our unit >>>to do. However, the AI still sees the same unit view and doesn't know that >>>the task failed, so it sets the same hit_unit task again. >> >>If the action check failed because the unit view doesn't not >>correspond to an actual unit at the given position, then the task >>logic should make a callback to the AI or UI to remove the unit >>view, IMO. This would break the cycle. > > > Yes, I thought about that. However, since failed tasks do not consume acps, > this would provide a cost-free way to probe the terrain for real vs. bogus > enemy units. No. Tasks don't consume ACP or anything else. Actions do. And, I don't see a problem if a failed action consumes ACP or materials. If an attack or a fire misses an actual unit, ACP is consumed in spite of the fact that it was a miss. How is attacking a ghost unit any different than a miss? >A better solution is therefore to use do_fire_into_action > instead, This depends a lot on whether the firing results in spread (surface) destruction or point destruction (to use the terms that Bruno Boettcher (?) used in a thread last year). In cases of point destruction, the action should be treated like a firing that missed. IMSO. >>However, the unit should be penalized (in terms of ACP, >>material expenditure, etc...) for attempting the action on a >>"ghost" unit. I believe I have mentioned this before, either in >>private email or on the list. In that case, what motivated me to >>mention it was the fire-at-ghost-unit / fire-into cell case. I >>believe this was shortly after I made a fix so that one could not >>probe from cell to cell using the fire command to discover where >>hidden enemy units were. > > Letting the failed task consume acps might work in this specific case, I don't think that tasks should consume ACP or anything else. They are too high level. We should restrict consumption to actions (as I beleive the case is now). >but > it would go against how Xconq works in all other situations. For example, > if you click where your unit cannot move, you don't spend any acps. In the case of movement this makes sense. But, consider that a melee attack actually does imply movement (as we agreed upon in an earlier thread), and thus, even if the attack is unsuccessful, the unit should be penalized for the implied movement (preferably through the normal attack costs). Eric