X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=data%2Flocation_decks%2Fstandard.yaml;h=0e95c856afe245f64c8b81390e65ed72f2b816e8;hb=8c08ffd9e2d674558bca43d4f709be5f49e46119;hp=ef8ecf94af841b4590cf1ad37f3c425e2d8a46d9;hpb=acd4bdc5372677dd7f904fdb26cbfcc81c6b51ea;p=naja.git diff --git a/data/location_decks/standard.yaml b/data/location_decks/standard.yaml index ef8ecf9..0e95c85 100644 --- a/data/location_decks/standard.yaml +++ b/data/location_decks/standard.yaml @@ -2,7 +2,7 @@ description: "Standard location deck." # This field is ignored, but it's a useful place to put some action definitions # we can reference later. -_standard_actions: +_action_definitions: # No-colour actions. - &SET-BITS-DEFAULT action_class: 'LoseHealthOrMSBAndSetBits' @@ -13,9 +13,28 @@ _standard_actions: - &TOGGLE-BITS-DEFAULT action_class: 'ToggleBits' required_bits: [] + - &TOGGLE-BITS-HARM-DEFAULT + action_class: 'ToggleBitsAndHarm' + required_bits: [] - &BAD-DEFAULT action_class: 'LoseHealthOrMSB' required_bits: [] + - &SET-MSB-DEFAULT + action_class: 'GainMSB' + required_bits: [] + + - &KNIGHT-MSB-DEFAULT + action_class: 'AllowChessMoveIfMSB' + required_bits: [] + data: {'chesspiece': KNIGHT} + - &CASTLE-MSB-DEFAULT + action_class: 'AllowChessMoveIfMSB' + required_bits: [] + data: {'chesspiece': CASTLE} + - &BISHOP-MSB-DEFAULT + action_class: 'AllowChessMoveIfMSB' + required_bits: [] + data: {'chesspiece': BISHOP} # One-colour actions. - &SET-BITS-R @@ -45,6 +64,15 @@ _standard_actions: required_bits: [GREEN] data: {'direction': WEST} + - &ROT-CW + action_class: 'RotateLocations' + required_bits: [RED] + data: {'rot_direction': CLOCKWISE} + - &ROT-CCW + action_class: 'RotateLocations' + required_bits: [RED] + data: {'rot_direction': ANTICLOCKWISE} + # Two-colour actions. - &KNIGHT-MOVE action_class: 'AllowChessMove' @@ -66,78 +94,220 @@ _standard_actions: action_class: 'GainHealth' required_bits: [RED, BLUE] + - &BITSHIFT-L + action_class: 'ShiftBits' + required_bits: [RED, BLUE] + data: { + 'direction': 'left', + 'shift': 1, + } + - &BITSHIFT-R + action_class: 'ShiftBits' + required_bits: [GREEN, BLUE] + data: { + 'direction': 'right', + 'shift': 1, + } + # Three-colour actions. - &ACQUIRE-WIN-TOKEN action_class: 'AcquireWinToken' required_bits: [RED, GREEN, BLUE] -# This field is ignored, but it's a useful place to put some action definitions +# This field is ignored, but it's a useful place to put some card definitions # we can reference later. -_standard_cards: - - &WIN-CARD +_card_definitions: + - &WIN-CARD-1 + card_name: 'win1' + max_number: 1 + actions: + - *ACQUIRE-WIN-TOKEN + - &WIN-CARD-2 + card_name: 'win2' + max_number: 2 actions: + - *BAD-DEFAULT + - *ACQUIRE-WIN-TOKEN + - &WIN-CARD-3 + card_name: 'win3' + max_number: 1 + actions: + - *SET-BITS-DEFAULT - *ACQUIRE-WIN-TOKEN - &KNIGHT-AND-SET + card_name: 'knight_set' actions: - - *BAD-DEFAULT + - *SET-MSB-DEFAULT - *SET-BITS-B - *KNIGHT-MOVE - &CASTLE-AND-SET + card_name: 'castle_set' actions: - - *BAD-DEFAULT + - *SET-MSB-DEFAULT - *SET-BITS-G - *CASTLE-MOVE - &BISHOP-AND-SET + card_name: 'bishop_set' actions: - - *BAD-DEFAULT + - *SET-MSB-DEFAULT + - *SET-BITS-R + - *BISHOP-MOVE + + - &BISHOP-SET-KNIGHT + card_name: 'bishop_set_knight' + actions: + - *BISHOP-MSB-DEFAULT + - *SET-BITS-B + - *KNIGHT-MOVE + - &KNIGHT-SET-CASTLE + card_name: 'knight_set_castle' + actions: + - *KNIGHT-MSB-DEFAULT + - *SET-BITS-G + - *CASTLE-MOVE + - &CASTLE-SET-BISHOP + card_name: 'castle_set_bishop' + actions: + - *CASTLE-MSB-DEFAULT - *SET-BITS-R - *BISHOP-MOVE - &TOGGLE-RG-R + card_name: 'toggle-rg-r' bits: [RED, GREEN] # Colour-blind robot! actions: + - *GAIN-HEALTH-DEFAULT - action_class: 'ToggleBits' required_bits: [RED] - action_class: 'SetBits' required_bits: [GREEN, BLUE] - &TOGGLE-RG-G + card_name: 'toggle-rg-g' bits: [RED, GREEN] # Colour-blind robot! actions: + - *GAIN-HEALTH-DEFAULT - action_class: 'ToggleBits' required_bits: [GREEN] - action_class: 'SetBits' required_bits: [RED, BLUE] - &SHIFT-N-AND-HEAL + card_name: 'shift-n-heal' actions: - *TOGGLE-BITS-DEFAULT - *SHIFT-N - *HEAL-RG - &SHIFT-S-AND-HEAL + card_name: 'shift-s-heal' actions: - *TOGGLE-BITS-DEFAULT - *SHIFT-S - *HEAL-RG - &SHIFT-E-AND-HEAL + card_name: 'shift-e-heal' actions: - *TOGGLE-BITS-DEFAULT - *SHIFT-E - *HEAL-RB - &SHIFT-W-AND-HEAL + card_name: 'shift-w-heal' actions: - *TOGGLE-BITS-DEFAULT - *SHIFT-W - *HEAL-RB + - &SHIFT-N-AND-HARM + card_name: 'shift-n-harm' + actions: + - *TOGGLE-BITS-HARM-DEFAULT + - *SHIFT-N + - *HEAL-RG + - &SHIFT-S-AND-HARM + card_name: 'shift-s-harm' + actions: + - *TOGGLE-BITS-HARM-DEFAULT + - *SHIFT-S + - *HEAL-RG + - &SHIFT-E-AND-HARM + card_name: 'shift-e-harm' + actions: + - *TOGGLE-BITS-HARM-DEFAULT + - *SHIFT-E + - *HEAL-RB + - &SHIFT-W-AND-HARM + card_name: 'shift-w-harm' + actions: + - *TOGGLE-BITS-HARM-DEFAULT + - *SHIFT-W + - *HEAL-RB + + - &ROT-CW-AND-SET + card_name: 'rot-cw-set' + actions: + - *TOGGLE-BITS-DEFAULT + - *ROT-CW + - *SET-BITS-B + + - &ROT-CCW-AND-SET + card_name: 'rot-ccw-set' + actions: + - *TOGGLE-BITS-DEFAULT + - *ROT-CCW + - *SET-BITS-G + + - &SHIFT-E-BITSHIFT + card_name: 'shift-e-bitshift' + actions: + - *SHIFT-E + - *BITSHIFT-R + - &SHIFT-W-BITSHIFT + card_name: 'shift-w-bitshift' + actions: + - *SHIFT-W + - *BITSHIFT-L + + - &MEAN-CARD + card_name: 'mean-card' + actions: + - *BAD-DEFAULT + + - &REALLY-MEAN-CARD + card_name: 'mean-card' + actions: + - action_class: 'ClearBitsAndHealth' + required_bits: [] + - action_class: 'LoseHealthOrMSB' + required_bits: [RED] + cards: - - *WIN-CARD + - *WIN-CARD-1 + - *WIN-CARD-2 + - *WIN-CARD-3 - *KNIGHT-AND-SET - *CASTLE-AND-SET - *BISHOP-AND-SET + - *BISHOP-SET-KNIGHT + - *KNIGHT-SET-CASTLE + - *CASTLE-SET-BISHOP - *TOGGLE-RG-R - *TOGGLE-RG-G - *SHIFT-N-AND-HEAL - *SHIFT-S-AND-HEAL - *SHIFT-E-AND-HEAL - *SHIFT-W-AND-HEAL + - *SHIFT-N-AND-HARM + - *SHIFT-S-AND-HARM + - *SHIFT-E-AND-HARM + - *SHIFT-W-AND-HARM + - *SHIFT-E-BITSHIFT + - *SHIFT-W-BITSHIFT + - *ROT-CW-AND-SET + - *ROT-CCW-AND-SET + - *MEAN-CARD + - *REALLY-MEAN-CARD + +replacement_params: + chance: 0.2 + min: 4 + max: 8