[Freeciv-Dev] Re: (PR#5568) add I_DEMOLISHED Impr_Status
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
> frankly I hate the idea of survivable effects. In fact, how's about
> this: Right now there are two (2) surviving effects in all the
> rulesets. They would be Enable_Space and Enable_Nuke. These are both
> World-ranged effects and are the whole reason there is this mess.
> Would it be simpler to just special case these two properties? I
> foresee:
>
> game.can_space = bool
> game.can_nuke = bool
>
> and/or:
>
> pplayer->can_space
> pplayer->can_nuke
>
> and/or:
>
> pcity->can_build_space
> pcity->can_build_nuke
>
> In the absolutely simplest case, we have the (immediate) effects
> Enable_Space and Enable_Nuke, which are active as soon as the
> improvement (or tech etc) is built and then are deleted soon
> afterwards. The only work they do is to flip game.can_space and
> game.can_nuke to TRUE; These variables would of course have to be
> saved in savegames and transmitted to the client in the game_info
> struct. Presto, surviving effects. Downsides: these effects are
> Global-ranged only and always survive improvement destruction.
>
> There are alternatives. We could have four effects: Enable_Space,
> Enable_Nuke, Enable_Space_Survives, Enable_Nuke_Survives. The first
> two effects would be normal effects. The latter two would act like
> those in the previous paragraph.
>
> Alternately, we could allow Player ranged effects as well but that
> would require the pplayer->can_space and pplayer->can_nuke
> variables. I don't really want to go for smaller range than that
> because it gets messy and demands island-range and the such.
>
> This is such a great idea, in fact, that unless I hear great
> bitching with good reason behind it, this is what I'm going to do.
> There shall be only two surviving effects and they shall be special
> cases. (This means that the I_DEMOLISHED flag will not be
> necessary.)
>
> -mike
I think your ideas here are good. Survivable effects aren't the most
important/interesting aspect of gen impr IMO and it sounds like
they're almost too much of a pain to implement anyway. Maybe they can
be implemented at a later date if anyone feels the need.
I imagine it will take a while for gen impr to be running without
problems, removing survivable effects would be one less thing to worry
about for now.
-Morgan
|
|