待辦事項 #46046

AI: Improve attacker danger evaluation

啟用日期: 2022-11-08 03:12 最後更新: 2022-12-22 06:29

回報者:
負責人:
類型:
狀態:
關閉
元件:
優先權:
5 - 中
嚴重程度:
5 - 中
處理結果:
修正
檔案:
6

細節

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
評語

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

2022-11-13 06:35 Updated by: ihnatus
評語

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
評語

Patches are ready.

2022-11-23 10:54 Updated by: cazfi
2022-11-24 09:16 Updated by: cazfi
評語

"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
評語

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
  • 負責人 Update from (無) to ihnatus
2022-12-10 18:46 Updated by: cazfi
評語

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
評語

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
評語

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

2022-12-16 02:02 Updated by: ihnatus
評語

New 3.1 patch done.

2022-12-18 02:04 Updated by: cazfi
  • 負責人 Update from ihnatus to cazfi
  • 處理結果 Update from to Accepted
2022-12-22 06:29 Updated by: cazfi
  • 狀態 Update from 開啟 to 關閉
  • 處理結果 Update from Accepted to 修正

Attachment File List

編輯

Please login to add comment to this ticket » 登入