修正机器人法术无法选择目标的bug

This commit is contained in:
zhl 2021-01-06 20:09:52 +08:00
parent e0147e58df
commit 4fd5c78e6e
3 changed files with 8 additions and 3 deletions

View File

@ -142,7 +142,7 @@ Object.defineProperties(Room.prototype, {
pet.extAp = obj.extAp;
pet.harmReduce = obj.harmReduce;
pet.skills.length = 0;
pet.state = obj.ap <=0 ? 2: 1;
pet.state = (obj.ap > 0 || obj.pos == 0) ? 1: 2;
pet.effectCount = obj.effectCount;
pet.point = obj.point;
pet.em = obj.em;

View File

@ -4,6 +4,7 @@ import {Card} from "./Card";
export class Pet extends Schema {
@type("number")
id?: number;
@type("number")
pos: number;
/**
*

View File

@ -11,6 +11,7 @@ import {EffectType} from "../cfg/enums/EffectType";
import {CardType} from "../cfg/enums/CardType";
import {GameEnv} from "../cfg/GameEnv";
import {error, robotLog} from "../common/Debug";
import {PlayerStateConst} from "../constants/PlayerStateConst";
let assistantUtil = {
@ -132,6 +133,9 @@ let assistantUtil = {
* @private
*/
getRandomPet(player: Player): number {
if (player.state === PlayerStateConst.PLAYER_DEAD) {
return -1;
}
let pets = [];
for (let [, pet] of player.pets) {
if (pet.ap > 0 && pet.state == 1)
@ -141,7 +145,7 @@ let assistantUtil = {
if (pets.length > 0) {
result = arrUtil.randomOne(pets);
}
return result ? result.pos : -1;
return result ? result.pos : 0;
},
/**
*
@ -189,8 +193,8 @@ let assistantUtil = {
error(`无法选择随从或法术, 随从数: ${petCount}, 法术牌数量: ${spellCards.length}`);
return null;
}
robotLog(`select_pet ${dstPlayer.id}: ${result.effect} 类型: ${effectMap.get(result.effect).type_id == EffectType.skill ? '法术' : '随从'}`)
let targetType: SkillTargetType = CfgMan.getTargetByCard(result.effect);
robotLog(`select_pet ${dstPlayer.id}: ${result.effect} 类型: ${effectMap.get(result.effect).type_id == EffectType.skill ? '法术' : '随从'}, targetType: ${targetType}`)
let targetPlayer;
let targetPos;
switch (targetType) {