Skip to content

Commit

Permalink
increase pieces for grand variant
Browse files Browse the repository at this point in the history
  • Loading branch information
chesslogic committed Jul 2, 2024
1 parent 4cd798e commit 36b7605
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 3 deletions.
4 changes: 2 additions & 2 deletions worlds/checksmate/Items.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ class CMItemData(NamedTuple):
"Play as White": CMItemData(4_901_000, ItemClassification.progression, material=50),
"Progressive Engine ELO Lobotomy": CMItemData(4_901_001, ItemClassification.useful, quantity=5),
# TODO: stop counting material if the board fills up with 23 pieces+pawns
"Progressive Pawn": CMItemData(4_901_002, ItemClassification.progression, quantity=32, material=100),
"Progressive Pawn": CMItemData(4_901_002, ItemClassification.progression, quantity=40, material=100),
"Progressive Pawn Forwardness": CMItemData(4_901_003, ItemClassification.filler, quantity=13, parents=[
["Progressive Pawn", 3]]),
# Bishops and Knights are worth 3.25 to 3.5, but some minor pieces are worse, so we assume 3.0 conservatively
"Progressive Minor Piece": CMItemData(4_901_004, ItemClassification.progression, quantity=9, material=300),
"Progressive Minor Piece": CMItemData(4_901_004, ItemClassification.progression, quantity=11, material=300),
# Rooks are worth 5.25 to 5.5, but many major pieces are worse, so we assume 4.85, which stays under 5.0
"Progressive Major Piece": CMItemData(4_901_005, ItemClassification.progression, quantity=9, material=485),
# Queen pieces are pretty good, and even the weak ones are pretty close, so queens can stay 9.0 (but not 10.0)
Expand Down
5 changes: 5 additions & 0 deletions worlds/checksmate/Rules.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,11 @@ def set_rules(multiworld: MultiWorld, player: int, opts: CMOptions):
lambda state: state.count("Progressive Major Piece", player) >= 2 + total_queens)
# add_rule(multiworld.get_location("French Move", player), lambda state: state.has_french_move(player))

# state cannot have super-size me for small checkmate
# todo: remove from the pool if non-ordered progressive
add_rule(multiworld.get_location("Checkmate Minima", player),
lambda state: not state.has("Super Size Me", player))

# goal materials
# add_rule(multiworld.get_location("Checkmate Minima", player), lambda state: has_piece_material(state, player, 2))
# add_rule(multiworld.get_location("Checkmate One Piece", player), lambda state: has_piece_material(state, player, 5))
Expand Down
2 changes: 1 addition & 1 deletion worlds/checksmate/test/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import ClassVar

from test.bases import WorldTestBase
from .. import CMWorld, CMOptions
from .. import CMWorld


class CMTestBase(WorldTestBase):
Expand Down

0 comments on commit 36b7605

Please sign in to comment.