根据最新规则修改添加特定卡的gm命令
This commit is contained in:
parent
54e3d589c1
commit
1a7a6361d5
@ -182,8 +182,10 @@ Object.defineProperties(Room.prototype, {
|
||||
for (let i = 0; i < realCount; i++) {
|
||||
let cardId = 1000 + (this.state.maxCardId ++ );
|
||||
let card = gameUtil.generateCardWithEffect(effectId, cardId, options);
|
||||
if (card) {
|
||||
tmpCards.push(card);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
let sourcePlayer;
|
||||
|
@ -47,7 +47,16 @@ let gameUtil = {
|
||||
*/
|
||||
generateCardWithEffect(effectId: number, preCardId: number, options?: any): Card {
|
||||
let numCfgMap: Map<number, SystemCardCfg> = global.$cfg.get(BaseConst.SYSTEMCARD);
|
||||
const effectMap = global.$cfg.get(BaseConst.EFFECTCARD);
|
||||
let cfgs = [];
|
||||
const effectCfg = effectMap.get(effectId);
|
||||
if (!effectCfg) {
|
||||
return null;
|
||||
}
|
||||
if (effectCfg.type_id == EffectType.unit) {
|
||||
let point = Math.random2(1, 11) | 0;
|
||||
return new Card(preCardId + 1, point, CardType.variable_unit, effectId);
|
||||
} else {
|
||||
for (let [, cfg] of numCfgMap) {
|
||||
if (cfg.weight.indexOf(effectId + '') >= 0) {
|
||||
cfgs.push(cfg);
|
||||
@ -55,6 +64,8 @@ let gameUtil = {
|
||||
}
|
||||
let cfg: SystemCardCfg = cfgs.randomOne();
|
||||
return new Card(preCardId + 1, cfg.point, cfg.type_id, effectId);
|
||||
}
|
||||
|
||||
},
|
||||
/**
|
||||
* 获取随机的随从
|
||||
@ -201,9 +212,10 @@ let gameUtil = {
|
||||
* @param fromplayer
|
||||
*/
|
||||
addCardToPlayer(room: Room, player: Player, cards: Card[], fromplayer?: Player) {
|
||||
const effectMap = global.$cfg.get(BaseConst.EFFECTCARD);
|
||||
for (let card of cards) {
|
||||
// 如果card的type == 11, 说明是自选随从卡, 则替换成玩家牌组中的卡
|
||||
if (card.type == CardType.variable_unit) {
|
||||
if (card.type == CardType.variable_unit && effectMap.get(card.effect).type_id == EffectType.variable_unit) {
|
||||
card.effect = this.getRandomServant(player);
|
||||
}
|
||||
player.cards.set(card.id + '', card);
|
||||
@ -219,6 +231,7 @@ let gameUtil = {
|
||||
* @param targetCards
|
||||
*/
|
||||
changeCard(cardArr: Card[], player: Player, targetCards: Card[]): Card[] {
|
||||
const effectMap = global.$cfg.get(BaseConst.EFFECTCARD);
|
||||
let cards: Card[] = [];
|
||||
for (let card of targetCards) {
|
||||
player.cards.delete(card.id + '');
|
||||
@ -228,7 +241,7 @@ let gameUtil = {
|
||||
let count = targetCards.length;
|
||||
for (let i = 0; i < count; i++) {
|
||||
let card = cardArr.pop();
|
||||
if (card.type == CardType.variable_unit) {
|
||||
if (card.type == CardType.variable_unit && effectMap.get(card.effect).type_id == EffectType.variable_unit) {
|
||||
card.effect = this.getRandomServant(player);
|
||||
}
|
||||
cards.push(card);
|
||||
|
Loading…
x
Reference in New Issue
Block a user