[enhancement] Added Sailor trainer class (#1411)

* Add files via upload

* Update trainer-type.ts

* Update biomes.ts

* Update trainer-config.ts

* Update trainer-names.ts

* Update trainer-names.ts

* Update trainers.ts

* Update trainers.ts

* Added German translation

Thanks to CodeTappert

* Update trainers.ts

* Update trainers.ts

* Update trainers.ts

* Update trainers.ts

* Update trainers.ts

* Update trainers.ts

* Update trainers.ts to resolve conflicts

* Fixed syntax error

* Update biomes.ts

* Re-added possible biomes for the Sailor trainer class

* Added data for dialogue lines for the sailor class

* Added dialogue from FRLG

* Added locale

* Added locale

* Added locale

* Update trainers.ts

* Added locale

* Added locale

* Added Korean translation

* Added locale

* Added Portuguese translation

* Added locale

* Added locale

* Added Mandarin Chinese translation

* Added Cantonese Chinese translation

* Added images

* Recentered sprite

* Added Spanish translation for the dialogue

* Delete duplicate

* Delete duplicate

* Updated dialogue with requested changes

* Update Spanish translation to reflect the changes

* Update dialogue.ts

* Update dialogue.ts

* Update dialogue.ts

* Update dialogue.ts

* Update dialogue.ts

* Update dialogue.ts

* Update dialogue.ts
This commit is contained in:
MadridPawmot 2024-06-06 18:55:32 +02:00 committed by GitHub
parent 14b5d141c1
commit f3de114d2b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
25 changed files with 183 additions and 2 deletions

View File

@ -0,0 +1,41 @@
{
"textures": [
{
"image": "sailor.png",
"format": "RGBA8888",
"size": {
"w": 72,
"h": 72
},
"scale": 1,
"frames": [
{
"filename": "0001.png",
"rotated": false,
"trimmed": false,
"sourceSize": {
"w": 72,
"h": 72
},
"spriteSourceSize": {
"x": 0,
"y": 0,
"w": 73,
"h": 73
},
"frame": {
"x": 0,
"y": 0,
"w": 39,
"h": 72
}
}
]
}
],
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
"smartupdate": "$TexturePacker:SmartUpdate:f692676a166fc1915532cd94d5799af4:fb833f76fb6797474657726bb59a7eee:aeb55e30992938f494b6cd2420158dda$"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -1691,7 +1691,7 @@ export const biomeTrainerPools: BiomeTrainerPools = {
[BiomePoolTier.BOSS_ULTRA_RARE]: []
},
[Biome.SEA]: {
[BiomePoolTier.COMMON]: [ TrainerType.SWIMMER ],
[BiomePoolTier.COMMON]: [ TrainerType.SWIMMER, TrainerType.SAILOR ],
[BiomePoolTier.UNCOMMON]: [],
[BiomePoolTier.RARE]: [],
[BiomePoolTier.SUPER_RARE]: [],
@ -1713,7 +1713,7 @@ export const biomeTrainerPools: BiomeTrainerPools = {
[BiomePoolTier.BOSS_ULTRA_RARE]: []
},
[Biome.BEACH]: {
[BiomePoolTier.COMMON]: [ TrainerType.FISHERMAN, TrainerType.PARASOL_LADY ],
[BiomePoolTier.COMMON]: [ TrainerType.FISHERMAN, TrainerType.PARASOL_LADY, TrainerType.SAILOR ],
[BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.BREEDER ],
[BiomePoolTier.RARE]: [ TrainerType.BLACK_BELT ],
[BiomePoolTier.SUPER_RARE]: [],
@ -7308,6 +7308,11 @@ export function initBiomes() {
[ Biome.VOLCANO, BiomePoolTier.COMMON ]
]
],
[ TrainerType.SAILOR, [
[ Biome.SEA, BiomePoolTier.COMMON ],
[ Biome.BEACH, BiomePoolTier.COMMON ]
]
],
[ TrainerType.BROCK, [
[ Biome.CAVE, BiomePoolTier.BOSS ]
]

View File

@ -435,6 +435,20 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
]
}
],
[TrainerType.SAILOR]: [
{
encounter: [
"dialogue:sailor.encounter.1",
"dialogue:sailor.encounter.2",
"dialogue:sailor.encounter.3",
],
victory: [
"dialogue:sailor.victory.1",
"dialogue:sailor.victory.2",
"dialogue:sailor.victory.3",
]
}
],
[TrainerType.BROCK]: {
encounter: [
"dialogue:brock.encounter.1",

View File

@ -40,6 +40,7 @@ export enum TrainerType {
RICH,
RICH_KID,
ROUGHNECK,
SAILOR,
SCIENTIST,
SMASHER,
SNOW_WORKER,

View File

@ -1059,6 +1059,7 @@ export const trainerConfigs: TrainerConfigs = {
[TrainerType.RICH]: new TrainerConfig(++t).setMoneyMultiplier(5).setName("Gentleman").setHasGenders("Madame").setHasDouble("Rich Couple"),
[TrainerType.RICH_KID]: new TrainerConfig(++t).setMoneyMultiplier(3.75).setName("Rich Boy").setHasGenders("Lady").setHasDouble("Rich Kids").setEncounterBgm(TrainerType.RICH),
[TrainerType.ROUGHNECK]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setEncounterBgm(TrainerType.ROUGHNECK).setSpeciesFilter(s => s.isOfType(Type.DARK)),
[TrainerType.SAILOR]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setEncounterBgm(TrainerType.BACKPACKER).setSpeciesFilter(s => s.isOfType(Type.WATER) || s.isOfType(Type.FIGHTING)),
[TrainerType.SCIENTIST]: new TrainerConfig(++t).setHasGenders("Scientist Female").setHasDouble("Scientists").setMoneyMultiplier(1.7).setEncounterBgm(TrainerType.SCIENTIST)
.setSpeciesPools({
[TrainerPoolTier.COMMON]: [Species.MAGNEMITE, Species.GRIMER, Species.DROWZEE, Species.VOLTORB, Species.KOFFING],

View File

@ -60,6 +60,7 @@ const trainerNameConfigs: TrainerNameConfigs = {
[TrainerType.RICH]: new TrainerNameConfig(TrainerType.RICH, "Gentleman").hasGenderVariant("Madame"),
[TrainerType.RICH_KID]: new TrainerNameConfig(TrainerType.RICH_KID, "Rich_Boy").hasGenderVariant("Lady"),
[TrainerType.ROUGHNECK]: new TrainerNameConfig(TrainerType.ROUGHNECK),
[TrainerType.SAILOR]: new TrainerNameConfig(TrainerType.SAILOR),
[TrainerType.SCIENTIST]: new TrainerNameConfig(TrainerType.SCIENTIST),
[TrainerType.SMASHER]: new TrainerNameConfig(TrainerType.SMASHER),
[TrainerType.SNOW_WORKER]: new TrainerNameConfig(TrainerType.SNOW_WORKER, "Worker"),
@ -111,6 +112,7 @@ export const trainerNamePools = {
[TrainerType.RICH]: [["Alfred","Edward","Gregory","Preston","Thomas","Tucker","Walter","Clifford","Everett","Micah","Nate","Pierre","Terrance","Arthur","Brooks","Emanuel","Lamar","Jeremy","Leonardo","Milton","Frederic","Renaud","Robert","Yan","Daniel","Sheldon","Stonewall","Gerald","Ronald","Smith","Stanley","Reginald","Orson","Wilco","Caden","Glenn"],["Rebecca","Reina","Cassandra","Emilia","Grace","Marian","Elizabeth","Kathleen","Sayuri","Caroline","Judy"]],
[TrainerType.RICH_KID]: [["Garret","Winston","Dawson","Enrique","Jason","Roman","Trey","Liam","Anthony","Brad","Cody","Manuel","Martin","Pierce","Rolan","Keenan","Filbert","Antoin","Cyus","Diek","Dugo","Flitz","Jurek","Lond","Perd","Quint","Basto","Benit","Brot","Denc","Guyit","Marcon","Perc","Puros","Roex","Sainz","Symin","Tark","Venak"],["Anette","Brianna","Cindy","Colleen","Daphne","Elizabeth","Naomi","Sarah","Charlotte","Gillian","Jacki","Lady","Melissa","Celeste","Colette","Elizandra","Isabel","Lynette","Magnolia","Sophie","Lina","Dulcie","Auro","Brin","Caril","Eloos","Gwin","Illa","Kowly","Rima","Ristin","Vesey","Brena","Deasy","Denslon","Kylet","Nemi","Rene","Sanol","Stouner","Sturk","Talmen","Zoila"]],
[TrainerType.ROUGHNECK]: ["Camron","Corey","Gabriel","Isaiah","Jamal","Koji","Luke","Paxton","Raul","Zeek","Kirby","Chance","Dave","Fletcher","Johnny","Reese","Joey","Ricky","Silvester","Martin"],
[TrainerType.SAILOR]: ["Alberto","Bost","Brennan","Brenden","Claude","Cory","Damian","Dirk","Duncan","Dwayne","Dylan","Eddie","Edmond","Elijah","Ernest","Eugene","Garrett","Golos","Gratin","Grestly","Harry","Hols","Hudson","Huey","Jebol","Jeff","Leonald","Luther","Kelvin","Kenneth","Kent","Knook","Marc","Mifis","Monar","Morkor","Ordes","Oxlin","Parker","Paul","Philip","Roberto","Samson","Skyler","Stanly","Tebu","Terrell","Trevor","Yasu","Zachariah"],
[TrainerType.SCIENTIST]: [["Jed","Marc","Mitch","Rich","Ross","Beau","Braydon","Connor","Ed","Ivan","Jerry","Jose","Joshua","Parker","Rodney","Taylor","Ted","Travis","Zackery","Darrius","Emilio","Fredrick","Shaun","Stefano","Travon","Daniel","Garett","Gregg","Linden","Lowell","Trenton","Dudley","Luke","Markus","Nathan","Orville","Randall","Ron","Ronald","Simon","Steve","William","Franklin","Clarke","Jacques","Terrance","Ernst","Justus","Ikaika","Jayson","Kyle","Reid","Tyrone","Adam","Albert","Alphonse","Cory","Donnie","Elton","Francis","Gordon","Herbert","Humphrey","Jordan","Julian","Keaton","Levi","Melvin","Murray","West","Craig","Coren","Dubik","Kotan","Lethco","Mante","Mort","Myron","Odlow","Ribek","Roeck","Vogi","Vonder","Zogo","Doimo","Doton","Durel","Hildon","Kukla","Messa","Nanot","Platen","Raburn","Reman","Acrod","Coffy","Elrok","Foss","Hardig","Hombol","Hospel","Kaller","Klots","Krilok","Limar","Loket","Mesak","Morbit","Newin","Orill","Tabor","Tekot"],["Blythe","Chan","Kathrine","Marie","Maria","Naoko","Samantha","Satomi","Shannon","Athena","Caroline","Lumi","Lumina","Marissa","Sonia"]],
[TrainerType.SMASHER]: ["Aspen","Elena","Mari","Amy","Lizzy"],
[TrainerType.SNOW_WORKER]: [["Braden","Brendon","Colin","Conrad","Dillan","Gary","Gerardo","Holden","Jackson","Mason","Quentin","Willy","Noel","Arnold","Brady","Brand","Cairn","Cliff","Don","Eddie","Felix","Filipe","Glenn","Gus","Heath","Matthew","Patton","Rich","Rob","Ryan","Scott","Shelby","Sterling","Tyler","Victor","Zack","Friedrich","Herman","Isaac","Leo","Maynard","Mitchell","Morgann","Nathan","Niel","Pasqual","Paul","Tavarius","Tibor","Dimitri","Narek","Yusif","Frank","Jeff","Vaclav","Ovid","Francis","Keith","Russel","Sangon","Toway","Bomber","Chean","Demit","Hubor","Kebile","Laber","Ordo","Retay","Ronix","Wagel","Dobit","Kaster","Lobel","Releo","Saken","Rustix"],["Georgia","Sandra","Yvonne"]],

View File

@ -379,6 +379,18 @@ export const PGMdialogue: DialogueTranslationEntries = {
3: "Ow! I scorched the tip of my nose!"
},
},
"sailor": {
"encounter": {
1: "Matey, you're walking the plank if you lose!",
2: "Come on then! My sailor's pride is at stake!",
3: "Ahoy there! Are you seasick?"
},
"victory": {
1: "Argh! Beaten by a kid!",
2: "Your spirit sank me!",
3: "I think it's me that's seasick..."
},
},
"brock": {
"encounter": {
1: "Meine Expertise in Bezug auf Gesteins-Pokémon wird dich besiegen! Komm schon!",

View File

@ -95,6 +95,7 @@ export const trainerClasses: SimpleTranslationEntries = {
"rich_kid_female": "Rich Kid",
"rich_kids": "Schnösel",
"roughneck": "Raufbold",
"sailor": "Matrose",
"scientist": "Forscher",
"scientist_female": "Forscherin",
"scientists": "Forscher",

View File

@ -371,6 +371,18 @@ export const PGMdialogue: DialogueTranslationEntries = {
3: "Ow! I scorched the tip of my nose!"
},
},
"sailor": {
"encounter": {
1: "Matey, you're walking the plank if you lose!",
2: "Come on then! My sailor's pride is at stake!",
3: "Ahoy there! Are you seasick?"
},
"victory": {
1: "Argh! Beaten by a kid!",
2: "Your spirit sank me!",
3: "I think it's me that's seasick..."
},
},
"brock": {
"encounter": {
1: "My expertise on Rock-type Pokémon will take you down! Come on!",

View File

@ -95,6 +95,7 @@ export const trainerClasses: SimpleTranslationEntries = {
"rich_kid_female": "Rich Kid",
"rich_kids": "Rich Kids",
"roughneck": "Roughneck",
"sailor": "Sailor",
"scientist": "Scientist",
"scientist_female": "Scientist",
"scientists": "Scientists",

View File

@ -371,6 +371,18 @@ export const PGMdialogue: DialogueTranslationEntries = {
3: "Ow! I scorched the tip of my nose!"
},
},
"sailor": {
"encounter": {
1: "¡Amigo, te haré caminar por la borda si pierdes!",
2: "¡Adelante! ¡Mi orgullo como marinero está en auge!",
3: "¡Ah del barco! ¿Estás mareado?"
},
"victory": {
1: "¡Argh! ¡Derrotado por un niño!",
2: "¡Tu espíritu me ha hundido!",
3: "Creo que soy yo quien está mareado..."
},
},
"brock": {
"encounter": {
1: "My expertise on Rock-type Pokémon will take you down! Come on!",

View File

@ -94,6 +94,7 @@ export const trainerClasses: SimpleTranslationEntries = {
"rich_kid_female": "Niña Bien",
"rich_kids": "Niños Bien",
"roughneck": "Calvo",
"sailor": "Marinero",
"scientist": "Científico",
"scientist_female": "Científica",
"scientists": "Científicos",

View File

@ -371,6 +371,18 @@ export const PGMdialogue: DialogueTranslationEntries = {
3: "Ow! I scorched the tip of my nose!"
},
},
"sailor": {
"encounter": {
1: "Matey, you're walking the plank if you lose!",
2: "Come on then! My sailor's pride is at stake!",
3: "Ahoy there! Are you seasick?"
},
"victory": {
1: "Argh! Beaten by a kid!",
2: "Your spirit sank me!",
3: "I think it's me that's seasick..."
},
},
"brock": {
"encounter": {
1: "My expertise on Rock-type Pokémon will take you down! Come on!",

View File

@ -95,6 +95,7 @@ export const trainerClasses: SimpleTranslationEntries = {
"rich_kid_female": "Mademoiselle",
"rich_kids": "Richards",
"roughneck": "Loubard",
"sailor": "Marin",
"scientist": "Scientifique",
"scientist_female": "Scientifique",
"scientists": "Scientifiques",

View File

@ -371,6 +371,18 @@ export const PGMdialogue: DialogueTranslationEntries = {
3: "Ow! I scorched the tip of my nose!"
},
},
"sailor": {
"encounter": {
1: "Matey, you're walking the plank if you lose!",
2: "Come on then! My sailor's pride is at stake!",
3: "Ahoy there! Are you seasick?"
},
"victory": {
1: "Argh! Beaten by a kid!",
2: "Your spirit sank me!",
3: "I think it's me that's seasick..."
},
},
"brock": {
"encounter": {
1: "My expertise on Rock-type Pokémon will take you down! Come on!",

View File

@ -95,6 +95,7 @@ export const trainerClasses: SimpleTranslationEntries = {
"rich_kid_female": "Rich Kid",
"rich_kids": "Rich Kids",
"roughneck": "Roughneck",
"sailor": "Sailor",
"scientist": "Scientist",
"scientist_female": "Scientist",
"scientists": "Scientists",

View File

@ -371,6 +371,18 @@ export const PGMdialogue: DialogueTranslationEntries = {
3: "Ow! I scorched the tip of my nose!"
},
},
"sailor": {
"encounter": {
1: "Matey, you're walking the plank if you lose!",
2: "Come on then! My sailor's pride is at stake!",
3: "Ahoy there! Are you seasick?"
},
"victory": {
1: "Argh! Beaten by a kid!",
2: "Your spirit sank me!",
3: "I think it's me that's seasick..."
},
},
"brock": {
"encounter": {
1: "내 전문인 바위 타입 포켓몬으로 널 쓰러뜨려줄게! 덤벼!",

View File

@ -101,6 +101,7 @@ export const trainerClasses: SimpleTranslationEntries = {
"smasher": "테니스선수",
"snow_worker": "작업원",
"snow_worker_female": "작업원",
"sailor": "선원",
"striker": "축구선수",
"school_kid": "학원끝난 아이",
"school_kid_female": "학원끝난 아이",

View File

@ -371,6 +371,18 @@ export const PGMdialogue: DialogueTranslationEntries = {
3: "Ai! Queimei minha língua!"
},
},
"sailor": {
"encounter": {
1: "Matey, you're walking the plank if you lose!",
2: "Come on then! My sailor's pride is at stake!",
3: "Ahoy there! Are you seasick?"
},
"victory": {
1: "Argh! Beaten by a kid!",
2: "Your spirit sank me!",
3: "I think it's me that's seasick..."
},
},
"brock": {
"encounter": {
1: "Minha especialidade em Pokémon do tipo Pedra vai te derrubar! Vamos lá!",

View File

@ -95,6 +95,7 @@ export const trainerClasses: SimpleTranslationEntries = {
"rich_kid_female": "Garota Rica",
"rich_kids": "Garotos Ricos",
"roughneck": "Arruaceiro",
"sailor": "Marinheiro",
"scientist": "Cientista",
"scientist_female": "Cientista",
"scientists": "Cientistas",

View File

@ -371,6 +371,18 @@ export const PGMdialogue: DialogueTranslationEntries = {
3: "Ow! I scorched the tip of my nose!"
},
},
"sailor": {
"encounter": {
1: "Matey, you're walking the plank if you lose!",
2: "Come on then! My sailor's pride is at stake!",
3: "Ahoy there! Are you seasick?"
},
"victory": {
1: "Argh! Beaten by a kid!",
2: "Your spirit sank me!",
3: "I think it's me that's seasick..."
},
},
"brock": {
"encounter": {
1: "My expertise on Rock-type Pokémon will take you down! Come on!",

View File

@ -95,6 +95,7 @@ export const trainerClasses: SimpleTranslationEntries = {
"rich_kid_female": "Rich Kid",
"rich_kids": "富二代组合",
"roughneck": "光头男",
"sailor": "水手",
"scientist": "研究员",
"scientist_female": "研究员",
"scientists": "研究员组合",

View File

@ -371,6 +371,18 @@ export const PGMdialogue: DialogueTranslationEntries = {
3: "Ow! I scorched the tip of my nose!"
},
},
"sailor": {
"encounter": {
1: "Matey, you're walking the plank if you lose!",
2: "Come on then! My sailor's pride is at stake!",
3: "Ahoy there! Are you seasick?"
},
"victory": {
1: "Argh! Beaten by a kid!",
2: "Your spirit sank me!",
3: "I think it's me that's seasick..."
},
},
"brock": {
"encounter": {
1: "My expertise on Rock-type Pokémon will take you down! Come on!",

View File

@ -95,6 +95,7 @@ export const trainerClasses: SimpleTranslationEntries = {
"rich_kid_female": "富家孩子",
"rich_kids": "富二代組合",
"roughneck": "光頭男",
"sailor": "水手",
"scientist": "研究員",
"scientist_female": "研究員",
"scientists": "研究員組合",