@rpgjs/action-battle 5.0.0-beta.12 → 5.0.0-beta.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/dist/client/ai.server.d.ts +12 -0
- package/dist/client/core/defaults.d.ts +1 -1
- package/dist/client/index17.js +11 -1
- package/dist/client/index21.js +2 -1
- package/dist/client/index22.js +2 -1
- package/dist/client/index26.js +316 -74
- package/dist/server/ai.server.d.ts +12 -0
- package/dist/server/core/defaults.d.ts +1 -1
- package/dist/server/index13.js +2 -1
- package/dist/server/index14.js +2 -1
- package/dist/server/index19.js +316 -74
- package/dist/server/index7.js +11 -1
- package/package.json +5 -5
- package/src/ai.server.spec.ts +147 -1
- package/src/ai.server.ts +375 -68
- package/src/core/action-use.ts +2 -1
- package/src/core/defaults.ts +16 -1
- package/src/core/hit.spec.ts +21 -0
- package/src/core/targets.spec.ts +12 -0
- package/src/core/targets.ts +4 -1
- package/src/visual.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @rpgjs/action-battle
|
|
2
2
|
|
|
3
|
+
## 5.0.0-beta.14
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [c96b31a]
|
|
8
|
+
- @rpgjs/common@5.0.0-beta.14
|
|
9
|
+
- @rpgjs/server@5.0.0-beta.14
|
|
10
|
+
- @rpgjs/client@5.0.0-beta.14
|
|
11
|
+
- @rpgjs/vite@5.0.0-beta.14
|
|
12
|
+
|
|
13
|
+
## 5.0.0-beta.13
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Release the next RPGJS beta with client interactions, i18n support, movement and physics improvements, Studio fixes, action battle updates, playground migration, and related runtime documentation.
|
|
18
|
+
- Updated dependencies
|
|
19
|
+
- @rpgjs/client@5.0.0-beta.13
|
|
20
|
+
- @rpgjs/common@5.0.0-beta.13
|
|
21
|
+
- @rpgjs/server@5.0.0-beta.13
|
|
22
|
+
- @rpgjs/vite@5.0.0-beta.13
|
|
23
|
+
|
|
3
24
|
## 5.0.0-beta.12
|
|
4
25
|
|
|
5
26
|
### Patch Changes
|
|
@@ -283,6 +283,9 @@ export declare class BattleAi {
|
|
|
283
283
|
* Log AI debug message for this event
|
|
284
284
|
*/
|
|
285
285
|
private debugLog;
|
|
286
|
+
private traceLog;
|
|
287
|
+
private lockActionUntil;
|
|
288
|
+
private lockForAttack;
|
|
286
289
|
private state;
|
|
287
290
|
private stateStartTime;
|
|
288
291
|
private stunnedUntil;
|
|
@@ -329,6 +332,11 @@ export declare class BattleAi {
|
|
|
329
332
|
private lastMoveToTime;
|
|
330
333
|
private retreatCooldown;
|
|
331
334
|
private lastRetreatTime;
|
|
335
|
+
private actionLockedUntil;
|
|
336
|
+
private lastActionLockTraceTime;
|
|
337
|
+
private lastMoveToCooldownTraceTime;
|
|
338
|
+
private lastMoveToCooldownTraceSignature;
|
|
339
|
+
private lastTargetMovementSkipTraceTime;
|
|
332
340
|
private timers;
|
|
333
341
|
private behaviorKey?;
|
|
334
342
|
private behaviorTree?;
|
|
@@ -340,6 +348,7 @@ export declare class BattleAi {
|
|
|
340
348
|
private visionSetupRetries;
|
|
341
349
|
private maxVisionSetupRetries;
|
|
342
350
|
private destroyed;
|
|
351
|
+
private lastNoTargetTraceTime;
|
|
343
352
|
/**
|
|
344
353
|
* Create a new Battle AI Controller
|
|
345
354
|
*
|
|
@@ -495,6 +504,7 @@ export declare class BattleAi {
|
|
|
495
504
|
*/
|
|
496
505
|
private performDashAttack;
|
|
497
506
|
private getAttackProfile;
|
|
507
|
+
private playAttackVisual;
|
|
498
508
|
private telegraphAttack;
|
|
499
509
|
private scheduleAttackStartup;
|
|
500
510
|
/**
|
|
@@ -587,7 +597,9 @@ export declare class BattleAi {
|
|
|
587
597
|
private executeRequestedSkill;
|
|
588
598
|
private handleTacticalMovement;
|
|
589
599
|
private handleAssaultMovement;
|
|
600
|
+
private resolveMoveTarget;
|
|
590
601
|
private requestMoveTo;
|
|
602
|
+
private requestTargetMovement;
|
|
591
603
|
private schedule;
|
|
592
604
|
getHealth(): number;
|
|
593
605
|
getMaxHealth(): number;
|
|
@@ -70,7 +70,7 @@ export declare const createDefaultPlayerHitboxResolver: (hitboxes?: {
|
|
|
70
70
|
height: number;
|
|
71
71
|
}[];
|
|
72
72
|
export declare const defaultRpgjsDamageResolver: (context: ActionBattleDamageContext) => {
|
|
73
|
-
damage:
|
|
73
|
+
damage: number;
|
|
74
74
|
defeated: boolean;
|
|
75
75
|
raw: any;
|
|
76
76
|
};
|
package/dist/client/index17.js
CHANGED
|
@@ -80,9 +80,19 @@ var createDefaultPlayerHitboxResolver = (hitboxes = DEFAULT_ZELDA_PLAYER_HITBOXE
|
|
|
80
80
|
};
|
|
81
81
|
var defaultRpgjsDamageResolver = (context) => {
|
|
82
82
|
const target = context.target;
|
|
83
|
+
const previousHp = typeof target.hp === "number" && Number.isFinite(target.hp) ? target.hp : void 0;
|
|
83
84
|
const raw = target.applyDamage(context.attacker, context.skill);
|
|
85
|
+
const resolvedDamage = Number(raw?.damage ?? 0);
|
|
86
|
+
if (!Number.isFinite(resolvedDamage)) {
|
|
87
|
+
if (previousHp !== void 0) target.hp = previousHp;
|
|
88
|
+
return {
|
|
89
|
+
damage: 0,
|
|
90
|
+
defeated: false,
|
|
91
|
+
raw
|
|
92
|
+
};
|
|
93
|
+
}
|
|
84
94
|
return {
|
|
85
|
-
damage:
|
|
95
|
+
damage: resolvedDamage,
|
|
86
96
|
defeated: target.hp <= 0,
|
|
87
97
|
raw
|
|
88
98
|
};
|
package/dist/client/index21.js
CHANGED
|
@@ -6,9 +6,10 @@ var ACTION_BATTLE_ENEMY_FACTION = "enemies";
|
|
|
6
6
|
var getBattleAi = (entity) => entity?.battleAi;
|
|
7
7
|
var getActionBattleEntityKind = (entity) => {
|
|
8
8
|
if (getBattleAi(entity)) return "event";
|
|
9
|
+
if (typeof entity?.isEvent === "function") return entity.isEvent() ? "event" : "player";
|
|
9
10
|
if (entity instanceof RpgEvent) return "event";
|
|
10
|
-
if (typeof entity?.attachShape === "function") return "event";
|
|
11
11
|
if (entity instanceof RpgPlayer) return "player";
|
|
12
|
+
if (typeof entity?.attachShape === "function") return "event";
|
|
12
13
|
return "player";
|
|
13
14
|
};
|
|
14
15
|
var isActionBattlePlayer = (entity) => getActionBattleEntityKind(entity) === "player";
|
package/dist/client/index22.js
CHANGED
|
@@ -62,9 +62,10 @@ var applyDamageEffect = (attacker, target, skill, reaction, metadata) => {
|
|
|
62
62
|
});
|
|
63
63
|
if (!result.cancelled) {
|
|
64
64
|
emitActionBattleClientVisual({
|
|
65
|
-
moment: "
|
|
65
|
+
moment: "hurt",
|
|
66
66
|
entity: attacker,
|
|
67
67
|
target,
|
|
68
|
+
attacker,
|
|
68
69
|
damage: result.damage,
|
|
69
70
|
result,
|
|
70
71
|
skill
|