md5-fight-plus
Version:
37 lines (34 loc) • 1.08 kB
text/typescript
import { Skill } from "@/types/skill";
import { PlayerInstanceProperty } from "@/types/player";
import {
getOpponent,
getRandomItem,
releaseFrostbite,
removeHookInRoundEnd,
} from "@/utils";
import { FIRE_TYPE } from "../firing";
const getAttackInfo = (player: PlayerInstanceProperty, atk: number) => {
const defender = getOpponent(player);
const info = [
`空气中逐渐浮现出一丝冰晶,随着时间流逝,这片空间都被冻结了!${player.name}释放【绝对零度】,施加【霜蚀】50!`,
];
return getRandomItem(info);
};
export function _absoluteZero(player: PlayerInstanceProperty) {
const id = player.hooks.onAttack.tap("absoluteZero", (props) => {
releaseFrostbite(player, 50);
player.battleField.logger.addInfo(
getAttackInfo(player, 5),
player.hooks.onAttack
);
return { ...props, damage: 0 };
});
removeHookInRoundEnd(player, id, "onAttack");
}
export const absoluteZero: Skill = {
name: "绝对零度",
description: "【霜蚀】50",
mana: 8,
run: _absoluteZero,
type: [FIRE_TYPE],
};