From 4fd5c78e6ecf4a31ae46862be060d1d9f3f2c64c Mon Sep 17 00:00:00 2001 From: zhl Date: Wed, 6 Jan 2021 20:09:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=9C=BA=E5=99=A8=E4=BA=BA?= =?UTF-8?q?=E6=B3=95=E6=9C=AF=E6=97=A0=E6=B3=95=E9=80=89=E6=8B=A9=E7=9B=AE?= =?UTF-8?q?=E6=A0=87=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/rooms/RoomExtMethod.ts | 2 +- src/rooms/schema/Pet.ts | 1 + src/utils/assistant.util.ts | 8 ++++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/rooms/RoomExtMethod.ts b/src/rooms/RoomExtMethod.ts index 2aedb6c..9cfeda0 100644 --- a/src/rooms/RoomExtMethod.ts +++ b/src/rooms/RoomExtMethod.ts @@ -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; diff --git a/src/rooms/schema/Pet.ts b/src/rooms/schema/Pet.ts index 2c7de8c..3f7d4bd 100644 --- a/src/rooms/schema/Pet.ts +++ b/src/rooms/schema/Pet.ts @@ -4,6 +4,7 @@ import {Card} from "./Card"; export class Pet extends Schema { @type("number") id?: number; + @type("number") pos: number; /** * 当前点数 diff --git a/src/utils/assistant.util.ts b/src/utils/assistant.util.ts index 5d900ab..6faa933 100644 --- a/src/utils/assistant.util.ts +++ b/src/utils/assistant.util.ts @@ -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) {