UNPKG

md5-fight-plus

Version:

40 lines (37 loc) 1.29 kB
import { Skill } from "@/types/skill"; import { PlayerInstanceProperty } from "@/types/player"; import { getOpponent, getRandomItem, releaseFrostbite, removeHookInRoundEnd, } from "@/utils"; import { FIRE_TYPE } from "../firing"; const getInfo = (player: PlayerInstanceProperty) => { const info = [`${player.name}释放【寒冰护甲】,获得10点护甲值`]; return getRandomItem(info); }; export function _iceArmor(player: PlayerInstanceProperty) { const defender = getOpponent(player); const id = player.hooks.onAttack.tap("iceArmor", (props) => { player.hooks.onAdjustArmor.call(10); player.battleField.logger.addInfo(getInfo(player), player.hooks.onAttack); return props; }); const id2 = player.hooks.onUnderAttack.tap("Ice Armor Frostbite", (props) => { defender.hooks.onAdjustFrostbite.call(5); player.battleField.logger.addInfo( `因冰寒护甲,${defender.name}获得【霜蚀】5` ); removeHookInRoundEnd(player, id2, "onUnderAttack"); return props; }); removeHookInRoundEnd(player, id, "onAttack"); } export const iceArmor: Skill = { name: "寒冰护甲", description: "获得10点护甲,下一回合中每当受到一次攻击,【霜蚀】5", mana: 3, run: _iceArmor, type: [FIRE_TYPE], };