feat: 抱团显示数字

This commit is contained in:
unanmed 2024-08-30 16:21:56 +08:00
parent 9b2f23fd97
commit 402ec37cb0
11 changed files with 113 additions and 62 deletions

View File

@ -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":[]}, "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]}, "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":[]}, "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":[]}, "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":[]}, "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}, "E682": {"name":"苍蓝聚形","hp":25000,"atk":7000,"def":4000,"money":5,"exp":400,"point":0,"special":[8],"together":20},

View File

@ -31,6 +31,13 @@ main.floors.MT74=
7, 7,
0 0
] ]
},
"0,7": {
"floorId": "MT78",
"loc": [
14,
7
]
} }
}, },
"beforeBattle": {}, "beforeBattle": {},

View File

@ -43,13 +43,13 @@ main.floors.MT75=
"map": [ "map": [
[648,648,648,648,648,648,648,648,648,648,648,648,648,648,648], [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,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,648,648,648,648,648, 0,682, 0,648,648,648,648,648,648],
[648,484,484,492,484,492, 0,677, 0,492,484,492,484,484,648], [648,484,484,492,484,492,578,677,679,492,484,492,484,484,648],
[648,648,648,648,648,648,618,682,513,648,648,648,648,648,648], [648,648,648,648,648,648,618,249,513,648,648,648,648,648,648],
[648, 0, 0, 0, 0,103,232,671,658,103, 0, 0, 0, 0,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], [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], [ 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, 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,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], [648,484,484,492,484,492, 0, 0, 0,492,484,492,484,484,648],

View File

@ -31,6 +31,13 @@ main.floors.MT76=
14, 14,
7 7
] ]
},
"3,14": {
"floorId": "MT78",
"loc": [
3,
0
]
} }
}, },
"beforeBattle": {}, "beforeBattle": {},
@ -46,11 +53,11 @@ main.floors.MT76=
[648,376, 34,648, 0,648,648,492,648,648, 0,648,484,376,648], [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,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, 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], [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], [ 92, 0,648,376, 0,378,648,682,648,648,492,648, 92, 0, 94],
[648, 0,648, 0, 22, 0,648, 27,484, 29, 0,648,648,648,648], [648, 0,492, 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], [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,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, 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], [648,648,648,648,249,648,484,648,648,648,682,648, 29,376,648],

View File

@ -1,45 +1,72 @@
main.floors.MT78= main.floors.MT78=
{ {
"floorId": "MT78", "floorId": "MT78",
"title": "苍蓝之殿-左上", "title": "苍蓝之殿-左上",
"name": "78", "name": "78",
"width": 15, "width": 15,
"height": 15, "height": 15,
"canFlyTo": true, "canFlyTo": true,
"canFlyFrom": true, "canFlyFrom": true,
"canUseQuickShop": true, "canUseQuickShop": true,
"cannotViewMap": false, "cannotViewMap": false,
"images": [], "images": [],
"ratio": 8, "ratio": 8,
"defaultGround": "T650", "defaultGround": "T650",
"bgm": "palaceNorth.mp3", "bgm": "palaceNorth.mp3",
"firstArrive": [], "firstArrive": [],
"eachArrive": [], "eachArrive": [],
"parallelDo": "", "parallelDo": "",
"events": {}, "events": {},
"changeFloor": {}, "changeFloor": {
"beforeBattle": {}, "3,0": {
"afterBattle": {}, "floorId": "MT76",
"afterGetItem": {}, "loc": [
"afterOpenDoor": {}, 3,
"autoEvent": {}, 14
"cannotMove": {}, ]
"cannotMoveIn": {}, },
"map": [ "14,7": {
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "floorId": "MT74",
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "loc": [
[ 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], 7
[ 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], "beforeBattle": {},
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "afterBattle": {},
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "afterGetItem": {},
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "afterOpenDoor": {},
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "autoEvent": {},
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "cannotMove": {},
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "cannotMoveIn": {},
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] "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": [
]
} }

View File

@ -323,6 +323,7 @@ export class Damage extends Sprite<EDamageEvent> {
const y = enemy.y!; const y = enemy.y!;
const { damage } = enemy.calDamage(); const { damage } = enemy.calDamage();
const cri = enemy.calCritical(1)[0]?.atkDelta ?? Infinity; const cri = enemy.calCritical(1)[0]?.atkDelta ?? Infinity;
const real = enemy.getRealInfo();
const dam1: DamageRenderable = { const dam1: DamageRenderable = {
align: 'left', align: 'left',
@ -341,6 +342,19 @@ export class Damage extends Sprite<EDamageEvent> {
y: y * this.cellSize + this.cellSize - 11 y: y * this.cellSize + this.cellSize - 11
}; };
block.add(dam1).add(dam2); 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);
}
} }
/** /**

View File

@ -24,8 +24,6 @@ interface HaloType {
}; };
} }
type A = Enemy;
export interface EnemyInfo extends Partial<Enemy> { export interface EnemyInfo extends Partial<Enemy> {
atk: number; atk: number;
def: number; def: number;
@ -39,6 +37,7 @@ export interface EnemyInfo extends Partial<Enemy> {
x?: number; x?: number;
y?: number; y?: number;
floorId?: FloorIds; floorId?: FloorIds;
togetherNum?: number;
} }
interface DamageInfo { interface DamageInfo {
@ -597,6 +596,8 @@ export class DamageEnemy<T extends EnemyIds = EnemyIds> {
) { ) {
e.atkBuff_ += enemy.together ?? 0; e.atkBuff_ += enemy.together ?? 0;
e.defBuff_ += enemy.together ?? 0; e.defBuff_ += enemy.together ?? 0;
e.togetherNum ??= 0;
e.togetherNum++;
} }
} }
); );

View File

@ -92,13 +92,6 @@ export namespace BluePalace {
export const portalMap: PortalMap = new Map(); export const portalMap: PortalMap = new Map();
export const portals: Partial<Record<FloorIds, Portal[]>> = { export const portals: Partial<Record<FloorIds, Portal[]>> = {
// 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: [ MT76: [
{ fx: 11, fy: 7, dir: 'right', tx: 4, ty: 6, toDir: 'down' }, { fx: 11, fy: 7, dir: 'right', tx: 4, ty: 6, toDir: 'down' },
{ fx: 6, fy: 5, dir: 'left', tx: 8, ty: 13, toDir: 'right' } { fx: 6, fy: 5, dir: 'left', tx: 8, ty: 13, toDir: 'right' }

View File

@ -46,8 +46,8 @@ const haloColor: Record<number, string[]> = {
25: ['purple'], 25: ['purple'],
26: ['blue'], 26: ['blue'],
27: ['red'], 27: ['red'],
29: ['#3CFF49'], 31: ['#3CFF49'],
31: ['#51E9FF'] 29: ['#51E9FF']
}; };
class Halo extends Sprite { class Halo extends Sprite {

View File

@ -50,6 +50,7 @@ export {};
if (weather) core.setWeather(weather[0], weather[1]); if (weather) core.setWeather(weather[0], weather[1]);
else core.setWeather(); else core.setWeather();
} }
core.status.maps[data].enemy?.extract();
core.updateStatusBar(true, true); core.updateStatusBar(true, true);
} }
Mota.require('module', 'Shadow').Shadow.update(true); Mota.require('module', 'Shadow').Shadow.update(true);

View File

@ -275,6 +275,7 @@ onUnmounted(() => {
height: 2.8vw; height: 2.8vw;
margin-right: 10%; margin-right: 10%;
margin-left: 10%; margin-left: 10%;
pointer-events: none;
} }
.status-value { .status-value {