Internal actions
Posted: Fri May 12, 2023 9:28 pm
I see a conception of "internal action" introduced in 3.3. It seems nice but... it breaks doc/HACKING # Generalized action meaning undrstandings:
EDIT: I thounght "Gain_Veterancy" has target_reqs. Since it is, as I see now, on-self action, I see no difference with using the effect at all. A non-actionenabler that cares both sides would look like
just maybe a better design should appear. For e.g. a diplomat escape possibility we could have reqs on the diplomat (actor_reqs), the affected city (target_reqs) and the city to escape to (dest_reqs), and maybe a switch if the diplo can escape to the city just incited (dest_target = "possible").
actions should keep having clear semantics
Please don't make non actions actions because they are similar to actions or because some of the things Freeciv automatically does for actions would be nice to have.
Either rewrite the Sveinnung's guidelines, or rewrite the patches. Actually, do we need anything specific for NoVeteran unhardcoding when it is, effectively, already done (just without other part reqs) with "Veteran_Combat" effect setting to -200? Maybe just introduce "non-action-enablers" with one or more req vectors (or not req vectors, e.g., how to control if NoVeteran is attacker or defender?) that might have another, different names?An action is something a player can order a game entity, the actor, to do.
EDIT: I thounght "Gain_Veterancy" has target_reqs. Since it is, as I see now, on-self action, I see no difference with using the effect at all. A non-actionenabler that cares both sides would look like
Code: Select all
[conseq_enabler_veteran_attacker]
type = "Gain_Veterancy"
actor = TRUE
actor_reqs = {"type", "name", "range", "present"
"UnitFlag", "NoVeteran", "Local", FALSE
}
target_reqs = {"type", "name", "range", "present"
; something could be here
}