mirror of
https://github.com/unanmed/HumanBreak.git
synced 2026-11-13 09:44:30 +08:00
feat: 最后一区
This commit is contained in:
1 parent
3ea0ab07f0
commit
8d8be07052
28 files changed
+549
-223
No files matched your search
+25
-29
@@ -423,38 +423,34 @@ export class DamageEnemy<T extends EnemyIds = EnemyIds> {
|
||||
|
||||
// 这一句必须放到applyHalo之前
|
||||
this.providedHalo.add(29);
|
||||
const halo = (e: EnemyInfo, enemy: EnemyInfo) => {
|
||||
const s = enemy.specialHalo!;
|
||||
|
||||
col.applyHalo(
|
||||
type,
|
||||
range,
|
||||
this,
|
||||
(e, enemy) => {
|
||||
const s = enemy.specialHalo!;
|
||||
|
||||
for (const spe of s) {
|
||||
e.special.add(spe);
|
||||
}
|
||||
// 如果是自身,就不进行特殊属性数值处理了
|
||||
if (e === this.info) return;
|
||||
// 然后计算特殊属性数值
|
||||
for (const spec of s) {
|
||||
const toChange = specialValue.get(spec);
|
||||
if (!toChange) continue;
|
||||
for (const key of toChange) {
|
||||
// 这种光环应该获取怪物的原始数值,而不是真实数值
|
||||
if (enemy.enemy.specialMultiply) {
|
||||
e[key] ??= 1;
|
||||
e[key] *= enemy[key] ?? 1;
|
||||
} else {
|
||||
e[key] ??= 0;
|
||||
e[key] += enemy[key] ?? 0;
|
||||
}
|
||||
for (const spe of s) {
|
||||
e.special.add(spe);
|
||||
}
|
||||
// 如果是自身,就不进行特殊属性数值处理了
|
||||
if (e === this.info) return;
|
||||
// 然后计算特殊属性数值
|
||||
for (const spec of s) {
|
||||
// 如果目标怪物拥有杀戮光环,且光环会加成此属性,则忽略
|
||||
if (e.specialHalo?.includes(spec)) continue;
|
||||
const toChange = specialValue.get(spec);
|
||||
if (!toChange) continue;
|
||||
for (const key of toChange) {
|
||||
// 这种光环应该获取怪物的原始数值,而不是真实数值
|
||||
if (enemy.enemy.specialMultiply) {
|
||||
e[key] ??= 1;
|
||||
e[key] *= enemy[key] ?? 1;
|
||||
} else {
|
||||
e[key] ??= 0;
|
||||
e[key] += enemy[key] ?? 0;
|
||||
}
|
||||
}
|
||||
},
|
||||
// true表示递归计算,视为第一类光环
|
||||
true
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
col.applyHalo(type, range, this, halo, true);
|
||||
col.haloList.push({
|
||||
type: 'square',
|
||||
data: { x: this.x + dx, y: this.y + dy, d },
|
||||
|
||||
@@ -129,7 +129,15 @@ export namespace BluePalace {
|
||||
MT84: [
|
||||
{ fx: 2, fy: 3, dir: 'right', tx: 12, ty: 3, toDir: 'left' },
|
||||
{ fx: 2, fy: 11, dir: 'right', tx: 12, ty: 11, toDir: 'left' }
|
||||
]
|
||||
],
|
||||
MT94: [{ fx: 12, fy: 11, dir: 'left', tx: 5, ty: 1, toDir: 'left' }],
|
||||
MT95: [
|
||||
{ fx: 13, fy: 14, dir: 'up', tx: 7, ty: 8, toDir: 'left' },
|
||||
{ fx: 0, fy: 1, dir: 'right', tx: 14, ty: 1, toDir: 'left' },
|
||||
{ fx: 6, fy: 13, dir: 'right', tx: 6, ty: 0, toDir: 'down' }
|
||||
],
|
||||
MT96: [{ fx: 6, fy: 11, dir: 'down', tx: 4, ty: 14, toDir: 'up' }],
|
||||
MT97: [{ fx: 0, fy: 1, dir: 'right', tx: 8, ty: 9, toDir: 'right' }]
|
||||
};
|
||||
loading.once('coreInit', initPortals);
|
||||
|
||||
|
||||
Reference in new issue
Block a user