Compare commits
15 Commits
86e5bb6db6
...
f9ac4bd666
Author | SHA1 | Date |
---|---|---|
podar | f9ac4bd666 | |
Madmadness65 | ec09186264 | |
NightKev | e88b8aeb6f | |
AJ Fontaine | 8d20b7b5e0 | |
damocleas | d14a5b8819 | |
NightKev | 7563a6cd0b | |
AJ Fontaine | 9fb9bb7e5d | |
damocleas | 7ee573937e | |
NightKev | 1f77955fb0 | |
flx-sta | dfe28b2752 | |
NightKev | 8ca9c6a3f8 | |
podar | 1eb062c802 | |
podar | c060ba6e1e | |
flx-sta | 98e95caebc | |
podar | 2114c9737f |
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "pokemon-rogue-battle",
|
"name": "pokemon-rogue-battle",
|
||||||
"version": "1.5.0",
|
"version": "1.5.2",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "pokemon-rogue-battle",
|
"name": "pokemon-rogue-battle",
|
||||||
"version": "1.5.0",
|
"version": "1.5.2",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@material/material-color-utilities": "^0.2.7",
|
"@material/material-color-utilities": "^0.2.7",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "pokemon-rogue-battle",
|
"name": "pokemon-rogue-battle",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.5.0",
|
"version": "1.5.2",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "vite",
|
"start": "vite",
|
||||||
|
|
Binary file not shown.
|
@ -2084,8 +2084,11 @@ export default class BattleScene extends SceneBase {
|
||||||
return sound;
|
return sound;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** The loop point of any given battle, mystery encounter, or title track, read as seconds and milliseconds. */
|
||||||
getBgmLoopPoint(bgmName: string): number {
|
getBgmLoopPoint(bgmName: string): number {
|
||||||
switch (bgmName) {
|
switch (bgmName) {
|
||||||
|
case "title": //Firel PokéRogue Title
|
||||||
|
return 46.500;
|
||||||
case "battle_kanto_champion": //B2W2 Kanto Champion Battle
|
case "battle_kanto_champion": //B2W2 Kanto Champion Battle
|
||||||
return 13.950;
|
return 13.950;
|
||||||
case "battle_johto_champion": //B2W2 Johto Champion Battle
|
case "battle_johto_champion": //B2W2 Johto Champion Battle
|
||||||
|
|
|
@ -890,7 +890,7 @@ export function getRandomEncounterSpecies(level: number, isBoss: boolean = false
|
||||||
|
|
||||||
if (eventEncounters.length > 0 && randSeedInt(2) === 1) {
|
if (eventEncounters.length > 0 && randSeedInt(2) === 1) {
|
||||||
const eventEncounter = randSeedItem(eventEncounters);
|
const eventEncounter = randSeedItem(eventEncounters);
|
||||||
const levelSpecies = getPokemonSpecies(eventEncounter.species).getWildSpeciesForLevel(level, !isNullOrUndefined(eventEncounter.blockEvolution), isBoss, globalScene.gameMode);
|
const levelSpecies = getPokemonSpecies(eventEncounter.species).getWildSpeciesForLevel(level, !eventEncounter.blockEvolution, isBoss, globalScene.gameMode);
|
||||||
isEventEncounter = true;
|
isEventEncounter = true;
|
||||||
bossSpecies = getPokemonSpecies(levelSpecies);
|
bossSpecies = getPokemonSpecies(levelSpecies);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -695,6 +695,7 @@ export class Arena {
|
||||||
globalScene.loadBgm(this.bgm);
|
globalScene.loadBgm(this.bgm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** The loop point of any given biome track, read as seconds and milliseconds. */
|
||||||
getBgmLoopPoint(): number {
|
getBgmLoopPoint(): number {
|
||||||
switch (this.biomeType) {
|
switch (this.biomeType) {
|
||||||
case Biome.TOWN:
|
case Biome.TOWN:
|
||||||
|
|
|
@ -344,12 +344,16 @@ export class InputsController {
|
||||||
* Handles the keydown event for the keyboard.
|
* Handles the keydown event for the keyboard.
|
||||||
*
|
*
|
||||||
* @param event The keyboard event.
|
* @param event The keyboard event.
|
||||||
|
*
|
||||||
|
* @remarks On Mac the keyup event for a pressed key is not fired if the meta key is held down. To
|
||||||
|
* insure that that key is not repeatedly input until the user presses it again only emit events
|
||||||
|
* when the meta key is not held.
|
||||||
*/
|
*/
|
||||||
keyboardKeyDown(event): void {
|
keyboardKeyDown(event): void {
|
||||||
this.lastSource = "keyboard";
|
this.lastSource = "keyboard";
|
||||||
this.ensureKeyboardIsInit();
|
this.ensureKeyboardIsInit();
|
||||||
const buttonDown = getButtonWithKeycode(this.getActiveConfig(Device.KEYBOARD), event.keyCode);
|
const buttonDown = getButtonWithKeycode(this.getActiveConfig(Device.KEYBOARD), event.keyCode);
|
||||||
if (buttonDown !== undefined) {
|
if (buttonDown !== undefined && !event.metaKey) {
|
||||||
if (this.buttonLock.includes(buttonDown)) {
|
if (this.buttonLock.includes(buttonDown)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,6 +52,11 @@ describe("Inputs", () => {
|
||||||
expect(game.inputsHandler.log.length).toBe(5);
|
expect(game.inputsHandler.log.length).toBe(5);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("keyboard - test input holding meta key - 0 input", async() => {
|
||||||
|
await game.inputsHandler.pressKeyboardKey(cfg_keyboard_qwerty.deviceMapping.KEY_ARROW_UP, 1, true);
|
||||||
|
expect(game.inputsHandler.log.length).toBe(0);
|
||||||
|
});
|
||||||
|
|
||||||
it("keyboard - test input holding for 200ms - 1 input", async() => {
|
it("keyboard - test input holding for 200ms - 1 input", async() => {
|
||||||
await game.inputsHandler.pressKeyboardKey(cfg_keyboard_qwerty.deviceMapping.KEY_ARROW_UP, 200);
|
await game.inputsHandler.pressKeyboardKey(cfg_keyboard_qwerty.deviceMapping.KEY_ARROW_UP, 200);
|
||||||
expect(game.inputsHandler.log.length).toBe(1);
|
expect(game.inputsHandler.log.length).toBe(1);
|
||||||
|
|
|
@ -48,9 +48,9 @@ export default class InputsHandler {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
pressKeyboardKey(key: integer, duration: integer): Promise<void> {
|
pressKeyboardKey(key: integer, duration: integer, isMetaPressed: boolean = false): Promise<void> {
|
||||||
return new Promise(async (resolve) => {
|
return new Promise(async (resolve) => {
|
||||||
this.scene.input.keyboard?.emit("keydown", { keyCode: key });
|
this.scene.input.keyboard?.emit("keydown", { keyCode: key, metaKey: isMetaPressed });
|
||||||
await holdOn(duration);
|
await holdOn(duration);
|
||||||
this.scene.input.keyboard?.emit("keyup", { keyCode: key });
|
this.scene.input.keyboard?.emit("keyup", { keyCode: key });
|
||||||
resolve();
|
resolve();
|
||||||
|
|
|
@ -102,7 +102,7 @@ const timedEvents: TimedEvent[] = [
|
||||||
endDate: new Date(Date.UTC(2025, 1, 3, 0)),
|
endDate: new Date(Date.UTC(2025, 1, 3, 0)),
|
||||||
bannerKey: "yearofthesnakeevent-",
|
bannerKey: "yearofthesnakeevent-",
|
||||||
scale: 0.21,
|
scale: 0.21,
|
||||||
availableLangs: [],
|
availableLangs: [ "en", "de", "it", "fr", "ja", "ko", "es-ES", "pt-BR", "zh-CN" ],
|
||||||
eventEncounters: [
|
eventEncounters: [
|
||||||
{ species: Species.EKANS },
|
{ species: Species.EKANS },
|
||||||
{ species: Species.ONIX },
|
{ species: Species.ONIX },
|
||||||
|
|
Loading…
Reference in New Issue