12张卡组不允许2张ssr+
This commit is contained in:
@@ -21,13 +21,15 @@ MonoBehaviour:
|
|||||||
mana_max: 10
|
mana_max: 10
|
||||||
# 初始化手牌数量
|
# 初始化手牌数量
|
||||||
cards_start: 3
|
cards_start: 3
|
||||||
|
# 每回合抽牌数量
|
||||||
cards_per_turn: 1
|
cards_per_turn: 1
|
||||||
|
# 手牌数量限制
|
||||||
cards_max: 10
|
cards_max: 10
|
||||||
# 超时时间
|
# 超时时间
|
||||||
turn_duration: 600
|
turn_duration: 600
|
||||||
second_bonus: {fileID: 11400000, guid: 9503f60659f1df04eb3dd7fa925885fb, type: 2}
|
second_bonus: {fileID: 11400000, guid: 9503f60659f1df04eb3dd7fa925885fb, type: 2}
|
||||||
mulligan: 1
|
mulligan: 1
|
||||||
deck_size: 8
|
deck_size: 12
|
||||||
deck_duplicate_max: 2
|
deck_duplicate_max: 2
|
||||||
sell_ratio: 0.8
|
sell_ratio: 0.8
|
||||||
ai_type: 10
|
ai_type: 10
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ namespace TcgEngine
|
|||||||
[Header("Deckbuilding")]
|
[Header("Deckbuilding")]
|
||||||
public int deck_size = 30;
|
public int deck_size = 30;
|
||||||
public int deck_duplicate_max = 2;
|
public int deck_duplicate_max = 2;
|
||||||
|
public int deck_ssr_max = 2;
|
||||||
|
|
||||||
[Header("Buy/Sell")]
|
[Header("Buy/Sell")]
|
||||||
public float sell_ratio = 0.8f;
|
public float sell_ratio = 0.8f;
|
||||||
|
|||||||
@@ -657,8 +657,9 @@ namespace TcgEngine.UI
|
|||||||
|
|
||||||
bool owner = IsCardOwned(udata, card.GetCard(), card.GetVariant(), in_deck + 1);
|
bool owner = IsCardOwned(udata, card.GetCard(), card.GetVariant(), in_deck + 1);
|
||||||
bool deck_limit = in_deck_same < GameplayData.Get().deck_duplicate_max;
|
bool deck_limit = in_deck_same < GameplayData.Get().deck_duplicate_max;
|
||||||
|
bool ssr_limit = CheckSSRLimit(icard);
|
||||||
|
|
||||||
if (owner && deck_limit)
|
if (owner && deck_limit && ssr_limit)
|
||||||
{
|
{
|
||||||
AddDeckCard(icard, variant);
|
AddDeckCard(icard, variant);
|
||||||
RefreshDeckCards();
|
RefreshDeckCards();
|
||||||
@@ -764,6 +765,31 @@ namespace TcgEngine.UI
|
|||||||
return udata.GetCardQuantity(card, variant) >= quantity;
|
return udata.GetCardQuantity(card, variant) >= quantity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool CheckSSRLimit(CardData card)
|
||||||
|
{
|
||||||
|
// 检查卡牌稀有度是否 >= 4 (SSR级别)
|
||||||
|
if (card.rarity.rank >= 4)
|
||||||
|
{
|
||||||
|
int ssr_count = CountSSRCards();
|
||||||
|
return ssr_count < GameplayData.Get().deck_ssr_max;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int CountSSRCards()
|
||||||
|
{
|
||||||
|
int count = 0;
|
||||||
|
foreach (UserCardData ucard in deck_cards)
|
||||||
|
{
|
||||||
|
CardData card = CardData.Get(ucard.tid);
|
||||||
|
if (card != null && card.rarity.rank >= 4)
|
||||||
|
{
|
||||||
|
count += ucard.quantity;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
private string GetSelectedHeroId()
|
private string GetSelectedHeroId()
|
||||||
{
|
{
|
||||||
foreach (IconButton btn in hero_powers)
|
foreach (IconButton btn in hero_powers)
|
||||||
|
|||||||
Reference in New Issue
Block a user