Tweak king PSQT for drop variants
authorFabian Fichter <ianfab@users.noreply.github.com>
Thu, 14 May 2020 20:28:33 +0000 (22:28 +0200)
committerFabian Fichter <ianfab@users.noreply.github.com>
Thu, 14 May 2020 20:28:33 +0000 (22:28 +0200)
crazyhouse STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 5128 W: 2566 L: 2393 D: 169
http://www.variantfishtest.org:6543/tests/view/5ebadb766e23db36d55f2b51

crazyhouse LTC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 2697 W: 1364 L: 1226 D: 107
http://www.variantfishtest.org:6543/tests/view/5ebb0b2d6e23db36d55f2b58

src/psqt.cpp

index 2a63604..23edde7 100644 (file)
@@ -191,7 +191,7 @@ void init(const Variant* v) {
           File f = std::max(std::min(file_of(s), File(v->maxFile - file_of(s))), FILE_A);
           Rank r = rank_of(s);
           psq[ pc][ s] = score + (  pt == PAWN  ? PBonus[std::min(r, RANK_8)][std::min(file_of(s), FILE_H)]
-                                  : pt == KING  ? KingBonus[std::min(r, RANK_8)][std::min(f, FILE_D)]
+                                  : pt == KING  ? KingBonus[std::min(r, RANK_8)][std::min(f, FILE_D)] * (1 + v->capturesToHand)
                                   : pt <= QUEEN ? Bonus[pc][std::min(r, RANK_8)][std::min(f, FILE_D)]
                                                 : make_score(5, 5) * (2 * f + std::max(std::min(r, Rank(v->maxRank - r)), RANK_1) - 8));
           if (pt == SOLDIER && r < v->soldierPromotionRank)