Ticket #46046

AI: Improve attacker danger evaluation

Date d'ouverture: 2022-11-08 03:12 Dernière mise à jour: 2022-12-22 06:29

Rapporteur:
Propriétaire:
État:
Atteints
Composant:
Priorité:
5 - moyen
Sévérité:
5 - moyen
Résolution:
Fixed
Fichier:
6

Détails

Firstly, consider "Attack_bonus" effect. Then, pay a heed to action enablers, maybe they prohibit the attack. Also, don't consider harmless units that can't attack but can occupy the city.

Actually, a split from #41781 since the patch grew too big.

Ticket History (3/20 Histories)

2022-11-08 03:12 Updated by: ihnatus
  • New Ticket "AI: Improve attacker danger evaluation" created
2022-11-08 03:16 Updated by: ihnatus
Commentaire

Added a patch, tested on master, depends on #46029.

2022-11-13 06:35 Updated by: ihnatus
Commentaire

A line not rebased slipped in, fixed. 3.1 patch coming. IDK will I do a 3.0 patch here.

2022-11-14 01:18 Updated by: ihnatus
Commentaire

Patches are ready.

2022-11-24 09:16 Updated by: cazfi
Commentaire

"This patch includes a generic mechanism for arbitrary requirement vector evaluation (i.e., substituting is_req_active() with a custom callback)."

Could you split that to a separate patch? So that unrelated functionalities would not be tied to acceptance (schedule) of this patch. I didn't look it closely, but noticed that you have parameters with _sz -suffix in their name, but which are not of type size_t. Should they?

2022-12-05 16:23 Updated by: cazfi
Commentaire

On a tree with this applied, clang analyzer gives (at leas some of this from tri_req_active_turns() added by this patch):

../../../src/common/requirements.c:5146:9: warning: Value stored to 'present' is never read [deadcode.DeadStores]

present = req->source.value.age <= ca;
~

../../../src/common/requirements.c:5147:9: warning: Value stored to 'present1' is never read [deadcode.DeadStores]

present1 = req->source.value.age <= ca + period;

../../../src/common/requirements.c:5153:9: warning: Value stored to 'present' is never read [deadcode.DeadStores]

present = req->source.value.age
~

../../../src/common/requirements.c:5155:9: warning: Value stored to 'present1' is never read [deadcode.DeadStores]

present1 = req->source.value.age
~
2022-12-06 21:50 Updated by: cazfi
  • Propriétaire Update from (Aucun) to ihnatus
2022-12-10 18:46 Updated by: cazfi
Commentaire

Ping.

As far as I know, this is the "root dependency" for all the other open patches from you, and I'm a bit worried that the whole stack catches bitrot (stops applying)

2022-12-13 04:43 Updated by: ihnatus
Commentaire

Reply To cazfi

Ping.

Sorry, don't have much time for now, but I'll try to sort this one out in few days.

2022-12-14 06:05 Updated by: ihnatus
Commentaire

Patch for 3.2 after split to #46266 is added, 3.1 coming soon

2022-12-16 02:02 Updated by: ihnatus
Commentaire

New 3.1 patch done.

2022-12-18 02:04 Updated by: cazfi
  • Propriétaire Update from ihnatus to cazfi
  • Résolution Update from Aucun to Accepted
2022-12-22 06:29 Updated by: cazfi
  • État Update from Ouvert to Atteints
  • Résolution Update from Accepted to Fixed

Attachment File List

Modifier

Please login to add comment to this ticket » Connexion