md5-fight-plus
Version:
31 lines (28 loc) • 1.04 kB
text/typescript
import { Skill } from "@/types/skill";
import { PlayerInstanceProperty } from "@/types/player";
import {
getRandomItem,
} from "@/utils";
import { ASSASSIN_TYPE } from ".";
const getInfo = (player: PlayerInstanceProperty, atk: number) => {
const info = [`${player.name}释放【终结技】造成${atk}伤害`];
return getRandomItem(info);
};
export function _finalAttack(player: PlayerInstanceProperty) {
player.hooks.onAttack.tap({ name: "finalAttack", lives: 1 }, (props) => {
const atk = player.runtimeProperty.speed * 0.5 * player.runtimeProperty.mana;
player.battleField.logger.addInfo(
getInfo(player, atk),
player.hooks.onAttack
);
player.hooks.onAdjustMana.call( - player.runtimeProperty.mana);
return { ...props, damage: atk };
});
}
export const finalAttack: Skill = {
name: "终结技",
description: "消耗自己所有魔力,每消耗一点造成0.5速度的伤害",
mana: 0,
run: _finalAttack,
type: [ASSASSIN_TYPE],
};