diff --git a/public/project/enemys.js b/public/project/enemys.js index 7502ee5..99f8fbe 100644 --- a/public/project/enemys.js +++ b/public/project/enemys.js @@ -189,7 +189,7 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 = "E676": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "E677": {"name":"骷髅巫师","hp":150000,"atk":2000,"def":5000,"money":5,"exp":600,"point":0,"special":[13]}, "E678": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E679": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "E679": {"name":"剑盾之卫","hp":30000,"atk":10000,"def":6000,"money":7,"exp":700,"point":0,"special":[1],"crit":600}, "E680": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "E681": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "E682": {"name":"苍蓝聚形","hp":25000,"atk":7000,"def":4000,"money":5,"exp":400,"point":0,"special":[8],"together":20}, diff --git a/public/project/floors/MT74.js b/public/project/floors/MT74.js index 8bc597f..456a715 100644 --- a/public/project/floors/MT74.js +++ b/public/project/floors/MT74.js @@ -31,6 +31,13 @@ main.floors.MT74= 7, 0 ] + }, + "0,7": { + "floorId": "MT78", + "loc": [ + 14, + 7 + ] } }, "beforeBattle": {}, diff --git a/public/project/floors/MT75.js b/public/project/floors/MT75.js index f967abc..fe9aa97 100644 --- a/public/project/floors/MT75.js +++ b/public/project/floors/MT75.js @@ -43,13 +43,13 @@ main.floors.MT75= "map": [ [648,648,648,648,648,648,648,648,648,648,648,648,648,648,648], [648,491,491,494,491,494, 0, 0, 0,494,491,494,491,491,648], - [648,648,648,648,648,648, 0, 0, 0,648,648,648,648,648,648], - [648,484,484,492,484,492, 0,677, 0,492,484,492,484,484,648], - [648,648,648,648,648,648,618,682,513,648,648,648,648,648,648], - [648, 0, 0, 0, 0,103,232,671,658,103, 0, 0, 0, 0,648], + [648,648,648,648,648,648, 0,682, 0,648,648,648,648,648,648], + [648,484,484,492,484,492,578,677,679,492,484,492,484,484,648], + [648,648,648,648,648,648,618,249,513,648,648,648,648,648,648], + [648, 0, 0, 0, 0,103,232,658,671,103, 0, 0, 0, 0,648], [648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,648], [ 92, 0, 0,672, 0, 0, 0, 0, 0, 0, 0,599, 0, 0, 94], - [648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,648], + [648, 0, 0, 0, 0, 0, 0,657, 0, 0, 0, 0, 0, 0,648], [648, 0, 0, 0, 0,103, 0, 0, 0,103, 0, 0, 0, 0,648], [648,648,648,648,648,648, 0, 0, 0,648,648,648,648,648,648], [648,484,484,492,484,492, 0, 0, 0,492,484,492,484,484,648], diff --git a/public/project/floors/MT76.js b/public/project/floors/MT76.js index 35e7bc6..8758766 100644 --- a/public/project/floors/MT76.js +++ b/public/project/floors/MT76.js @@ -31,6 +31,13 @@ main.floors.MT76= 14, 7 ] + }, + "3,14": { + "floorId": "MT78", + "loc": [ + 3, + 0 + ] } }, "beforeBattle": {}, @@ -46,11 +53,11 @@ main.floors.MT76= [648,376, 34,648, 0,648,648,492,648,648, 0,648,484,376,648], [648,648,648,648,682,648, 27, 29, 28,648,513,648,648,671,648], [648, 0,682, 33, 0,648,648,578,648,648, 0,232, 27, 33,648], - [648,484,648, 0,381, 0,648, 0,249,484, 0,648, 29, 28,648], + [648,484,648, 0,381, 0,648, 0,657,484, 0,648, 29, 28,648], [648, 0,648,648,648,492,648, 0,648, 0,381,648,648,494,648], - [ 92, 0,648,376, 0,378,648,657,648,648,492,648, 92, 0, 94], - [648, 0,648, 0, 22, 0,648, 27,484, 29, 0,648,648,648,648], - [648, 0,648,381, 0,491,648, 0,648,249,648,648, 0,378,648], + [ 92, 0,648,376, 0,378,648,682,648,648,492,648, 92, 0, 94], + [648, 0,492, 0, 22, 0,648, 27,484, 29, 0,648,648,648,648], + [648, 0,648,381, 0,491,648, 0,648,657,648,648, 0,378,648], [648,657,648,648,682,648,648,658,648, 0,482,658,482, 0,648], [648, 0, 33, 0, 0,648, 0,484,492, 27, 0,648,648,232,648], [648,648,648,648,249,648,484,648,648,648,682,648, 29,376,648], diff --git a/public/project/floors/MT78.js b/public/project/floors/MT78.js index d84d763..a952991 100644 --- a/public/project/floors/MT78.js +++ b/public/project/floors/MT78.js @@ -1,45 +1,72 @@ main.floors.MT78= { -"floorId": "MT78", -"title": "苍蓝之殿-左上", -"name": "78", -"width": 15, -"height": 15, -"canFlyTo": true, -"canFlyFrom": true, -"canUseQuickShop": true, -"cannotViewMap": false, -"images": [], -"ratio": 8, -"defaultGround": "T650", -"bgm": "palaceNorth.mp3", -"firstArrive": [], -"eachArrive": [], -"parallelDo": "", -"events": {}, -"changeFloor": {}, -"beforeBattle": {}, -"afterBattle": {}, -"afterGetItem": {}, -"afterOpenDoor": {}, -"autoEvent": {}, -"cannotMove": {}, -"cannotMoveIn": {}, -"map": [ - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + "floorId": "MT78", + "title": "苍蓝之殿-左上", + "name": "78", + "width": 15, + "height": 15, + "canFlyTo": true, + "canFlyFrom": true, + "canUseQuickShop": true, + "cannotViewMap": false, + "images": [], + "ratio": 8, + "defaultGround": "T650", + "bgm": "palaceNorth.mp3", + "firstArrive": [], + "eachArrive": [], + "parallelDo": "", + "events": {}, + "changeFloor": { + "3,0": { + "floorId": "MT76", + "loc": [ + 3, + 14 + ] + }, + "14,7": { + "floorId": "MT74", + "loc": [ + 0, + 7 + ] + } + }, + "beforeBattle": {}, + "afterBattle": {}, + "afterGetItem": {}, + "afterOpenDoor": {}, + "autoEvent": {}, + "cannotMove": {}, + "cannotMoveIn": {}, + "map": [ + [648,648,648, 91,648,648,648,648,648,648,648,648,648,648,648], + [648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,648], + [648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,648], + [648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,648], + [648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,648], + [648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,648], + [ 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,648], + [648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94], + [648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,648], + [648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,648], + [ 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,648], + [648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,648], + [648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,648], + [648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,648], + [648,648,648,648,648,648,648, 93,648,648,648,648,648,648,648] ], + "bgmap": [ + +], + "fgmap": [ + +], + "bg2map": [ + +], + "fg2map": [ + +] } \ No newline at end of file diff --git a/src/core/render/preset/damage.ts b/src/core/render/preset/damage.ts index 9f40815..f0bbfd6 100644 --- a/src/core/render/preset/damage.ts +++ b/src/core/render/preset/damage.ts @@ -323,6 +323,7 @@ export class Damage extends Sprite { const y = enemy.y!; const { damage } = enemy.calDamage(); const cri = enemy.calCritical(1)[0]?.atkDelta ?? Infinity; + const real = enemy.getRealInfo(); const dam1: DamageRenderable = { align: 'left', @@ -341,6 +342,19 @@ export class Damage extends Sprite { y: y * this.cellSize + this.cellSize - 11 }; block.add(dam1).add(dam2); + + if (real.special.includes(8) && real.togetherNum) { + const dam3: DamageRenderable = { + align: 'right', + baseline: 'top', + text: real.togetherNum.toString(), + color: '#09FF5B', + x: x * this.cellSize + this.cellSize - 1, + y: y * this.cellSize - 2, + strokeWidth: 3 + }; + block.add(dam3); + } } /** diff --git a/src/game/enemy/damage.ts b/src/game/enemy/damage.ts index f14ff4a..decebb0 100644 --- a/src/game/enemy/damage.ts +++ b/src/game/enemy/damage.ts @@ -24,8 +24,6 @@ interface HaloType { }; } -type A = Enemy; - export interface EnemyInfo extends Partial { atk: number; def: number; @@ -39,6 +37,7 @@ export interface EnemyInfo extends Partial { x?: number; y?: number; floorId?: FloorIds; + togetherNum?: number; } interface DamageInfo { @@ -597,6 +596,8 @@ export class DamageEnemy { ) { e.atkBuff_ += enemy.together ?? 0; e.defBuff_ += enemy.together ?? 0; + e.togetherNum ??= 0; + e.togetherNum++; } } ); diff --git a/src/game/mechanism/misc.ts b/src/game/mechanism/misc.ts index bf5ed77..886c28d 100644 --- a/src/game/mechanism/misc.ts +++ b/src/game/mechanism/misc.ts @@ -92,13 +92,6 @@ export namespace BluePalace { export const portalMap: PortalMap = new Map(); export const portals: Partial> = { - // MT75: [ - // { fx: 7, fy: 7, dir: 'left', tx: 9, ty: 9, toDir: 'down' }, - // { fx: 5, fy: 11, dir: 'right', tx: 7, ty: 9, toDir: 'up' }, - // { fx: 4, fy: 6, dir: 'right', tx: 9, ty: 4, toDir: 'up' }, - // { fx: 5, fy: 9, dir: 'right', tx: 3, ty: 7, toDir: 'up' }, - // { fx: 7, fy: 5, dir: 'right', tx: 4, ty: 9, toDir: 'up' } - // ] MT76: [ { fx: 11, fy: 7, dir: 'right', tx: 4, ty: 6, toDir: 'down' }, { fx: 6, fy: 5, dir: 'left', tx: 8, ty: 13, toDir: 'right' } diff --git a/src/plugin/fx/halo.ts b/src/plugin/fx/halo.ts index 2d7070d..a129e5d 100644 --- a/src/plugin/fx/halo.ts +++ b/src/plugin/fx/halo.ts @@ -46,8 +46,8 @@ const haloColor: Record = { 25: ['purple'], 26: ['blue'], 27: ['red'], - 29: ['#3CFF49'], - 31: ['#51E9FF'] + 31: ['#3CFF49'], + 29: ['#51E9FF'] }; class Halo extends Sprite { diff --git a/src/plugin/game/dev/hotReload.js b/src/plugin/game/dev/hotReload.js index 8357fec..d46f141 100644 --- a/src/plugin/game/dev/hotReload.js +++ b/src/plugin/game/dev/hotReload.js @@ -50,6 +50,7 @@ export {}; if (weather) core.setWeather(weather[0], weather[1]); else core.setWeather(); } + core.status.maps[data].enemy?.extract(); core.updateStatusBar(true, true); } Mota.require('module', 'Shadow').Shadow.update(true); diff --git a/src/ui/statusBar.vue b/src/ui/statusBar.vue index 9bc4acb..8e6b8b7 100644 --- a/src/ui/statusBar.vue +++ b/src/ui/statusBar.vue @@ -275,6 +275,7 @@ onUnmounted(() => { height: 2.8vw; margin-right: 10%; margin-left: 10%; + pointer-events: none; } .status-value {