update
This commit is contained in:
1 parent
1d563b9eec
commit
04fe9716e8
22 files changed
+764
-151
No files matched your search
+24
-3
@@ -137,6 +137,9 @@ class Player extends RefCounted:
|
||||
var cards_played := 0 # ausgespielte Karten (Münzen nach dem Kampf)
|
||||
var draws := 0 # in diesem Zug gezogene Karten; die n-te kostet n-1 Mana
|
||||
var fatigue := 0 # Züge ohne Karten im Stapel: so viel Leben kostet der nächste
|
||||
var bonus_attack := 0 # Skill Stark: so viel mehr Angriff auf jeder gezogenen Karte
|
||||
var bonus_health := 0 # Skill Zäh: so viel mehr Leben
|
||||
var cheap_from := 99 # Skill Sparsam: Karten ab diesen Kosten sind 1 Mana billiger
|
||||
|
||||
func _init(n: String, h: bool, l: int, t: String = "") -> void:
|
||||
name = n
|
||||
@@ -148,12 +151,24 @@ class Player extends RefCounted:
|
||||
func alive() -> bool:
|
||||
return life > 0
|
||||
|
||||
## Die oberste Karte des eigenen Stapels als Exemplar in der eigenen Stufe; null, wenn er leer ist.
|
||||
## Die oberste Karte des eigenen Stapels als Exemplar in der eigenen Stufe und mit den Skillboni
|
||||
## (Stark, Zäh, Sparsam); null, wenn er leer ist.
|
||||
func draw_from_deck() -> Cards.Card:
|
||||
if deck.is_empty():
|
||||
return null
|
||||
var id: String = deck.pop_back()
|
||||
return Cards.by_id(id).leveled(int(looks.get(id, 0)))
|
||||
return boost(Cards.by_id(id).leveled(int(looks.get(id, 0))))
|
||||
|
||||
## Legt die Skillboni auf ein Exemplar: Stark und Zäh getrennt von den Grundwerten (Fusionen
|
||||
## rechnen ohne sie), Sparsam macht teure Karten 1 Mana billiger.
|
||||
func boost(c: Cards.Card) -> Cards.Card:
|
||||
c.boost_attack = bonus_attack
|
||||
c.boost_health = bonus_health
|
||||
c.attack += bonus_attack
|
||||
c.health += bonus_health
|
||||
if c.cost >= cheap_from:
|
||||
c.cost -= 1
|
||||
return c
|
||||
|
||||
## Offene eigene Wesen mit diesem Element.
|
||||
func element_count(e: String) -> int:
|
||||
@@ -177,6 +192,9 @@ class Player extends RefCounted:
|
||||
p.deck = deck.duplicate()
|
||||
p.draws = draws
|
||||
p.fatigue = fatigue
|
||||
p.bonus_attack = bonus_attack
|
||||
p.bonus_health = bonus_health
|
||||
p.cheap_from = cheap_from
|
||||
for c in board:
|
||||
p.board.append(c.clone(p))
|
||||
return p
|
||||
@@ -489,7 +507,7 @@ func can_fuse(p: Player, a, b) -> Array:
|
||||
|
||||
## Die Karte, die aus a und b entsteht (siehe Cards.fused), in der höheren Stufe der Eltern.
|
||||
static func fusion_result(p: Player, a, b) -> Cards.Card:
|
||||
return Cards.fused(card_of(a), card_of(b), maxi(look_of(p, card_of(a)), look_of(p, card_of(b))))
|
||||
return p.boost(Cards.fused(card_of(a), card_of(b), maxi(look_of(p, card_of(a)), look_of(p, card_of(b)))))
|
||||
|
||||
|
||||
## Verschmilzt zwei eigene Karten zu einer neuen Handkarte: Wesen verlassen das Brett, die neue
|
||||
@@ -633,6 +651,9 @@ static func new_battle_with(opp: Player, r: RandomNumberGenerator = null, fixed_
|
||||
human.perks = Array(rules.get("human_perks", []))
|
||||
human.looks = rules.get("looks", {})
|
||||
human.deck = rules.get("deck", []).duplicate()
|
||||
human.bonus_attack = int(rules.get("bonus_attack", 0))
|
||||
human.bonus_health = int(rules.get("bonus_health", 0))
|
||||
human.cheap_from = int(rules.get("cheap_from", 99))
|
||||
var g := Game.new(human, opp, r)
|
||||
for p in g.players:
|
||||
if "leben_35" in p.perks:
|
||||
|
||||
Reference in new issue
Block a user