Merge branch 'second' of http://git.kingsome.cn/node/card_svr into second
This commit is contained in:
commit
487f4b0902
@ -223,7 +223,9 @@ export class Robot {
|
|||||||
@wait('playerActTime')
|
@wait('playerActTime')
|
||||||
private async selectPet() {
|
private async selectPet() {
|
||||||
let data = await assistantUtil.selectPet(this.player, this.room.state);
|
let data = await assistantUtil.selectPet(this.player, this.room.state);
|
||||||
this.reply('select_pet_c2s', data);
|
if (data) {
|
||||||
|
this.reply('select_pet_c2s', data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -230,7 +230,9 @@ export class RobotClient implements Client {
|
|||||||
@wait('playerActTime')
|
@wait('playerActTime')
|
||||||
private async selectPet() {
|
private async selectPet() {
|
||||||
let data = await assistantUtil.selectPet(this.selfPlayer, this.svrstate);
|
let data = await assistantUtil.selectPet(this.selfPlayer, this.svrstate);
|
||||||
this.reply('select_pet_c2s', data)
|
if (data) {
|
||||||
|
this.reply('select_pet_c2s', data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@ import {Player} from "../rooms/schema/Player";
|
|||||||
import {HeroCfg} from "../cfg/parsers/HeroCfg";
|
import {HeroCfg} from "../cfg/parsers/HeroCfg";
|
||||||
import {EffectType} from "../cfg/enums/EffectType";
|
import {EffectType} from "../cfg/enums/EffectType";
|
||||||
import {CardType} from "../cfg/enums/CardType";
|
import {CardType} from "../cfg/enums/CardType";
|
||||||
|
import {GameEnv} from "../cfg/GameEnv";
|
||||||
|
|
||||||
let assistantUtil = {
|
let assistantUtil = {
|
||||||
|
|
||||||
@ -150,10 +151,15 @@ let assistantUtil = {
|
|||||||
let effectMap: Map<number, EffectCardCfg> = global.$cfg.get(BaseConst.EFFECTCARD);
|
let effectMap: Map<number, EffectCardCfg> = global.$cfg.get(BaseConst.EFFECTCARD);
|
||||||
let spellCards: Card[] = [];
|
let spellCards: Card[] = [];
|
||||||
// 优先取随从
|
// 优先取随从
|
||||||
|
let petCount = 1;
|
||||||
|
for (let [,pet] of dstPlayer.pets) {
|
||||||
|
if (pet.state == 1) petCount ++;
|
||||||
|
}
|
||||||
|
let noMorePet = petCount >= new GameEnv().maxPlayerPetCount;
|
||||||
for (let card of cards) {
|
for (let card of cards) {
|
||||||
let effect = effectMap.get(card.effect);
|
let effect = effectMap.get(card.effect);
|
||||||
// if (effect.type_id == EffectType.unit && dstPlayer.unitCfgs.has(card.effect + '')) {
|
// if (effect.type_id == EffectType.unit && dstPlayer.unitCfgs.has(card.effect + '')) {
|
||||||
if (effect.type_id == EffectType.unit) {
|
if (effect.type_id == EffectType.unit && !noMorePet) {
|
||||||
result = card;
|
result = card;
|
||||||
break;
|
break;
|
||||||
} else if (effect.type_id == EffectType.skill) {
|
} else if (effect.type_id == EffectType.skill) {
|
||||||
@ -163,6 +169,9 @@ let assistantUtil = {
|
|||||||
if (!result) {
|
if (!result) {
|
||||||
result = spellCards.randomOne();
|
result = spellCards.randomOne();
|
||||||
}
|
}
|
||||||
|
if (!result) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
let targetType: SkillTargetType = CfgMan.getTargetByCard(result.effect);
|
let targetType: SkillTargetType = CfgMan.getTargetByCard(result.effect);
|
||||||
let targetPlayer;
|
let targetPlayer;
|
||||||
let targetPos;
|
let targetPos;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user