Merge remote-tracking branch 'origin/sword_mastery' into implement_support_cards

This commit is contained in:
istamarahsan 2025-01-26 04:07:50 +07:00
commit 152ade51da
2 changed files with 15 additions and 2 deletions

View file

@ -118,9 +118,9 @@ func resolve(action_by_player_id: Dictionary) -> PhaseTransition:
var player_1_win = rps_wins[player_1_action.move] == player_2_action.move var player_1_win = rps_wins[player_1_action.move] == player_2_action.move
var player_2_win = rps_wins[player_2_action.move] == player_1_action.move var player_2_win = rps_wins[player_2_action.move] == player_1_action.move
if tie or player_1_win: if tie or player_1_win:
player_2.monster.health_delta -= player_1.monster.card.damage[player_1_action.move] player_2.monster.health_delta -= player_1.monster.card.damage[player_1_action.move] + _resolve_damage_delta(player_1)
if tie or player_2_win: if tie or player_2_win:
player_1.monster.health_delta -= player_2.monster.card.damage[player_2_action.move] player_1.monster.health_delta -= player_2.monster.card.damage[player_2_action.move] + _resolve_damage_delta(player_2)
phase = Match.Phase.SUPPORT_2 phase = Match.Phase.SUPPORT_2
Match.Phase.SUPPORT_2: Match.Phase.SUPPORT_2:
var support_cards = [] var support_cards = []
@ -148,6 +148,7 @@ func resolve(action_by_player_id: Dictionary) -> PhaseTransition:
var monster_final_health = player.monster.health + player.monster.health_delta var monster_final_health = player.monster.health + player.monster.health_delta
if monster_final_health <= 0: if monster_final_health <= 0:
player.monster = null player.monster = null
player.active_support_cards = []
events.append(EventMonsterDied.new(player.id)) events.append(EventMonsterDied.new(player.id))
else: else:
player.monster.health += player.monster.health_delta player.monster.health += player.monster.health_delta
@ -183,4 +184,15 @@ func _resolve_support_card_effects(player: MatchPlayer, card: SupportCard) -> Ar
"heal": "heal":
player.monster.health_delta += magnitude player.monster.health_delta += magnitude
events.append(EventSupportEffectApplied.new(player.id, effect_instance)) events.append(EventSupportEffectApplied.new(player.id, effect_instance))
"sword_mastery":
player.active_support_cards.append(card)
events.append(EventSupportEffectApplied.new(player.id, effect_instance))
return events return events
func _resolve_damage_delta(player: MatchPlayer):
var final_delta: int = 0
for card in player.active_support_cards:
match card.id:
"sword_mastery":
final_delta += card.magnitude
return final_delta

View file

@ -6,6 +6,7 @@ var hand: Array[Card] = []
var deck: Array[Card] var deck: Array[Card]
var energy: int = 5 var energy: int = 5
var monster: MatchMonster = null var monster: MatchMonster = null
var active_support_cards: Array[SupportCard] = []
func _init(id: int, deck: Array[Card]) -> void: func _init(id: int, deck: Array[Card]) -> void:
self.id = id self.id = id