md5-fight-plus
Version:
47 lines (45 loc) • 1.25 kB
text/typescript
import { Skill } from "@/types/skill";
import { PlayerInstanceProperty } from "@/types/player";
import _ from "lodash";
import {
getOpponent,
getRandomItem,
releasePoison,
removeHookInRoundEnd,
} from "@/utils";
import { POISON_TYPE } from ".";
import { onAttack } from "@/logs";
const getAttackInfo = (player: PlayerInstanceProperty) => {
const info = [`【毒雾】蔓延....`];
return getRandomItem(info);
};
export function _poisonCloud(player: PlayerInstanceProperty) {
let first = true;
player.hooks.onAttack.tap(
{
name: "poisonCloud",
lives: 1000,
},
({ battleField, oneRoundContext }) => {
const opponent = getOpponent(player);
releasePoison(opponent, 2);
if (first) {
player.battleField.logger.addInfo(
player.name + "释放了【毒雾】",
onAttack
);
} else {
player.battleField.logger.addInfo(getAttackInfo(player), onAttack);
}
first = false;
return { battleField, oneRoundContext, damage: 0 };
}
);
}
export const poisonCloud: Skill = {
name: "毒雾",
description: "接下来的整场战斗,我方每回合结束时施加【毒药】2",
mana: 3,
run: _poisonCloud,
type: [POISON_TYPE],
};