Tweak piece values for variants without checks
authorFabian Fichter <ianfab@users.noreply.github.com>
Thu, 27 Feb 2020 18:56:20 +0000 (19:56 +0100)
committerFabian Fichter <ianfab@users.noreply.github.com>
Thu, 27 Feb 2020 18:56:20 +0000 (19:56 +0100)
racingkings STC
LLR: 2.98 (-2.94,2.94) [0.00,10.00]
Total: 2872 W: 1009 L: 895 D: 968
http://www.variantfishtest.org:6543/tests/view/5e5662136e23db46beba4ef0

racingkings LTC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 2799 W: 907 L: 799 D: 1093
http://www.variantfishtest.org:6543/tests/view/5e566cf16e23db46beba4ef3

src/psqt.cpp

index acb913a..03fb321 100644 (file)
@@ -149,9 +149,12 @@ void init(const Variant* v) {
       }
 
       // For drop variants, halve the piece values
-      if (v->capturesToHand || !v->checking)
+      if (v->capturesToHand)
           score = make_score(mg_value(score) * 3500 / (7000 + mg_value(score)),
                              eg_value(score) * 3500 / (7000 + eg_value(score)));
+      else if (!v->checking)
+          score = make_score(mg_value(score) * 2000 / (3500 + mg_value(score)),
+                             eg_value(score) * 2200 / (3500 + eg_value(score)));
       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);