fix: add support card only if not instant

This commit is contained in:
istamarahsan 2025-01-26 05:05:45 +07:00
parent fc70d205b3
commit 064559130c

View file

@ -101,8 +101,9 @@ func resolve(action_by_player_id: Dictionary) -> PhaseTransition:
for played_card in support_cards: for played_card in support_cards:
var player: MatchPlayer = played_card.player var player: MatchPlayer = played_card.player
var card: SupportCard = played_card.card var card: SupportCard = played_card.card
var executed_instant_effects_events = _execute_support_card_immediate_effects(player, card) if played_card is ImplementedSupportCard and played_card.scope != 'instant'
player.active_support_cards.append(card) player.active_support_cards.append(played_card)
var executed_instant_effects_events = _execute_support_card_instant_effects(player, card)
events.append_array(executed_instant_effects_events) events.append_array(executed_instant_effects_events)
phase = Match.Phase.RPS phase = Match.Phase.RPS
Match.Phase.RPS: Match.Phase.RPS:
@ -145,8 +146,9 @@ func resolve(action_by_player_id: Dictionary) -> PhaseTransition:
for played_card in support_cards: for played_card in support_cards:
var player: MatchPlayer = played_card.player var player: MatchPlayer = played_card.player
var card: SupportCard = played_card.card var card: SupportCard = played_card.card
if played_card is ImplementedSupportCard and played_card.scope != 'instant'
player.active_support_cards.append(played_card) player.active_support_cards.append(played_card)
events.append_array(_execute_support_card_immediate_effects(player, card)) events.append_array(_execute_support_card_instant_effects(player, card))
for player: MatchPlayer in players.values(): for player: MatchPlayer in players.values():
if _player_has_active_support_card(player, "absorb") and player.monster.health_delta < 0: if _player_has_active_support_card(player, "absorb") and player.monster.health_delta < 0:
@ -190,7 +192,7 @@ func resolve(action_by_player_id: Dictionary) -> PhaseTransition:
func _monster_from_card(card: MonsterCard) -> MatchMonster: func _monster_from_card(card: MonsterCard) -> MatchMonster:
return MatchMonster.new(card, card.base_health, 0) return MatchMonster.new(card, card.base_health, 0)
func _execute_support_card_immediate_effects(player: MatchPlayer, card: SupportCard) -> Array[Event]: func _execute_support_card_instant_effects(player: MatchPlayer, card: SupportCard) -> Array[Event]:
var events: Array[Event] var events: Array[Event]
if card is ImplementedSupportCard: if card is ImplementedSupportCard:
match card.id: match card.id: