feat: Sword Masteryyyy
This commit is contained in:
parent
3ac654af4f
commit
6026a32429
2 changed files with 15 additions and 2 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue