diff --git a/public/images/trainer/aqua_grunt.json b/public/images/trainer/aqua_grunt.json new file mode 100644 index 00000000000..dc5f58a99a0 --- /dev/null +++ b/public/images/trainer/aqua_grunt.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "aqua_grunt.png", + "format": "RGBA8888", + "size": { + "w": 73, + "h": 73 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 17, + "y": 6, + "w": 46, + "h": 73 + }, + "frame": { + "x": 0, + "y": 0, + "w": 46, + "h": 73 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:efd07ff3ed1e610150a4b8ca18974343:d9b85b9eb11182e9e4669e2bd8b08694:72b7b50231708a9486d5f315824e4df1$" + } +} diff --git a/public/images/trainer/aqua_grunt.png b/public/images/trainer/aqua_grunt.png new file mode 100644 index 00000000000..87dbfd566a1 Binary files /dev/null and b/public/images/trainer/aqua_grunt.png differ diff --git a/public/images/trainer/aqua_grunt_female.json b/public/images/trainer/aqua_grunt_female.json new file mode 100644 index 00000000000..a8fec682076 --- /dev/null +++ b/public/images/trainer/aqua_grunt_female.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "aqua_grunt_female.png", + "format": "RGBA8888", + "size": { + "w": 71, + "h": 71 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 22, + "y": 8, + "w": 36, + "h": 71 + }, + "frame": { + "x": 0, + "y": 0, + "w": 36, + "h": 71 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:6db25cb5753163d19bca8e2db45849ae:7d8f51509862bfdf8a78bf42dd0005cd:af0aa9494be37941522487032b556989$" + } +} diff --git a/public/images/trainer/aqua_grunt_female.png b/public/images/trainer/aqua_grunt_female.png new file mode 100644 index 00000000000..132d239c0b8 Binary files /dev/null and b/public/images/trainer/aqua_grunt_female.png differ diff --git a/public/images/trainer/galactic_grunt.json b/public/images/trainer/galactic_grunt.json new file mode 100644 index 00000000000..22fb7308cab --- /dev/null +++ b/public/images/trainer/galactic_grunt.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "galactic_grunt.png", + "format": "RGBA8888", + "size": { + "w": 73, + "h": 73 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 20, + "y": 6, + "w": 37, + "h": 73 + }, + "frame": { + "x": 0, + "y": 0, + "w": 37, + "h": 73 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:856b85bb5d7a1ea2e7a76708ebf82d21:1687dff972369c6248e4aa5b0795fe62:259dd316440c335df5dc6008166d69ca$" + } +} diff --git a/public/images/trainer/galactic_grunt.png b/public/images/trainer/galactic_grunt.png new file mode 100644 index 00000000000..1fff818266c Binary files /dev/null and b/public/images/trainer/galactic_grunt.png differ diff --git a/public/images/trainer/galactic_grunt_female.json b/public/images/trainer/galactic_grunt_female.json new file mode 100644 index 00000000000..11205b09b31 --- /dev/null +++ b/public/images/trainer/galactic_grunt_female.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "galactic_grunt_female.png", + "format": "RGBA8888", + "size": { + "w": 68, + "h": 68 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 10, + "y": 11, + "w": 57, + "h": 68 + }, + "frame": { + "x": 0, + "y": 0, + "w": 57, + "h": 68 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:3012867f03f02c4ee67a8ab3ad5a000e:77a5f60f1adc158664b3b2ee17bf30fe:7e8259b5177c0a76e5d02d6bdc66affe$" + } +} diff --git a/public/images/trainer/galactic_grunt_female.png b/public/images/trainer/galactic_grunt_female.png new file mode 100644 index 00000000000..209d8ae09ba Binary files /dev/null and b/public/images/trainer/galactic_grunt_female.png differ diff --git a/public/images/trainer/magma_grunt.json b/public/images/trainer/magma_grunt.json new file mode 100644 index 00000000000..820f5b23f17 --- /dev/null +++ b/public/images/trainer/magma_grunt.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "magma_grunt.png", + "format": "RGBA8888", + "size": { + "w": 67, + "h": 67 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 18, + "y": 12, + "w": 44, + "h": 67 + }, + "frame": { + "x": 0, + "y": 0, + "w": 44, + "h": 67 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:96aa833d987a01bcdcb6f0e7809f5daf:791cce8d026f92b2e52f0b66df8b8e11:35532fd5d9aea30957d50d06f2d2f9a6$" + } +} diff --git a/public/images/trainer/magma_grunt.png b/public/images/trainer/magma_grunt.png new file mode 100644 index 00000000000..09824213026 Binary files /dev/null and b/public/images/trainer/magma_grunt.png differ diff --git a/public/images/trainer/magma_grunt_female.json b/public/images/trainer/magma_grunt_female.json new file mode 100644 index 00000000000..50076c6c443 --- /dev/null +++ b/public/images/trainer/magma_grunt_female.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "magma_grunt_female.png", + "format": "RGBA8888", + "size": { + "w": 72, + "h": 72 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 23, + "y": 7, + "w": 33, + "h": 72 + }, + "frame": { + "x": 0, + "y": 0, + "w": 33, + "h": 72 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:f63ad48affc076f60fae78992c96a2bf:80928b32710abcb28c07c6fc5a425d99:3b961d8852b62aaf24ceb2030c036515$" + } +} diff --git a/public/images/trainer/magma_grunt_female.png b/public/images/trainer/magma_grunt_female.png new file mode 100644 index 00000000000..3bf52701eb1 Binary files /dev/null and b/public/images/trainer/magma_grunt_female.png differ diff --git a/public/images/trainer/plasma_grunt.json b/public/images/trainer/plasma_grunt.json new file mode 100644 index 00000000000..c33e96ed763 --- /dev/null +++ b/public/images/trainer/plasma_grunt.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "plasma_grunt.png", + "format": "RGBA8888", + "size": { + "w": 72, + "h": 72 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 16, + "y": 7, + "w": 47, + "h": 72 + }, + "frame": { + "x": 0, + "y": 0, + "w": 47, + "h": 72 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:61f195ebbcde93ab7442408edad7fe7a:28ae203b3cb42a94c4ba4420fdebdccc:9ae0ee174d431d48052a2f6b74e9d40c$" + } +} diff --git a/public/images/trainer/plasma_grunt.png b/public/images/trainer/plasma_grunt.png new file mode 100644 index 00000000000..e3ec6dd8c35 Binary files /dev/null and b/public/images/trainer/plasma_grunt.png differ diff --git a/public/images/trainer/plasma_grunt_female.json b/public/images/trainer/plasma_grunt_female.json new file mode 100644 index 00000000000..e9ff6b915b2 --- /dev/null +++ b/public/images/trainer/plasma_grunt_female.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "plasma_grunt_female.png", + "format": "RGBA8888", + "size": { + "w": 75, + "h": 75 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 21, + "y": 4, + "w": 37, + "h": 75 + }, + "frame": { + "x": 0, + "y": 0, + "w": 37, + "h": 75 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:c3001e18f1878c01a4825697200e823e:2003e0d4db249f7020c3471872198ac8:b01645b9e941158814978f2126e7e995$" + } +} diff --git a/public/images/trainer/plasma_grunt_female.png b/public/images/trainer/plasma_grunt_female.png new file mode 100644 index 00000000000..95b065f4360 Binary files /dev/null and b/public/images/trainer/plasma_grunt_female.png differ diff --git a/public/images/trainer/rocket_grunt.json b/public/images/trainer/rocket_grunt.json new file mode 100644 index 00000000000..a7de3aaad9c --- /dev/null +++ b/public/images/trainer/rocket_grunt.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "rocket_grunt.png", + "format": "RGBA8888", + "size": { + "w": 65, + "h": 65 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 17, + "y": 9, + "w": 42, + "h": 65 + }, + "frame": { + "x": 0, + "y": 0, + "w": 42, + "h": 65 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:831f5748dad92911b10a1cb358ee2dae:a3bf81bbaa3b49cad5e0e549cf94563b:bb6befc9383c9c08837183ae2a7a80c1$" + } +} diff --git a/public/images/trainer/rocket_grunt.png b/public/images/trainer/rocket_grunt.png new file mode 100644 index 00000000000..027da6cacb0 Binary files /dev/null and b/public/images/trainer/rocket_grunt.png differ diff --git a/public/images/trainer/rocket_grunt_female.json b/public/images/trainer/rocket_grunt_female.json new file mode 100644 index 00000000000..ae8fe11b1e9 --- /dev/null +++ b/public/images/trainer/rocket_grunt_female.json @@ -0,0 +1,41 @@ +{ + "textures": [ + { + "image": "rocket_grunt_female.png", + "format": "RGBA8888", + "size": { + "w": 67, + "h": 67 + }, + "scale": 1, + "frames": [ + { + "filename": "0001.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 80, + "h": 80 + }, + "spriteSourceSize": { + "x": 18, + "y": 9, + "w": 50, + "h": 67 + }, + "frame": { + "x": 0, + "y": 0, + "w": 50, + "h": 67 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:f2e4df704ed3262efeba03b98c4f34b6:856ea7816491331f96e020076871263b:fadb24d665ba1be4d210fe9064954d5b$" + } +} diff --git a/public/images/trainer/rocket_grunt_female.png b/public/images/trainer/rocket_grunt_female.png new file mode 100644 index 00000000000..c4f6e96dec4 Binary files /dev/null and b/public/images/trainer/rocket_grunt_female.png differ diff --git a/src/battle.ts b/src/battle.ts index fa49f2ebae5..dbc95c3f920 100644 --- a/src/battle.ts +++ b/src/battle.ts @@ -372,6 +372,10 @@ export const fixedBattles: FixedBattleConfigs = { .setGetTrainerFunc(scene => new Trainer(scene, TrainerType.RIVAL_3, scene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)), [95]: new FixedBattleConfig().setBattleType(BattleType.TRAINER) .setGetTrainerFunc(scene => new Trainer(scene, TrainerType.RIVAL_4, scene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)), + [111]: new FixedBattleConfig().setBattleType(BattleType.TRAINER) + .setGetTrainerFunc(scene => new Trainer(scene, getEvilTeamBattle(scene.evilTeamThisRun, "admin"), TrainerVariant.DEFAULT)), + [113]: new FixedBattleConfig().setBattleType(BattleType.TRAINER) + .setGetTrainerFunc(scene => new Trainer(scene, getEvilTeamBattle(scene.evilTeamThisRun, "admin"), TrainerVariant.DEFAULT)), [115]: new FixedBattleConfig().setBattleType(BattleType.TRAINER) .setGetTrainerFunc(scene => new Trainer(scene, getEvilTeamBattle(scene.evilTeamThisRun, "boss1"), TrainerVariant.DEFAULT)), [145]: new FixedBattleConfig().setBattleType(BattleType.TRAINER) diff --git a/src/data/trainer-config.ts b/src/data/trainer-config.ts index 7a7c3b5d138..291b5eae461 100644 --- a/src/data/trainer-config.ts +++ b/src/data/trainer-config.ts @@ -899,7 +899,7 @@ export const trainerConfigs: TrainerConfigs = { [ Species.CATERPIE, Species.WEEDLE, Species.RATTATA, Species.SENTRET, Species.POOCHYENA, Species.ZIGZAGOON, Species.WURMPLE, Species.BIDOOF, Species.PATRAT, Species.LILLIPUP ] ), // TODO: sprite, encounter bgm, party template, team pools - [TrainerType.ROCKET_GRUNT]: new TrainerConfig(++t).setHasGenders().setHasDouble('Rocket Grunts').setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm('battle_plasma_grunt').setPartyTemplates(trainerPartyTemplates.FOUR_WEAK_BALANCED) + [TrainerType.ROCKET_GRUNT]: new TrainerConfig(++t).setHasGenders("Rocket Grunt Female").setHasDouble('Rocket Grunts').setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm('battle_plasma_grunt').setPartyTemplates(trainerPartyTemplates.FOUR_WEAK_BALANCED) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ Species.WEEDLE, Species.RATTATA, Species.EKANS, Species.SANDSHREW, Species.ZUBAT, Species.GEODUDE, Species.KOFFING], [TrainerPoolTier.UNCOMMON]: [Species.GRIMER, Species.CUBONE, Species.ODDISH, Species.GROWLITHE, Species.MURKROW, Species.GASTLY, Species.EXEGGCUTE, Species.VOLTORB], @@ -907,7 +907,7 @@ export const trainerConfigs: TrainerConfigs = { [TrainerPoolTier.SUPER_RARE]: [Species.PORYGON, Species.ALOLA_RATTATA, Species.ALOLA_SANDSHREW, Species.ALOLA_MEOWTH, Species.ALOLA_GRIMER, Species.ALOLA_GEODUDE], [TrainerPoolTier.ULTRA_RARE]: [Species.DRATINI, Species.LARVITAR] }), - [TrainerType.MAGMA_GRUNT]: new TrainerConfig(++t).setHasGenders().setHasDouble('Magma Grunts').setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm('battle_plasma_grunt').setPartyTemplates(trainerPartyTemplates.FOUR_WEAK_BALANCED) + [TrainerType.MAGMA_GRUNT]: new TrainerConfig(++t).setHasGenders("Magma Grunt Female").setHasDouble('Magma Grunts').setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm('battle_plasma_grunt').setPartyTemplates(trainerPartyTemplates.FOUR_WEAK_BALANCED) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [Species.SLUGMA, Species.POOCHYENA, Species.NUMEL, Species.ZIGZAGOON, Species.DIGLETT, Species.MAGBY], [TrainerPoolTier.UNCOMMON]: [Species.PHANPY, Species.SWINUB, Species.GLIGAR, Species.TORKOAL, Species.BALTOY, Species.BARBOACH], @@ -915,7 +915,7 @@ export const trainerConfigs: TrainerConfigs = { [TrainerPoolTier.SUPER_RARE]: [Species.TRAPINCH, Species.HEATMOR], [TrainerPoolTier.ULTRA_RARE]: [Species.TURTONATOR, Species.CHARCADET] }), - [TrainerType.AQUA_GRUNT]: new TrainerConfig(++t).setHasGenders().setHasDouble('Aqua Grunts').setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm('battle_plasma_grunt').setPartyTemplates(trainerPartyTemplates.FOUR_WEAK_BALANCED) + [TrainerType.AQUA_GRUNT]: new TrainerConfig(++t).setHasGenders("Aqua Grunt Female").setHasDouble('Aqua Grunts').setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm('battle_plasma_grunt').setPartyTemplates(trainerPartyTemplates.FOUR_WEAK_BALANCED) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ Species.CARVANHA, Species.WAILMER, Species.ZIGZAGOON, Species.LOTAD, Species.CORPHISH], [TrainerPoolTier.UNCOMMON]: [Species.SPHEAL, Species.CHINCHOU, Species.WOOPER, Species.WINGULL, Species.TENTACOOL ], @@ -923,7 +923,7 @@ export const trainerConfigs: TrainerConfigs = { [TrainerPoolTier.SUPER_RARE]: [Species.MANTINE, Species.BASCULEGION], [TrainerPoolTier.ULTRA_RARE]: [Species.DONDOZO] }), - [TrainerType.GALACTIC_GRUNT]: new TrainerConfig(++t).setHasGenders().setHasDouble('Galactic Grunts').setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm('battle_plasma_grunt').setPartyTemplates(trainerPartyTemplates.FOUR_WEAK_BALANCED) + [TrainerType.GALACTIC_GRUNT]: new TrainerConfig(++t).setHasGenders("Galactic Grunt Female").setHasDouble('Galactic Grunts').setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm('battle_plasma_grunt').setPartyTemplates(trainerPartyTemplates.FOUR_WEAK_BALANCED) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ Species.GLAMEOW, Species.STUNKY, Species.CROAGUNK, Species.SHINX, Species.WURMPLE], [TrainerPoolTier.UNCOMMON]: [Species.BRONZOR, Species.DRIFLOON, Species.BURMY], @@ -931,7 +931,7 @@ export const trainerConfigs: TrainerConfigs = { [TrainerPoolTier.SUPER_RARE]: [Species.HISUI_GROWLITHE, Species.HISUI_QWILFISH, Species.HISUI_SNEASEL], [TrainerPoolTier.ULTRA_RARE]: [Species.HISUI_ZORUA, Species.HISUI_SLIGGOO] }), - [TrainerType.PLASMA_GRUNT]: new TrainerConfig(++t).setHasGenders().setHasDouble('Plasma Grunts').setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm('battle_plasma_grunt').setPartyTemplates(trainerPartyTemplates.FOUR_WEAK_BALANCED) + [TrainerType.PLASMA_GRUNT]: new TrainerConfig(++t).setHasGenders("Plasma Grunt Female").setHasDouble('Plasma Grunts').setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm('battle_plasma_grunt').setPartyTemplates(trainerPartyTemplates.FOUR_WEAK_BALANCED) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ Species.PATRAT, Species.LILLIPUP, Species.PURRLOIN, Species.SCRAFTY, Species.WOOBAT, Species.VANILLITE], [TrainerPoolTier.UNCOMMON]: [ Species.FRILLISH, Species.VENIPEDE, Species.SANDILE, Species.TRUBBISH, Species.GOLETT], @@ -939,7 +939,7 @@ export const trainerConfigs: TrainerConfigs = { [TrainerPoolTier.SUPER_RARE]: [Species.PAWNIARD, Species.VULLABY, Species.DRUDDIGON, Species.BOUFFALANT, Species.ZORUA], [TrainerPoolTier.ULTRA_RARE]: [Species.AXEW, Species.DEINO, Species.DURANT] }), - [TrainerType.FLARE_GRUNT]: new TrainerConfig(++t).setHasGenders().setHasDouble('Flare Grunts').setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm('battle_plasma_grunt').setPartyTemplates(trainerPartyTemplates.FOUR_WEAK_BALANCED) + [TrainerType.FLARE_GRUNT]: new TrainerConfig(++t).setHasGenders("Flare Grunt Female").setHasDouble('Flare Grunts').setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm('battle_plasma_grunt').setPartyTemplates(trainerPartyTemplates.FOUR_WEAK_BALANCED) .setSpeciesPools({ [TrainerPoolTier.COMMON]: [ Species.FLETCHLING, Species.LITLEO, Species.PONYTA, Species.INKAY, Species.HOUNDOUR, Species.SKORUPI], [TrainerPoolTier.UNCOMMON]: [Species.HELIOPTILE, Species.ELECTRIKE, Species.SKRELP, Species.GULPIN], diff --git a/src/field/trainer.ts b/src/field/trainer.ts index 8cd06cac12f..533397168a8 100644 --- a/src/field/trainer.ts +++ b/src/field/trainer.ts @@ -109,6 +109,14 @@ export default class Trainer extends Phaser.GameObjects.Container { // Determine the title to include based on the configuration and includeTitle flag. let title = includeTitle && this.config.title ? this.config.title : null; + if (this.name == '' && name.toLowerCase().includes('grunt')) { + // This is a evil team grunt so we localize it by only using the "name" as the title + title = i18next.t(`trainerClasses:${name.toLowerCase().replace(/\s/g, '_')}`); + console.log("Localized grunt name: " + title) + // Since grunts are not named we can just return the title + return title + } + // If the trainer has a name (not null or undefined). if (this.name) { // If the title should be included. diff --git a/src/locales/de/trainers.ts b/src/locales/de/trainers.ts index 93eb04cca67..daa4bab8540 100644 --- a/src/locales/de/trainers.ts +++ b/src/locales/de/trainers.ts @@ -9,6 +9,12 @@ export const titles: SimpleTranslationEntries = { "rival": "Rivale", "professor": "Professor", "frontier_brain": "Kampfkoryphäen", + "rocket_boss": "Rocket-Boss", + "magma_boss": "Magma-Boss", + "aqua_boss": "Aqua-Boss", + "galactic_boss": "Galaktik-Boss", + "plasma_boss": "Weiser von Team Plasma", // This is on purpose, since "Ghetsis" is never mentioned as the boss of team plasma in the game but as "Weiser" + "flare_boss": "Flare-Boss", // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. } as const; @@ -112,7 +118,25 @@ export const trainerClasses: SimpleTranslationEntries = { "worker": "Arbeiter", "worker_female": "Arbeiterin", "workers": "Arbeiter", - "youngster": "Knirps" + "youngster": "Knirps", + "rocket_grunt": "Rüpel von Team Rocket", + "rocket_grunt_female": "Rüpel von Team Rocket", + "rocket_grunts": "Rüpel von Team Rocket", + "magma_grunt": "Rüpel von Team Magma", + "magma_grunt_female": "Rüpel von Team Magma", + "magma_grunts": "Rüpel von Team Magma", + "aqua_grunt": "Rüpel von Team Aqua", + "aqua_grunt_female": "Rüpel von Team Aqua", + "aqua_grunts": "Rüpel von Team Aqua", + "galactic_grunt": "Rüpel von Team Galaktik", + "galactic_grunt_female": "Rüpel von Team Galaktik", + "galactic_grunts": "Rüpel von Team Galaktik", + "plasma_grunt": "Rüpel von Team Plasma", + "plasma_grunt_female": "Rüpel von Team Plasma", + "plasma_grunts": "Rüpel von Team Plasma", + "flare_grunt": "Rüpel von Team Flare", + "flare_grunt_female": "Rüpel von Team Flare", + "flare_grunts": "Rüpel von Team Flare", } as const; // Names of special trainers like gym leaders, elite four, and the champion @@ -241,4 +265,9 @@ export const trainerNames: SimpleTranslationEntries = { "leon": "Delion", "rival": "Finn", "rival_female": "Ivy", + "maxie": "Marc", + "archie": "Adrian", + "cyrus": "Zyrus", + "ghetsis": "G-Cis", + "lysandre": "Flordelis", } as const; \ No newline at end of file diff --git a/src/locales/en/trainers.ts b/src/locales/en/trainers.ts index 136da7e7011..893e3efcac3 100644 --- a/src/locales/en/trainers.ts +++ b/src/locales/en/trainers.ts @@ -119,18 +119,18 @@ export const trainerClasses: SimpleTranslationEntries = { "worker_female": "Worker", "workers": "Workers", "youngster": "Youngster", - "rocket_grunt_m": "Rocket Grunt", - "rocket_grunt_f": "Rocket Grunt", - "magma_grunt_m": "Magma Grunt", - "magma_grunt_f": "Magma Grunt", - "aqua_grunt_m": "Aqua Grunt", - "aqua_grunt_f": "Aqua Grunt", - "galactic_grunt_m": "Galactic Grunt", - "galactic_grunt_f": "Galactic Grunt", - "plasma_grunt_m": "Plasma Grunt", - "plasma_grunt_f": "Plasma Grunt", - "flare_grunt_m": "Flare Grunt", - "flare_grunt_f": "Flare Grunt", + "rocket_grunt": "Rocket Grunt", + "rocket_grunt_female": "Rocket Grunt", + "magma_grunt": "Magma Grunt", + "magma_grunt_female": "Magma Grunt", + "aqua_grunt": "Aqua Grunt", + "aqua_grunt_female": "Aqua Grunt", + "galactic_grunt": "Galactic Grunt", + "galactic_grunt_female": "Galactic Grunt", + "plasma_grunt": "Plasma Grunt", + "plasma_grunt_female": "Plasma Grunt", + "flare_grunt": "Flare Grunt", + "flare_grunt_female": "Flare Grunt", } as const; // Names of special trainers like gym leaders, elite four, and the champion