Ticket #43682

Different handling of unitflag requirements with missing target unittype

Eröffnet am: 2022-01-26 04:10 Letztes Update: 2022-02-08 23:53

Auswertung:
Verantwortlicher:
Typ:
Status:
Geschlossen
Komponente:
Meilenstein:
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Gefixt
Datei:
1

Details

Unit type, unit class, and unit class flag requirements evaluate to TRI_YES when no target unittype is given. Unit flag requirements evaluate to TRI_MAYBE when no target unittype is given. This disparity was introduced fifteen years ago and apparently never documented in the code.

We should probably...

  • ...figure out whether unit type, class and class flag requirements still need to be true when in doubt – this is apparently a workaround introduced before requirement problem types (and later, tristate logic) were a thing, so it might not be necessary anymore
  • ...if yes, figure out whether unit type flag requirements still need to not be true when in doubt
  • ...if also yes, document the reasons in the code

Ticket-Verlauf (3/5 Historien)

2022-01-26 04:10 Aktualisiert von: alienvalkyrie
  • New Ticket "Different handling of unitflag requirements with missing target unittype" created
2022-01-31 06:12 Aktualisiert von: alienvalkyrie
Kommentar

Reply To alienvalkyrie

* ...figure out whether unit type, class and class flag requirements still need to be true when in doubt – this is apparently a workaround introduced before requirement problem types (and later, tristate logic) were a thing, so it might not be necessary anymore

Haven't tried it yet, but after some history-poking, I think this workaround is no longer necessary. The original workaround was apparently only relevant for whether to draw city walls based on defend bonus effects, which has since been superseded by the Visible_Wall effect. So it should be fine to make those three also give TRI_MAYBE for a missing unittype.

Targetting this to S3_1, since technically – if there are any effects that are ever evaluated with an optional target unit (which I can't with certainty say there aren't) – this is a semantic change to the data file format.

2022-02-07 08:23 Aktualisiert von: alienvalkyrie
  • Verantwortlicher Update from (Keine) to alienvalkyrie
  • Lösung Update from Keine to Accepted
Kommentar

Currently running regression tests on this patch, since I don't think it should change anything.

2022-02-08 23:53 Aktualisiert von: alienvalkyrie
  • Status Update from Offen to Geschlossen
  • Lösung Update from Accepted to Gefixt

Bearbeiten

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Anmelden