Increase horde pawn endgame value
authorFabian Fichter <ianfab@users.noreply.github.com>
Thu, 31 Dec 2020 11:17:55 +0000 (12:17 +0100)
committerFabian Fichter <ianfab@users.noreply.github.com>
Thu, 31 Dec 2020 11:17:55 +0000 (12:17 +0100)
horde STC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 7249 W: 3673 L: 3467 D: 109
http://www.variantfishtest.org:6543/tests/view/5fea67286e23db221d9e972b

horde LTC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 6951 W: 3541 L: 3339 D: 71
http://www.variantfishtest.org:6543/tests/view/5fecf25e6e23db221d9e97c9

src/psqt.cpp

index 3b6405b..4865130 100644 (file)
@@ -168,6 +168,9 @@ void init(const Variant* v) {
       else if (v->checkCounting)
           score = make_score(mg_value(score) * (40000 + mg_value(score)) / 41000,
                              eg_value(score) * (30000 + eg_value(score)) / 31000);
+      else if (   v->extinctionValue == -VALUE_MATE
+               && v->extinctionPieceTypes.find(ALL_PIECES) != v->extinctionPieceTypes.end())
+          score += make_score(0, std::max(KnightValueEg - PieceValue[EG][pt], VALUE_ZERO) / 20);
       else if (pt == strongestPiece)
               score += make_score(std::max(QueenValueMg - PieceValue[MG][pt], VALUE_ZERO) / 20,
                                   std::max(QueenValueEg - PieceValue[EG][pt], VALUE_ZERO) / 20);