« Module:Weapon » : différence entre les versions
De Inkipédia
(Annulation des modifications 5950 de Fxfxfx0 (discussion)) Balise : Annulation |
(Annulation des modifications 6036 de Fxfxfx0 (discussion)) |
||
(21 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
local p = {} | local p = {} | ||
local gameShortened = require("Module:GameShortened") | local gameShortened = require("Module:GameShortened") | ||
-- Translation tables for sub, special, and main weapons | |||
local subWeaponTranslations = { | |||
["Sub weapons"] = "Armes secondaires", | |||
["Sub weapon"] = "Arme secondaire", | |||
["Splat Bomb"] = "Bombe splash", | |||
["Suction Bomb"] = "Bombe gluante", | |||
["Burst Bomb"] = "Bombe ballon", | |||
["Seeker"] = "Traqueur", | |||
["Curling Bomb"] = "Bombe curling", | |||
["Autobomb"] = "Bombe robot", | |||
["Ink Mine"] = "Mine", | |||
["Disruptor"] = "Fiole toxique", | |||
["Toxic Mist"] = "Brume toxique", | |||
["Point Sensor"] = "Détecteur", | |||
["Splash Wall"] = "Mur d'encre", | |||
["Sprinkler"] = "Fontaine", | |||
["Squid Beakon"] = "Balise de saut", | |||
["Fizzy Bomb"] = "Bombe soda", | |||
["Torpedo"] = "Bentorpille", | |||
["Angle Shooter"] = "Ricocheur", | |||
["Smallfry"] = "Salmioche (personnage)|Salmioche", | |||
} | |||
local specialWeaponTranslations = { | |||
["Special weapons"] = "Armes spéciales", | |||
["Special weapon"] = "Arme spéciale", | |||
["Bomb Rush"] = "Bombardement", | |||
["Bubbler"] = "Bouclier", | |||
["Echolocator"] = "Sonar", | |||
["Inkstrike"] = "Missile tornade", | |||
["Inkzooka"] = "Lance-tornades", | |||
["Killer Wail"] = "Haut-perceur", | |||
["Kraken"] = "Kraken", | |||
["Tenta Missiles"] = "Multi-missile", | |||
["Sting Ray"] = "Pigmalance", | |||
["Inkjet"] = "Chromo-jet", | |||
["Splashdown"] = "Choc chromatique", | |||
["Ink Armor"] = "Armure d'encre", | |||
["Bomb Launcher"] = "Lance-bombes", | |||
["Splat-Bomb Launcher"] = "Lance-bombes splash", | |||
["Suction-Bomb Launcher"] = "Lance-bombes gluantes", | |||
["Curling-Bomb Launcher"] = "Lance-bombes curling", | |||
["Autobomb Launcher"] = "Lance-bombes robots", | |||
["Burst-Bomb Launcher"] = "Lance-bombes ballons", | |||
["Ink Storm"] = "Pluie d'encre", | |||
["Baller"] = "Chromo-sphère", | |||
["Bubble Blower"] = "Lance-bulles", | |||
["Booyah Bomb"] = "Jolizator", | |||
["Ultra Stamp"] = "Ultra-tamponneur", | |||
["Trizooka"] = "Lance-rafales", | |||
["Big Bubbler"] = "Super bouclier", | |||
["Crab Tank"] = "Crabe d'assaut", | |||
["Killer Wail 5.1"] = "Haut-perceur 5.1", | |||
["Zipcaster"] = "Super Mollusque", | |||
["Ink Vac"] = "Aspirencre", | |||
["Triple Inkstrike"] = "Trimissile tornade", | |||
["Tacticooler"] = "Districool", | |||
["Wave Breaker"] = "Sonar paf", | |||
["Reefslider"] = "Cavasquale", | |||
["Kraken Royale"] = "Kraken royal", | |||
["Super Chump"] = "Multi-leurres", | |||
["Triple Splashdown"] = "Triple choc chromatique", | |||
["Splattercolor Screen"] = "Barrière barbouillée", | |||
["?"] = gameShort == "S3" and "Salmon_Run_Next_Wave#Rotation_Aléatoire|Aléatoire" or "Salmon_Run#Rotation_Aléatoire|Aléatoire", | |||
["??"] = gameShort == "S3" and "Salmon_Run_Next_Wave#Rotation_Aléatoire|Spéciale" or "Salmon_Run#Rotation_spéciale_armes_de_m_ours|Spéciale" | |||
} | |||
local mainWeaponTranslations = { | |||
["Main"] = "Principale", | |||
["Sub"] = "Secondaire", | |||
["Special"] = "Spéciale", | |||
["Shooter"] = "Lanceur", | |||
["Blaster"] = "Blaster", | |||
["Roller"] = "Rouleau", | |||
["Brush"] = "Pinceau", | |||
["Charger"] = "Fusil", | |||
["Slosher"] = "Seau", | |||
["Splatling"] = "Badigeonneur", | |||
["Dualie"] = "Arme double", | |||
["Brella"] = "Para-encre", | |||
["Stringer"] = "Transperceur", | |||
["Splatana"] = "Éclatana", | |||
--Lanceurs | |||
["Splattershot Jr."] = "Liquidateur Jr.", | |||
["Custom Splattershot Jr."] = "Liquidateur Sr.", | |||
["Kensa Splattershot Jr."] = "Liquidateur Jr. K", | |||
["Sploosh-o-matic"] = "Marqueur lourd", | |||
["Neo Sploosh-o-matic"] = "Marqueur lourd Néo", | |||
["Sploosh-o-matic 7"] = "Marqueur lourd 7", | |||
["Splash-o-matic"] = "Marqueur léger", | |||
["Neo Splash-o-matic"] = "Marqueur léger Néo", | |||
["Aerospray"] = "Aérogun", | |||
["Aerospray MG"] = "Aérogun", | |||
["Aerospray RG"] = "Aérogun premium", | |||
["Aerospray PG"] = "Aérogun select", | |||
["Splattershot"] = "Liquidateur", | |||
["Tentatek Splattershot"] = "Liquidateur griffé", | |||
["Wasabi Splattershot"] = "Liquidateur Wasabi", | |||
["Kensa Splattershot"] = "Liquidateur K", | |||
["Hero Shot Replica"] = "Lanceur héroïque (réplique)", | |||
["Octo Shot Replica"] = "Lanceur Octaling (réplique)", | |||
["Order Shot Replica"] = "Lanceur d'Ordre (réplique)", | |||
[".52 Gal"] = "Calibre 2000", | |||
[".52 Gal Deco"] = "Calibre 2000 chic", | |||
["Kensa .52 Gal"] = "Calibre 2000 K", | |||
["N-ZAP"] = "N-ZAP", | |||
["N-ZAP '85"] = "N-ZAP 85", | |||
["N-ZAP '89"] = "N-ZAP 89", | |||
["N-ZAP '83"] = "N-ZAP 83", | |||
["Dual Squelcher"] = "Nettoyeur duo", | |||
["Custom Dual Squelcher"] = "Nettoyeur duo modifié", | |||
["Splattershot Pro"] = "Liquidateur pro", | |||
["Forge Splattershot Pro"] = "Liquidateur pro griffé", | |||
["Berry Splattershot Pro"] = "Liquidateur pro Framboise", | |||
["Kensa Splattershot Pro"] = "Liquidateur pro K", | |||
[".96 Gal"] = "Calibre 3000", | |||
[".96 Gal Deco"] = "Calibre 3000 chic", | |||
["Jet Squelcher"] = "Nettoyeur XL", | |||
["Custom Jet Squelcher"] = "Nettoyeur XL modifié", | |||
["Splattershot Nova"] = "Lanceur spatial", | |||
["Annaki Splattershot Nova"] = "Lanceur spatial Aroz", | |||
--Arroseurs | |||
["L-3 Nozzlenose"] = "Arroseur léger", | |||
["L-3 Nozzlenose D"] = "Arroseur léger Cétacé", | |||
["Kensa L-3 Nozzlenose"] = "Arroseur léger K", | |||
["H-3 Nozzlenose"] = "Arroseur lourd", | |||
["H-3 Nozzlenose D"] = "Arroseur lourd Cétacé", | |||
["Cherry H-3 Nozzlenose"] = "Arroseur lourd Cerise", | |||
["Squeezer"] = "Compresseur", | |||
["Foil Squeezer"] = "Compresseur alu", | |||
--Blasters | |||
["Blaster"] = "Éclablaster", | |||
["Custom Blaster"] = "Éclablaster modifié", | |||
["Hero Blaster Replica"] = "Blaster héroique (réplique)", | |||
["Range Blaster"] = "Éclablaster XL", | |||
["Custom Range Blaster"] = "Éclablaster XL griffé", | |||
["Grim Range Blaster"] = "Éclablaster Nox", | |||
["Luna Blaster"] = "Proxiblaster", | |||
["Luna Blaster Neo"] = "Proxiblaster Néo", | |||
["Kensa Luna Blaster"] = "Proxiblaster K", | |||
["Order Blaster Replica"] = "Blaster d'Ordre (réplique)", | |||
["Clash Blaster"] = "Rafablaster", | |||
["Clash Blaster Neo"] = "Rafablaster Néo", | |||
["Rapid Blaster"] = "Turboblaster", | |||
["Rapid Blaster Deco"] = "Turboblaster chic", | |||
["Kensa Rapid Blaster"] = "Turboblaster K", | |||
["Rapid Blaster Pro"] = "Turboblaster pro", | |||
["Rapid Blaster Pro Deco"] = "Turboblaster pro chic", | |||
["S-BLAST '92"] = "S-Blaster '92", | |||
["S-BLAST '91"] = "S-Blaster '91", | |||
--Armes doubles | |||
["Dapple Dualies"] = "Double moucheteur", | |||
["Dapple Dualies Nouveau"] = "Double moucheteur nuancé", | |||
["Clear Dapple Dualies"] = "Double moucheteur dépoli", | |||
["Splat Dualies"] = "Double encreur", | |||
["Enperry Splat Dualies"] = "Double encreur griffé", | |||
["Kensa Splat Dualies"] = "Double encreur K", | |||
["Hero Dualie Replicas"] = "D. encreur héroïque (réplique)", | |||
["Order Dualie Replicas"] = "Arme double d'Ordre (réplique)", | |||
["Glooga Dualies"] = "Double Kelvin 525", | |||
["Glooga Dualies Deco"] = "Double Kelvin 525 chic", | |||
["Kensa Glooga Dualies"] = "Double Kelvin 525 K", | |||
["Dualie Squelchers"] = "Double nettoyeur", | |||
["Custom Dualie Squelchers"] = "Double nettoyeur modifié", | |||
["Dark Tetra Dualies"] = "Double voltigeur noir", | |||
["Light Tetra Dualies"] = "Double voltigeur blanc", | |||
["Douser Dualies FF"] = "Double ignifugeur", | |||
["Custom Douser Dualies FF"] = "Double ignifugeur modifié", | |||
--Rouleaux | |||
["Splat Roller"] = "Rouleau", | |||
["Krak-On Splat Roller"] = "Rouleau griffé", | |||
["CoroCoro Splat Roller"] = "Rouleau CoroCoro", | |||
["Kensa Splat Roller"] = "Rouleau K", | |||
["Hero Roller Replica"] = "Rouleau héroïque (réplique)", | |||
["Order Roller Replica"] = "Rouleau d'Ordre (réplique)", | |||
["Carbon Roller"] = "Rouleau carbone", | |||
["Carbon Roller Deco"] = "Rouleau carbone chic", | |||
["Dynamo Roller"] = "Dynamo-rouleau", | |||
["Gold Dynamo Roller"] = "Dynamo-rouleau tesla", | |||
["Tempered Dynamo Roller"] = "Dynamo-rouleau trempé", | |||
["Kensa Dynamo Roller"] = "Dynamo-rouleau K", | |||
["Flingza Roller"] = "Flexi-rouleau", | |||
["Foil Flingza Roller"] = "Flexi-rouleau alu", | |||
["Big Swig Roller"] = "Rouleau large", | |||
["Big Swig Roller Express"] = "Rouleau large Xpress", | |||
--Pinceaux | |||
["Inkbrush"] = "Épinceau", | |||
["Inkbrush Nouveau"] = "Épinceau nuancé", | |||
["Permanent Inkbrush"] = "Épinceau permanent", | |||
["Octobrush"] = "Épinceau brosse", | |||
["Octobrush Nouveau"] = "Épinceau brosse nuancé", | |||
["Kensa Octobrush"] = "Épinceau brosse K", | |||
["Herobrush Replica"] = "Épinceau héroïque (réplique)", | |||
["Orderbrush Replica"] = "Pinceau d'Ordre (réplique)", | |||
["Painbrush"] = "Épinceau écaïe", | |||
["Painbrush Nouveau"] = "Épinceau écaïe nuancé", | |||
--Fusils | |||
["Splat Charger"] = "Concentraceur", | |||
["Kelp Splat Charger"] = "Concentraceur W", | |||
["Bento Splat Charger"] = "Concentraceur Bento", | |||
["Firefin Splat Charger"] = "Concentraceur griffé", | |||
["Kensa Charger"] = "Concentraceur K", | |||
["Z+F Splat Charger"] = "Concentraceur E+F", | |||
["Hero Charger Replica"] = "Conc. héroïque (réplique)", | |||
["Order Charger Replica"] = "Fusil d'Ordre (réplique)", | |||
["Splatterscope"] = "Concentraceur zoom", | |||
["Kelp Splatterscope"] = "Concentraceur zoom W", | |||
["Bento Splatterscope"] = "Concentraceur zoom Bento", | |||
["Firefin Splatterscope"] = "Concentraceur zoom griffé", | |||
["Kensa Splatterscope"] = "Concentraceur zoom K", | |||
["Z+F Splatterscope"] = "Concentraceur zoom E+F", | |||
["Squiffer"] = "Décap'express", | |||
["Classic Squiffer"] = "Décap'express Alpha", | |||
["New Squiffer"] = "Décap'express Bêta", | |||
["Fresh Squiffer"] = "Décap'express Gamma", | |||
["E-liter"] = "Extraceur", | |||
["E-liter 3K"] = "Extraceur", | |||
["Custom E-liter 3K"] = "Extraceur zoom modifié", | |||
["E-liter 4K"] = "Extraceur +", | |||
["Custom E-liter 4K"] = "Extraceur + modifié", | |||
["E-liter Scope"] = "Extraceur zoom", | |||
["E-liter 3K Scope"] = "Extraceur zoom", | |||
["Custom E-liter 3K Scope"] = "Extraceur zoom modifié", | |||
["E-liter 4K Scope"] = "Extraceur + zoom", | |||
["Custom E-liter 4K Scope"] = "Extraceur + zoom modifié", | |||
["Bamboozler 14"] = "Bimbambouk", | |||
["Bamboozler 14 Mk I"] = "Bimbamboum Mk I", | |||
["Bamboozler 14 Mk II"] = "Bimbamboum Mk II", | |||
["Bamboozler 14 Mk III"] = "Bimbamboum Mk III", | |||
["Goo Tuber"] = "Détubeur", | |||
["Custom Goo Tuber"] = "Détubeur modifié", | |||
["Snipewriter 5H"] = "Crayon X - 5H", | |||
["Snipewriter 5B"] = "Crayon X - 5B", | |||
--Seaux | |||
["Slosher"] = "Seauceur", | |||
["Slosher Deco"] = "Seauceur chic", | |||
["Soda Slosher"] = "Seauceur Diabolo", | |||
["Hero Slosher Replica"] = "Seauceur héroïque", | |||
["Order Slosher Replica"] = "Seau d'Ordre ('éplique)", | |||
["Tri-Slosher"] = "Dépoteur", | |||
["Tri-Slosher Nouveau"] = "Dépoteur nuancé", | |||
["Sloshing Machine"] = "Encrifugeur", | |||
["Sloshing Machine Neo"] = "Encrifugeur Néo", | |||
["Kensa Sloshing Machine"] = "Encrifugeur K", | |||
["Bloblobber"] = "Bassineur", | |||
["Bloblobber Deco"] = "Bassineur chic", | |||
["Explosher"] = "Détoneur", | |||
["Custom Explosher"] = "Détoneur modifié", | |||
["Dread Wringer"] = "Seau S-Horreur", | |||
["Dread Wringer D"] = "Seau S-Horreur Cétacé", | |||
--Badigeonneurs | |||
["Heavy Splatling"] = "Badigeonneur", | |||
["Mini Splatling"] = "Badigeonneur XS", | |||
["Zink Mini Splatling"] = "Badigeonneur XS griffé", | |||
["Refurbished Mini Splatling"] = "Badigeonneur XS révisé", | |||
["Kensa Mini Splatling"] = "Badigeonneur XS K", | |||
["Heavy Splatling"] = "Badigeonneur", | |||
["Heavy Splatling Deco"] = "Badigeonneur chic", | |||
["Heavy Splatling Remix"] = "Badigeonneur Disco", | |||
["Hero Splatling Replica"] = "Badigeon. héroïque (réplique)", | |||
["Order Splatling Replica"] = "Badigeonneur d'Ordre (réplique)", | |||
["Hydra Splatling"] = "Exteinteur", | |||
["Custom Hydra Splatling"] = "Exteinteur modifié", | |||
["Ballpoint Splatling"] = "Badigeonneur stylo", | |||
["Ballpoint Splatling Nouveau"] = "Badigeonneur style nuancé", | |||
["Nautilus"] = "Nautilus", | |||
["Nautilus 47"] = "Nautilus 47", | |||
["Nautilus 79"] = "Nautilus 79", | |||
["Heavy Edit Splatling"] = "Correcteur", | |||
["Heavy Edit Splatling Nouveau"] = "Correcteur nuancé", | |||
--Para-encres | |||
["Splat Brella"] = "Para-encre", | |||
["Sorella Brella"] = "Para-encre Sorella", | |||
["Hero Brella Replica"] = "Para-encre héroïque (réplique)", | |||
["Order Brella Replica"] = "Para-encre d'Ordre (réplique)", | |||
["Tenta Brella"] = "Para-encre XL", | |||
["Tenta Sorella Brella"] = "Para-encre XL Sorella", | |||
["Tenta Camo Brella"] = "Para-encre XL treillis", | |||
["Undercover Brella"] = "Para-encre espion", | |||
["Undercover Sorella Brella"] = "Para-encre espion Sorella", | |||
["Kensa Undercover Brella"] = "Para-encre espion K", | |||
["Recycled Brella 24 Mk I"] = "Para-encre Ré-gen 24 Mk I", | |||
["Recycled Brella 24 Mk II"] = "Para-encre Ré-gen 24 Mk II", | |||
--Transperceur | |||
["Tri-Stringer"] = "Trisperceur", | |||
["Inkline Tri-Stringer"] = "Trisperceur Abysma", | |||
["Order Stringer Replica"] = "Transperceur d'Ordre (réplique)", | |||
["REEF-LUX 450"] = "Coralux 450", | |||
["REEF-LUX 450 Deco"] = "Coralux 450 griffé", | |||
["Wellstring V"] = "Multisperceur V", | |||
["Multisperceur V"] = "Multisperceur V modifié", | |||
--Éclatana | |||
["Splatana Wiper"] = "Éclatana Doto", | |||
["Splatana Wiper Deco"] = "Éclatana Doto chic", | |||
["Splatana Stamper"] = "Éclatana d'estampe", | |||
["Splatana Stamper Nouveau"] = "Éclatana d'estampe nuancé", | |||
["Order Splatana Replica"] = "Éclatana d'Ordre (réplique)", | |||
["Mint Decavitator"] = "Sabrifrice menthe", | |||
["Charcoal Decavitator"] = "Sabrifrice charbon", | |||
--Armes rares | |||
["Grizzco Blaster"] = "Blaster M. Ours SA", | |||
["Grizzco Brella"] = "Para-encre M. Ours SA", | |||
["Grizzco Charger"] = "Fusil M. Ours SA", | |||
["Grizzco Slosher"] = "Seau M. Ours SA", | |||
["Grizzco Stringer"] = "Transperceur M. Ours SA", | |||
["Grizzco Splatana"] = "Éclatana M. Ours SA", | |||
["Grizzco Dualies"] = "Arme double M. Ours SA", | |||
["Grizzco Roller"] = "Rouleau M. Ours SA", | |||
["Unarmed"] = "List des missions sans armes", | |||
} | |||
-- Local function for switch-like behavior to get full name | -- Local function for switch-like behavior to get full name | ||
Ligne 21 : | Ligne 347 : | ||
-- Local function for switch-like behavior to get link | -- Local function for switch-like behavior to get link | ||
local function getLink(name, gameShort) | local function getLink(name, gameShort) | ||
-- Check if the name matches a translated sub weapon | |||
local translatedSubWeapon = subWeaponTranslations[name] | |||
return | if translatedSubWeapon then | ||
return translatedSubWeapon | |||
end | |||
local | -- Check if the name matches a translated special weapon | ||
[ | local translatedSpecialWeapon = specialWeaponTranslations[name] | ||
if translatedSpecialWeapon then | |||
return translatedSpecialWeapon | |||
end | |||
-- Check if the name matches a translated main weapon | |||
return | local translatedMainWeapon = mainWeaponTranslations[name] | ||
if translatedMainWeapon then | |||
return translatedMainWeapon | |||
end | |||
-- If name starts with Bomb Rush, return generic translation | |||
if name:find("^Bomb Rush") then | |||
return "Bombardement" | |||
end | |||
-- Default to returning the original name if no translation is found | |||
return name | |||
end | end | ||
Ligne 41 : | Ligne 379 : | ||
function p.main(frame) | function p.main(frame) | ||
-- Extract args from frame | |||
local parentArgs = frame:getParent().args | local parentArgs = frame:getParent().args | ||
local icononly = parentArgs['icononly'] or parentArgs[4] == "icononly" or parentArgs[5] == "icononly" or false | local icononly = parentArgs['icononly'] or parentArgs[4] == "icononly" or parentArgs[5] == "icononly" or false | ||
Ligne 54 : | Ligne 392 : | ||
icononly = icononly, | icononly = icononly, | ||
size = size, | size = size, | ||
variant = extractArg(parentArgs, 'var', nil, "") | variant = extractArg(parentArgs, 'var', nil, ""), | ||
sub = extractArg(parentArgs, 'sub', nil, ""), | |||
special = extractArg(parentArgs, 'special', nil, "") | |||
} | } | ||
Ligne 64 : | Ligne 404 : | ||
local gameShort = gameShortened.getGame(args.game) | local gameShort = gameShortened.getGame(args.game) | ||
-- Construct the file name using getFullName() | -- Get translated names if available | ||
local translatedSub = getLink(args.sub, gameShort) | |||
local translatedSpecial = getLink(args.special, gameShort) | |||
local translatedMain = getLink(args.name, gameShort) | |||
-- Construct the file name using getFullName() without translation | |||
local fileName = string.format("%s_Weapon_%s_%s%s.png", gameShort, args.category, getFullName(args.name), (args.variant and args.variant ~= "" and ("_" .. args.variant) or "")) | local fileName = string.format("%s_Weapon_%s_%s%s.png", gameShort, args.category, getFullName(args.name), (args.variant and args.variant ~= "" and ("_" .. args.variant) or "")) | ||
Ligne 71 : | Ligne 416 : | ||
if not args.icononly then | if not args.icononly then | ||
-- Add textual representation | -- Add textual representation with translated main, sub, and special names | ||
output = output .. " [[" .. | output = output .. " [[" .. translatedMain .. "]]" | ||
if args.sub and args.sub ~= "" then | |||
output = output .. " [[" .. translatedSub .. "]]" | |||
end | |||
if args.special and args.special ~= "" then | |||
output = output .. " [[" .. translatedSpecial .. "]]" | |||
end | |||
end | end | ||
Dernière version du 23 juin 2024 à 12:47
Displays an inline weapon icon with a text link.
Usage
{{Weapon|<game>|<name>|<size>|<icononly>}}
Parameters
Parameter | Type | Status | Description |
---|---|---|---|
game | Unnamed | Required | The game that the ability belongs to. Must be one of the following:
|
category | Unnamed | Required | The type of weapon. Must be one of the following:
|
name | Unnamed | Required | The English name of the weapon.
|
size | Unnamed | Optional | The pixel width for the icon. The default size is 24. |
icononly | Unnamed | Optional | If present, the text label will be omitted. |
var | Named | Optional | If present, the variant name will be appended to the file name, to choose between different variants of the same weapon's icons. |
Examples
Markup
* {{Weapon|S|Special|Bomb Rush}} * {{Weapon|S|Special|Bomb Rush (Seeker)|48}} * {{Weapon|S2|Main|Splattershot|icononly}} * {{Weapon|S2|Main|Splattershot|48|icononly}} * {{Weapon|S2|Main|?}} * {{Weapon|S2|Main|??}} * {{Weapon|S3|Main|?}} * {{Weapon|S3|Main|??}} * {{Weapon|S3|Main|Splattershot|icononly}} * {{Weapon|S3|Main|Splattershot|48|icononly}} * {{Weapon|S|Sub|Splat Bomb|icononly}} * {{Weapon|S2|Sub|Splat Bomb|icononly}} * {{Weapon|S3|Sub|Splat Bomb|icononly}} * {{Weapon|S|Special|Bomb Rush Splat Bomb|icononly}} * {{Weapon|S|Special|Killer Wail}} * {{Weapon|S3|Main|Hero Shot Replica|var=2D Current|icononly}}
Output
local p = {} local gameShortened = require("Module:GameShortened") -- Translation tables for sub, special, and main weapons local subWeaponTranslations = { ["Sub weapons"] = "Armes secondaires", ["Sub weapon"] = "Arme secondaire", ["Splat Bomb"] = "Bombe splash", ["Suction Bomb"] = "Bombe gluante", ["Burst Bomb"] = "Bombe ballon", ["Seeker"] = "Traqueur", ["Curling Bomb"] = "Bombe curling", ["Autobomb"] = "Bombe robot", ["Ink Mine"] = "Mine", ["Disruptor"] = "Fiole toxique", ["Toxic Mist"] = "Brume toxique", ["Point Sensor"] = "Détecteur", ["Splash Wall"] = "Mur d'encre", ["Sprinkler"] = "Fontaine", ["Squid Beakon"] = "Balise de saut", ["Fizzy Bomb"] = "Bombe soda", ["Torpedo"] = "Bentorpille", ["Angle Shooter"] = "Ricocheur", ["Smallfry"] = "Salmioche (personnage)|Salmioche", } local specialWeaponTranslations = { ["Special weapons"] = "Armes spéciales", ["Special weapon"] = "Arme spéciale", ["Bomb Rush"] = "Bombardement", ["Bubbler"] = "Bouclier", ["Echolocator"] = "Sonar", ["Inkstrike"] = "Missile tornade", ["Inkzooka"] = "Lance-tornades", ["Killer Wail"] = "Haut-perceur", ["Kraken"] = "Kraken", ["Tenta Missiles"] = "Multi-missile", ["Sting Ray"] = "Pigmalance", ["Inkjet"] = "Chromo-jet", ["Splashdown"] = "Choc chromatique", ["Ink Armor"] = "Armure d'encre", ["Bomb Launcher"] = "Lance-bombes", ["Splat-Bomb Launcher"] = "Lance-bombes splash", ["Suction-Bomb Launcher"] = "Lance-bombes gluantes", ["Curling-Bomb Launcher"] = "Lance-bombes curling", ["Autobomb Launcher"] = "Lance-bombes robots", ["Burst-Bomb Launcher"] = "Lance-bombes ballons", ["Ink Storm"] = "Pluie d'encre", ["Baller"] = "Chromo-sphère", ["Bubble Blower"] = "Lance-bulles", ["Booyah Bomb"] = "Jolizator", ["Ultra Stamp"] = "Ultra-tamponneur", ["Trizooka"] = "Lance-rafales", ["Big Bubbler"] = "Super bouclier", ["Crab Tank"] = "Crabe d'assaut", ["Killer Wail 5.1"] = "Haut-perceur 5.1", ["Zipcaster"] = "Super Mollusque", ["Ink Vac"] = "Aspirencre", ["Triple Inkstrike"] = "Trimissile tornade", ["Tacticooler"] = "Districool", ["Wave Breaker"] = "Sonar paf", ["Reefslider"] = "Cavasquale", ["Kraken Royale"] = "Kraken royal", ["Super Chump"] = "Multi-leurres", ["Triple Splashdown"] = "Triple choc chromatique", ["Splattercolor Screen"] = "Barrière barbouillée", ["?"] = gameShort == "S3" and "Salmon_Run_Next_Wave#Rotation_Aléatoire|Aléatoire" or "Salmon_Run#Rotation_Aléatoire|Aléatoire", ["??"] = gameShort == "S3" and "Salmon_Run_Next_Wave#Rotation_Aléatoire|Spéciale" or "Salmon_Run#Rotation_spéciale_armes_de_m_ours|Spéciale" } local mainWeaponTranslations = { ["Main"] = "Principale", ["Sub"] = "Secondaire", ["Special"] = "Spéciale", ["Shooter"] = "Lanceur", ["Blaster"] = "Blaster", ["Roller"] = "Rouleau", ["Brush"] = "Pinceau", ["Charger"] = "Fusil", ["Slosher"] = "Seau", ["Splatling"] = "Badigeonneur", ["Dualie"] = "Arme double", ["Brella"] = "Para-encre", ["Stringer"] = "Transperceur", ["Splatana"] = "Éclatana", --Lanceurs ["Splattershot Jr."] = "Liquidateur Jr.", ["Custom Splattershot Jr."] = "Liquidateur Sr.", ["Kensa Splattershot Jr."] = "Liquidateur Jr. K", ["Sploosh-o-matic"] = "Marqueur lourd", ["Neo Sploosh-o-matic"] = "Marqueur lourd Néo", ["Sploosh-o-matic 7"] = "Marqueur lourd 7", ["Splash-o-matic"] = "Marqueur léger", ["Neo Splash-o-matic"] = "Marqueur léger Néo", ["Aerospray"] = "Aérogun", ["Aerospray MG"] = "Aérogun", ["Aerospray RG"] = "Aérogun premium", ["Aerospray PG"] = "Aérogun select", ["Splattershot"] = "Liquidateur", ["Tentatek Splattershot"] = "Liquidateur griffé", ["Wasabi Splattershot"] = "Liquidateur Wasabi", ["Kensa Splattershot"] = "Liquidateur K", ["Hero Shot Replica"] = "Lanceur héroïque (réplique)", ["Octo Shot Replica"] = "Lanceur Octaling (réplique)", ["Order Shot Replica"] = "Lanceur d'Ordre (réplique)", [".52 Gal"] = "Calibre 2000", [".52 Gal Deco"] = "Calibre 2000 chic", ["Kensa .52 Gal"] = "Calibre 2000 K", ["N-ZAP"] = "N-ZAP", ["N-ZAP '85"] = "N-ZAP 85", ["N-ZAP '89"] = "N-ZAP 89", ["N-ZAP '83"] = "N-ZAP 83", ["Dual Squelcher"] = "Nettoyeur duo", ["Custom Dual Squelcher"] = "Nettoyeur duo modifié", ["Splattershot Pro"] = "Liquidateur pro", ["Forge Splattershot Pro"] = "Liquidateur pro griffé", ["Berry Splattershot Pro"] = "Liquidateur pro Framboise", ["Kensa Splattershot Pro"] = "Liquidateur pro K", [".96 Gal"] = "Calibre 3000", [".96 Gal Deco"] = "Calibre 3000 chic", ["Jet Squelcher"] = "Nettoyeur XL", ["Custom Jet Squelcher"] = "Nettoyeur XL modifié", ["Splattershot Nova"] = "Lanceur spatial", ["Annaki Splattershot Nova"] = "Lanceur spatial Aroz", --Arroseurs ["L-3 Nozzlenose"] = "Arroseur léger", ["L-3 Nozzlenose D"] = "Arroseur léger Cétacé", ["Kensa L-3 Nozzlenose"] = "Arroseur léger K", ["H-3 Nozzlenose"] = "Arroseur lourd", ["H-3 Nozzlenose D"] = "Arroseur lourd Cétacé", ["Cherry H-3 Nozzlenose"] = "Arroseur lourd Cerise", ["Squeezer"] = "Compresseur", ["Foil Squeezer"] = "Compresseur alu", --Blasters ["Blaster"] = "Éclablaster", ["Custom Blaster"] = "Éclablaster modifié", ["Hero Blaster Replica"] = "Blaster héroique (réplique)", ["Range Blaster"] = "Éclablaster XL", ["Custom Range Blaster"] = "Éclablaster XL griffé", ["Grim Range Blaster"] = "Éclablaster Nox", ["Luna Blaster"] = "Proxiblaster", ["Luna Blaster Neo"] = "Proxiblaster Néo", ["Kensa Luna Blaster"] = "Proxiblaster K", ["Order Blaster Replica"] = "Blaster d'Ordre (réplique)", ["Clash Blaster"] = "Rafablaster", ["Clash Blaster Neo"] = "Rafablaster Néo", ["Rapid Blaster"] = "Turboblaster", ["Rapid Blaster Deco"] = "Turboblaster chic", ["Kensa Rapid Blaster"] = "Turboblaster K", ["Rapid Blaster Pro"] = "Turboblaster pro", ["Rapid Blaster Pro Deco"] = "Turboblaster pro chic", ["S-BLAST '92"] = "S-Blaster '92", ["S-BLAST '91"] = "S-Blaster '91", --Armes doubles ["Dapple Dualies"] = "Double moucheteur", ["Dapple Dualies Nouveau"] = "Double moucheteur nuancé", ["Clear Dapple Dualies"] = "Double moucheteur dépoli", ["Splat Dualies"] = "Double encreur", ["Enperry Splat Dualies"] = "Double encreur griffé", ["Kensa Splat Dualies"] = "Double encreur K", ["Hero Dualie Replicas"] = "D. encreur héroïque (réplique)", ["Order Dualie Replicas"] = "Arme double d'Ordre (réplique)", ["Glooga Dualies"] = "Double Kelvin 525", ["Glooga Dualies Deco"] = "Double Kelvin 525 chic", ["Kensa Glooga Dualies"] = "Double Kelvin 525 K", ["Dualie Squelchers"] = "Double nettoyeur", ["Custom Dualie Squelchers"] = "Double nettoyeur modifié", ["Dark Tetra Dualies"] = "Double voltigeur noir", ["Light Tetra Dualies"] = "Double voltigeur blanc", ["Douser Dualies FF"] = "Double ignifugeur", ["Custom Douser Dualies FF"] = "Double ignifugeur modifié", --Rouleaux ["Splat Roller"] = "Rouleau", ["Krak-On Splat Roller"] = "Rouleau griffé", ["CoroCoro Splat Roller"] = "Rouleau CoroCoro", ["Kensa Splat Roller"] = "Rouleau K", ["Hero Roller Replica"] = "Rouleau héroïque (réplique)", ["Order Roller Replica"] = "Rouleau d'Ordre (réplique)", ["Carbon Roller"] = "Rouleau carbone", ["Carbon Roller Deco"] = "Rouleau carbone chic", ["Dynamo Roller"] = "Dynamo-rouleau", ["Gold Dynamo Roller"] = "Dynamo-rouleau tesla", ["Tempered Dynamo Roller"] = "Dynamo-rouleau trempé", ["Kensa Dynamo Roller"] = "Dynamo-rouleau K", ["Flingza Roller"] = "Flexi-rouleau", ["Foil Flingza Roller"] = "Flexi-rouleau alu", ["Big Swig Roller"] = "Rouleau large", ["Big Swig Roller Express"] = "Rouleau large Xpress", --Pinceaux ["Inkbrush"] = "Épinceau", ["Inkbrush Nouveau"] = "Épinceau nuancé", ["Permanent Inkbrush"] = "Épinceau permanent", ["Octobrush"] = "Épinceau brosse", ["Octobrush Nouveau"] = "Épinceau brosse nuancé", ["Kensa Octobrush"] = "Épinceau brosse K", ["Herobrush Replica"] = "Épinceau héroïque (réplique)", ["Orderbrush Replica"] = "Pinceau d'Ordre (réplique)", ["Painbrush"] = "Épinceau écaïe", ["Painbrush Nouveau"] = "Épinceau écaïe nuancé", --Fusils ["Splat Charger"] = "Concentraceur", ["Kelp Splat Charger"] = "Concentraceur W", ["Bento Splat Charger"] = "Concentraceur Bento", ["Firefin Splat Charger"] = "Concentraceur griffé", ["Kensa Charger"] = "Concentraceur K", ["Z+F Splat Charger"] = "Concentraceur E+F", ["Hero Charger Replica"] = "Conc. héroïque (réplique)", ["Order Charger Replica"] = "Fusil d'Ordre (réplique)", ["Splatterscope"] = "Concentraceur zoom", ["Kelp Splatterscope"] = "Concentraceur zoom W", ["Bento Splatterscope"] = "Concentraceur zoom Bento", ["Firefin Splatterscope"] = "Concentraceur zoom griffé", ["Kensa Splatterscope"] = "Concentraceur zoom K", ["Z+F Splatterscope"] = "Concentraceur zoom E+F", ["Squiffer"] = "Décap'express", ["Classic Squiffer"] = "Décap'express Alpha", ["New Squiffer"] = "Décap'express Bêta", ["Fresh Squiffer"] = "Décap'express Gamma", ["E-liter"] = "Extraceur", ["E-liter 3K"] = "Extraceur", ["Custom E-liter 3K"] = "Extraceur zoom modifié", ["E-liter 4K"] = "Extraceur +", ["Custom E-liter 4K"] = "Extraceur + modifié", ["E-liter Scope"] = "Extraceur zoom", ["E-liter 3K Scope"] = "Extraceur zoom", ["Custom E-liter 3K Scope"] = "Extraceur zoom modifié", ["E-liter 4K Scope"] = "Extraceur + zoom", ["Custom E-liter 4K Scope"] = "Extraceur + zoom modifié", ["Bamboozler 14"] = "Bimbambouk", ["Bamboozler 14 Mk I"] = "Bimbamboum Mk I", ["Bamboozler 14 Mk II"] = "Bimbamboum Mk II", ["Bamboozler 14 Mk III"] = "Bimbamboum Mk III", ["Goo Tuber"] = "Détubeur", ["Custom Goo Tuber"] = "Détubeur modifié", ["Snipewriter 5H"] = "Crayon X - 5H", ["Snipewriter 5B"] = "Crayon X - 5B", --Seaux ["Slosher"] = "Seauceur", ["Slosher Deco"] = "Seauceur chic", ["Soda Slosher"] = "Seauceur Diabolo", ["Hero Slosher Replica"] = "Seauceur héroïque", ["Order Slosher Replica"] = "Seau d'Ordre ('éplique)", ["Tri-Slosher"] = "Dépoteur", ["Tri-Slosher Nouveau"] = "Dépoteur nuancé", ["Sloshing Machine"] = "Encrifugeur", ["Sloshing Machine Neo"] = "Encrifugeur Néo", ["Kensa Sloshing Machine"] = "Encrifugeur K", ["Bloblobber"] = "Bassineur", ["Bloblobber Deco"] = "Bassineur chic", ["Explosher"] = "Détoneur", ["Custom Explosher"] = "Détoneur modifié", ["Dread Wringer"] = "Seau S-Horreur", ["Dread Wringer D"] = "Seau S-Horreur Cétacé", --Badigeonneurs ["Heavy Splatling"] = "Badigeonneur", ["Mini Splatling"] = "Badigeonneur XS", ["Zink Mini Splatling"] = "Badigeonneur XS griffé", ["Refurbished Mini Splatling"] = "Badigeonneur XS révisé", ["Kensa Mini Splatling"] = "Badigeonneur XS K", ["Heavy Splatling"] = "Badigeonneur", ["Heavy Splatling Deco"] = "Badigeonneur chic", ["Heavy Splatling Remix"] = "Badigeonneur Disco", ["Hero Splatling Replica"] = "Badigeon. héroïque (réplique)", ["Order Splatling Replica"] = "Badigeonneur d'Ordre (réplique)", ["Hydra Splatling"] = "Exteinteur", ["Custom Hydra Splatling"] = "Exteinteur modifié", ["Ballpoint Splatling"] = "Badigeonneur stylo", ["Ballpoint Splatling Nouveau"] = "Badigeonneur style nuancé", ["Nautilus"] = "Nautilus", ["Nautilus 47"] = "Nautilus 47", ["Nautilus 79"] = "Nautilus 79", ["Heavy Edit Splatling"] = "Correcteur", ["Heavy Edit Splatling Nouveau"] = "Correcteur nuancé", --Para-encres ["Splat Brella"] = "Para-encre", ["Sorella Brella"] = "Para-encre Sorella", ["Hero Brella Replica"] = "Para-encre héroïque (réplique)", ["Order Brella Replica"] = "Para-encre d'Ordre (réplique)", ["Tenta Brella"] = "Para-encre XL", ["Tenta Sorella Brella"] = "Para-encre XL Sorella", ["Tenta Camo Brella"] = "Para-encre XL treillis", ["Undercover Brella"] = "Para-encre espion", ["Undercover Sorella Brella"] = "Para-encre espion Sorella", ["Kensa Undercover Brella"] = "Para-encre espion K", ["Recycled Brella 24 Mk I"] = "Para-encre Ré-gen 24 Mk I", ["Recycled Brella 24 Mk II"] = "Para-encre Ré-gen 24 Mk II", --Transperceur ["Tri-Stringer"] = "Trisperceur", ["Inkline Tri-Stringer"] = "Trisperceur Abysma", ["Order Stringer Replica"] = "Transperceur d'Ordre (réplique)", ["REEF-LUX 450"] = "Coralux 450", ["REEF-LUX 450 Deco"] = "Coralux 450 griffé", ["Wellstring V"] = "Multisperceur V", ["Multisperceur V"] = "Multisperceur V modifié", --Éclatana ["Splatana Wiper"] = "Éclatana Doto", ["Splatana Wiper Deco"] = "Éclatana Doto chic", ["Splatana Stamper"] = "Éclatana d'estampe", ["Splatana Stamper Nouveau"] = "Éclatana d'estampe nuancé", ["Order Splatana Replica"] = "Éclatana d'Ordre (réplique)", ["Mint Decavitator"] = "Sabrifrice menthe", ["Charcoal Decavitator"] = "Sabrifrice charbon", --Armes rares ["Grizzco Blaster"] = "Blaster M. Ours SA", ["Grizzco Brella"] = "Para-encre M. Ours SA", ["Grizzco Charger"] = "Fusil M. Ours SA", ["Grizzco Slosher"] = "Seau M. Ours SA", ["Grizzco Stringer"] = "Transperceur M. Ours SA", ["Grizzco Splatana"] = "Éclatana M. Ours SA", ["Grizzco Dualies"] = "Arme double M. Ours SA", ["Grizzco Roller"] = "Rouleau M. Ours SA", ["Unarmed"] = "List des missions sans armes", } -- Local function for switch-like behavior to get full name local function getFullName(name) local case_table = { ["Bomb Rush"] = "Bomb Rush Splat Bomb", ["Bomb Rush (Burst Bomb)"] = "Bomb Rush Burst Bomb", ["Bomb Rush (Splat Bomb)"] = "Bomb Rush Splat Bomb", ["Bomb Rush (Suction Bomb)"] = "Bomb Rush Suction Bomb", ["Bomb Rush (Seeker)"] = "Bomb Rush Seeker", ["Bomb Launcher"] = "Splat-Bomb Launcher", ["Hero Gear"] = "Hero Shot Level 1", ["?"] = "Random", ["??"] = "Random 2", ["Unknown"] = "Not Found" } return case_table[name] or name end -- Local function for switch-like behavior to get link local function getLink(name, gameShort) -- Check if the name matches a translated sub weapon local translatedSubWeapon = subWeaponTranslations[name] if translatedSubWeapon then return translatedSubWeapon end -- Check if the name matches a translated special weapon local translatedSpecialWeapon = specialWeaponTranslations[name] if translatedSpecialWeapon then return translatedSpecialWeapon end -- Check if the name matches a translated main weapon local translatedMainWeapon = mainWeaponTranslations[name] if translatedMainWeapon then return translatedMainWeapon end -- If name starts with Bomb Rush, return generic translation if name:find("^Bomb Rush") then return "Bombardement" end -- Default to returning the original name if no translation is found return name end local function extractArg(args, namedKey, positionalIndex, defaultValue) return args[namedKey] or args[positionalIndex] or defaultValue end function p.main(frame) -- Extract args from frame local parentArgs = frame:getParent().args local icononly = parentArgs['icononly'] or parentArgs[4] == "icononly" or parentArgs[5] == "icononly" or false local size = parentArgs['size'] or (parentArgs[4] ~= "icononly" and parentArgs[4]) or (parentArgs[5] ~= "icononly" and parentArgs[5]) or "24" local args = { game = extractArg(parentArgs, 'game', 1, ""), category = extractArg(parentArgs, 'category', 2, ""), name = extractArg(parentArgs, 'name', 3, ""), icononly = icononly, size = size, variant = extractArg(parentArgs, 'var', nil, ""), sub = extractArg(parentArgs, 'sub', nil, ""), special = extractArg(parentArgs, 'special', nil, "") } return p.getWeapon(args) end -- Main function function p.getWeapon(args) local gameShort = gameShortened.getGame(args.game) -- Get translated names if available local translatedSub = getLink(args.sub, gameShort) local translatedSpecial = getLink(args.special, gameShort) local translatedMain = getLink(args.name, gameShort) -- Construct the file name using getFullName() without translation local fileName = string.format("%s_Weapon_%s_%s%s.png", gameShort, args.category, getFullName(args.name), (args.variant and args.variant ~= "" and ("_" .. args.variant) or "")) -- Construct the output local output = string.format('[[File:%s|%spx|link=%s]]', fileName, args.size or 24, getLink(args.name, gameShort)) if not args.icononly then -- Add textual representation with translated main, sub, and special names output = output .. " [[" .. translatedMain .. "]]" if args.sub and args.sub ~= "" then output = output .. " [[" .. translatedSub .. "]]" end if args.special and args.special ~= "" then output = output .. " [[" .. translatedSpecial .. "]]" end end return output end return p