Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
stephtelolahy committed Nov 25, 2023
1 parent 4c323b7 commit 60987b2
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ enum PlayEffectResolver {
}
}

// swiftlint:disable:next function_body_length cyclomatic_complexity
static func triggeredEffect(
event: GameAction,
state: GameState
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,12 @@ private struct CounterOption {
private enum CounterActionResolver {
static func counterAction(card: String, player: String, state: GameState, ctx: PlayReqContext) -> CounterOption? {
var cardName = card.extractName()
var aliasCardName: String?

// resolve card alias>
if let alias = state.alias(for: card, player: player, ctx: ctx) {
cardName = alias
aliasCardName = alias
}
// </resolve card alias>

Expand All @@ -62,6 +64,12 @@ private enum CounterActionResolver {
return nil
}

return CounterOption(card: card, action: .playImmediate(card, player: player))
let action: GameAction = if let aliasCardName {
.playAs(aliasCardName, card: card, player: player)
} else {
.playImmediate(card, player: player)
}

return CounterOption(card: card, action: action)
}
}
6 changes: 3 additions & 3 deletions GameKit/Tests/InventoryTests/Figures/CalamityJanetTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ final class CalamityJanetTests: XCTestCase {
])
}

func calamityJanetBeingShot_holdingBang_shouldAskToCounter() throws {
func test_calamityJanetBeingShot_holdingBang_shouldAskToCounter() throws {
// Given
let state = GameState.makeBuilderWithCardRef()
.withPlayer("p1") {
Expand All @@ -82,10 +82,10 @@ final class CalamityJanetTests: XCTestCase {
XCTAssertEqual(result, [
.playImmediate(.bang, target: "p2", player: "p1"),
.chooseOne(player: "p2", options: [
.bang: .play(.bang, player: "p2"),
.bang: .playAs(.missed, card: .bang, player: "p2"),
.pass: .group([])
]),
.playImmediate(.bang, player: "p2"),
.playAs(.missed, card: .bang, player: "p2"),
.cancel(.damage(1, player: "p2"))
])
}
Expand Down

0 comments on commit 60987b2

Please sign in to comment.