mirror of
https://github.com/unanmed/HumanBreak.git
synced 2026-11-03 10:14:34 +08:00
refactor: 技能系统
This commit is contained in:
1 parent
eca62f5dd0
commit
d137068f4f
17 files changed
+235
-86
No files matched your search
@@ -1,3 +1,4 @@
|
||||
import { HeroSkill } from '@/game/mechanism/misc';
|
||||
import { upgradeSkill } from './skillTree';
|
||||
|
||||
const replayableSettings = ['autoSkill'];
|
||||
@@ -99,15 +100,22 @@ export function init() {
|
||||
});
|
||||
|
||||
function skillAction(skill: string) {
|
||||
let toEmit = skill;
|
||||
|
||||
// 兼容性处理
|
||||
if (skill === '1') {
|
||||
if (flags.autoSkill || !flags.bladeOn) return true;
|
||||
if (flags.blade) flags.blade = false;
|
||||
else flags.blade = true;
|
||||
toEmit = 'Blade';
|
||||
} else if (skill === '2') {
|
||||
toEmit = 'Jump';
|
||||
} else if (skill === '3') {
|
||||
toEmit = 'Shield';
|
||||
}
|
||||
|
||||
if (toEmit === 'Jump') {
|
||||
if (
|
||||
!flags.chase &&
|
||||
!flags.onChase &&
|
||||
!core.status.floorId.startsWith('tower') &&
|
||||
flags.skill2
|
||||
HeroSkill.learnedSkill(HeroSkill.Jump)
|
||||
) {
|
||||
Mota.Plugin.require('skill_g').jumpSkill();
|
||||
} else {
|
||||
@@ -115,10 +123,22 @@ export function init() {
|
||||
core.useItem('pickaxe');
|
||||
}
|
||||
}
|
||||
} else if (skill === '3') {
|
||||
if (flags.autoSkill || !flags.shieldOn) return true;
|
||||
if (flags.shield) flags.shield = false;
|
||||
else flags.shield = true;
|
||||
} else {
|
||||
if (HeroSkill.getAutoSkill()) {
|
||||
core.replay();
|
||||
core.updateStatusBar();
|
||||
return true;
|
||||
}
|
||||
let num = HeroSkill.Skill.None;
|
||||
switch (toEmit) {
|
||||
case 'Blade':
|
||||
num = HeroSkill.Blade;
|
||||
break;
|
||||
case 'Shield':
|
||||
num = HeroSkill.Shield;
|
||||
break;
|
||||
}
|
||||
HeroSkill.toggleSkill(num);
|
||||
}
|
||||
core.updateStatusBar();
|
||||
core.replay();
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
// @ts-nocheck
|
||||
|
||||
import { HeroSkill } from '@/game/mechanism/misc';
|
||||
|
||||
// 所有的主动技能效果
|
||||
var ignoreInJump = {
|
||||
event: ['X20007', 'X20001', 'X20006', 'X20014', 'X20010', 'X20007'],
|
||||
@@ -56,7 +58,7 @@ export function jumpSkill() {
|
||||
if (jumpIgnoreFloor.has(core.status.floorId) || flags.onChase) {
|
||||
return core.drawTip('当前楼层无法使用该技能');
|
||||
}
|
||||
if (!flags.skill2) return;
|
||||
if (!HeroSkill.learnedSkill(HeroSkill.Jump)) return;
|
||||
if (!flags['jump_' + core.status.floorId])
|
||||
flags['jump_' + core.status.floorId] = 0;
|
||||
if (core.status.floorId == 'MT14') {
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import { HeroSkill } from '@/game/mechanism/misc';
|
||||
|
||||
let levels: number[] = [];
|
||||
|
||||
export type Chapter = 'chapter1' | 'chapter2';
|
||||
@@ -263,7 +265,7 @@ export function upgradeSkill(skill: number) {
|
||||
core.status.hero.mana += 5;
|
||||
break;
|
||||
case 2: // 断灭之刃
|
||||
core.setFlag('bladeOn', true);
|
||||
HeroSkill.learnSkill(HeroSkill.Blade);
|
||||
break;
|
||||
case 3: // 坚韧 +2防御
|
||||
core.status.hero.def += 2;
|
||||
@@ -287,7 +289,7 @@ export function upgradeSkill(skill: number) {
|
||||
core.addBuff('def', 0.01);
|
||||
break;
|
||||
case 10: // 铸剑为盾
|
||||
core.setFlag('shieldOn', true);
|
||||
HeroSkill.learnSkill(HeroSkill.Shield);
|
||||
break;
|
||||
case 11: // 学习
|
||||
core.status.hero.magicDef += 100;
|
||||
|
||||
Reference in new issue
Block a user