I just found out a new feature I was coding to use, got reverted because of comments here.
Ignatus wrote:sveinung wrote:Warning: You should probably just enable this action without any requirements.
That's fine as long as it doesn't DISABLE any other functionalities tied to actions, right?
Sentry is, in the current rules, server side client state: a user interface detail that is completely irrelevant for the rules.
"The current rules?" Whose rules? Freeciv is a generalised engine for many rules.
In the current rules of Freeciv-Web, sentry is absolutely relevant to mechanics and gameplay. You invite some philosophical argument from Sartre or something: Is non-existence a state, or is it the state of having no state; and if it's the state of having no state, what essence or being is it that has "the state of not having a state?" Back to the practical world, this is a REAL state and entering this state is a real action. The minute you disallow rulesets or clients access to these things, you are creating "Heavenly States" which transcend, forbid, create circumvention, exploitation, and blocked abilities. You disallow rulesets, clients, and even new server code, from handling conditions that may arise from that state.
I don't see disabling sentry in our rules to be likely. But that result of this comment was something else.
I can think of hypothetical rulesets that would want this. Who knows, Sentry is a requirement of the Galactic Federation Fuel Pod Aid Package, for it to be captured by the recipient. Otherwise it's assumed to be under encrypted deadlock security state. I'm not making that ruleset, but someone might.
I'm not really concerned about disabling ability to sentry. I'm concerned about what happened after you said that. You suggested the action should always be enabled...
But now it's not an action at all, and we're FORBIDDEN from looking for it in requirements as an activity. Are you sure this is what your comment wanted, Ignatus/ All potential functionality, conditions, triggers, future features, which are tied to activities and actions, to get lost? For Sentry to be Transcendental Heavenly State that is the Exception, and transcends all rulesets, clients, and possible new server features?
At FCW, we want to be able to consider ALL states, actions, and situations. The ability to cover ALL states and ALL actions, inclusively, as a way to trigger other things.
For example, casus belli if someone sentries, fortifies, roads, moves, or builds a base in your territory. Basically, has any state or does any action at all. Let's not make sentry the One Pure State that is transcendent all others, is exceptional to detection, regulation, or condition. The state of Zen or existing-without existing. Once you make one of the states transcendent, you allow the unit in that state to transmogrify into heaven in the existing but not existing state.
I don't see though, how Ignatus comment really wanted all that. But somehow it led to reverting the super awesome excellent idea of the great new ACTION_SENTRY action. And for ACTIVITY_SENTRY to transcend mere human mortals and be in the forbidden heaven of the gods. I propose we open this conversation up again. Maybe I'm really wrong in my current thinking and would like people to point out other arguments, methods, and so on.
https://github.com/freeciv/freeciv/comm ... 159620b5a5
Ban "Sentry" in unit "Activity" requirements. This makes it pure server side
client state again. This makes Sentry a non action. Remove the "Sentry Unit"
action introduced in hrm Feature #879674.
I don't think the rules should change based on what the client does to
implement a better user interface. Not having to think of upgrading rulesets
that requires it gives us more freedom to move it to a server side client
state sub system in the future.
Ban "Sentry" from appearing in any "Activity" requirement. Make the
requirement system see a unit performing "Sentry" as being idle. Remove the
"Sentry Unit" action.
This reverts commit fc6101e.
Done because of negative feed back on the "Sentry Unit" action from Ignatus
on the Freeciv forum.