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) {