This is the mail archive of the xconq7@sources.redhat.com mailing list for the Xconq project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Cow patties, and keeping them asleep


Hi Matthew,

On Mon, 2004-05-10 at 19:48, mskala@ansuz.sooke.bc.ca wrote:

> The patch creates a "can-recursively-wake" UU table of boolean flags
> defaulting to true.  If the flag for u1 u2 is set, that means that a
> recursive wake on a transport of type u1 can wake an occupant of type u2.
> If the flag is false, the recursive wake on u1 doesn't propagate into the
> occupant u2 (nor its occupants, etc.).  I say "(table can-recursively-wake
> (u* cow-patty false))" and get behaviour I like with minimal fuss.  One
> problem, though, is that this shuts down *all* recursive wakes regardless
> of cause - so the "wake all" user command no longer works.  That would be
> really annoying for the user if the designer's idea of when recursive
> wakes were appropriate disagreed with the user's.  In my particular game I
> think it should reduce user annoyance by a lot (that's the point of doing
> it), but it does look like it gives the designer enough rope to hang
> himself.

Just for the record, I am working on integrating your patch. I am using
your new table definition, but there is an issue with the patch to
plan.c. The 'wake all' command ("W") in the user interfaces is
specifically designed to wake all units in a transport, and it calls
'wake_unit' with the 'wakeocc' flag set. In this case, I do not think it
would be wise to trump designer's wishes over player's wishes.

Instead, I am doing two things:
(1) I am making a test of 'can_have_enough_acp' against 1 ACP. Even the
unit appears to be ACP-less based on its type, it still needs to be
checked to see if it might have enough ACP due to uncalculated
circumstances; to do this I also make a nested test of 'has_enough_acp'
against 0 ACP, which will return FALSE if the unit simply cannot act.
Any truly ACP-less units will therefore not wake. Any units which are
simply out of ACP for a turn or which are ACP-independent will still
wake.
(2) I am using your table in 'react_to_seen_unit' in side.c in the case
where a unit is an occ. The present behavior (always wake) is still the
default if the unit is not an occ.

I am also making a successful hit wake up a unit (though not necessarily
its occs).

I need to test these changes (simple though they be), and I will check
them in either tonight or tomorrow night depending on how things go.

Hopefully, this will address some of the things we discussed.

  Regards,
    Eric


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]