From d0afd69d34c1e3e67c9ce516c3e1d9a5d42b994a Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Wed, 24 Mar 2021 17:41:38 +0100 Subject: [PATCH] Optimize achievement loading. Add a new achievement (heh). Don't show achievement notifications while the level is ending. --- achievements.lst | 82 +++ cvarinfo.txt | 229 ++++---- ...evementAnomaly.png => AchievementAnom.png} | Bin ...Sandwich.png => AchievementGCSandwich.png} | Bin ...entMxWorldwide.png => AchievementIWAD.png} | Bin ...evementRagekit.png => AchievementRage.png} | Bin ...ntInvinciball.png => AchievementSunny.png} | Bin language.def_base | 284 +++++----- language.es_base | 259 ++++----- language.version | 4 +- zscript/handler/swwm_handler_worldload.zsc | 3 + .../swwm_statichandler_achievements.zsc | 511 ++---------------- zscript/hud/swwm_hudextra.zsc | 10 +- zscript/kbase/swwm_kbase.zsc | 484 +---------------- zscript/swwm_statichandler.zsc | 28 +- zscript/utility/swwm_utility.zsc | 154 ++++-- 16 files changed, 661 insertions(+), 1387 deletions(-) create mode 100644 achievements.lst rename graphics/Achievements/{AchievementAnomaly.png => AchievementAnom.png} (100%) rename graphics/Achievements/{AchievementSandwich.png => AchievementGCSandwich.png} (100%) rename graphics/Achievements/{AchievementMxWorldwide.png => AchievementIWAD.png} (100%) rename graphics/Achievements/{AchievementRagekit.png => AchievementRage.png} (100%) rename graphics/Achievements/{AchievementInvinciball.png => AchievementSunny.png} (100%) diff --git a/achievements.lst b/achievements.lst new file mode 100644 index 000000000..224813653 --- /dev/null +++ b/achievements.lst @@ -0,0 +1,82 @@ +# achievements listed here +# format: "basename,maxval,hasformat" +# basename: the base name used to construct cvars and localization strings +# maxval: limit progress value (if any), a value of -1 means it needs special +# handling in zscript (usually for cases where this is dynamic, like +# the "all collectibles" achievement) +# hasformat: the TXT string has a %d in it to substitute for maxval +abort,0,no +acid,200,yes +allcoll,-1,no +allitems,30,yes +allkills,30,yes +allsecrets,30,yes +anom,25,yes +anone,0,no +balls,10,yes +barrier,25,yes +bonk,300,yes +bossdash,10,yes +brake,30,yes +bune,200,yes +bustin,40,yes +butts,100,yes +cheat,0,no +cliffyb,0,no +clonk,0,no +conga,15,yes +#dab,100,yes +#dakka,60,no +dime,0,no +dosh,1000000000,no +everything,0,no +ezkill,100,yes +flight,2000,yes +friend,30,yes +fuel,400,yes +#fuller,0,no +gcsandwich,25,yes +#gepgun,30,yes +ghost,25,yes +gib,1000,yes +golden,24,yes +gravity,25,yes +#hnd,6,yes +iwad,7,no +jump,100,yes +lead,1500,yes +#lightning,0,no +ligma,0,no +love,20,yes +#mashiro,0,no +mbf,0,no +mega,1000000,no +moth,50,yes +nice,0,no +oneguy,0,no +onestanding,0,no +oopsie,0,no +par,30,yes +parry,100,yes +#pene,20,yes +plush,20,yes +rage,25,yes +reflect,20,yes +refresh,25,yes +#roast,30,yes +salt,0,no +sanic,800,yes +sekiro,0,no +shock,30,yes +slayer,40,yes +slemg,50,yes +sneeze,20,yes +step,60,yes +stomp,50,yes +sunny,25,yes +tele,0,no +thicc,100,yes +thruwall,25,yes +wantdie,0,no +wave,0,no +yeet,0,no diff --git a/cvarinfo.txt b/cvarinfo.txt index fc5ca1b76..b8fdc1c56 100644 --- a/cvarinfo.txt +++ b/cvarinfo.txt @@ -103,6 +103,7 @@ server int swwm_drlaskill = 3; // [DRLA Monsters] skill setting for monster sp nosave bool swwm_itemsparkles = false; // visual aid for low visibility items server bool swwm_singlefirst = false; // single weapons are selected before dual ones, has to be a server cvar due to limitations nosave bool swwm_uniqstats = false; // only list stats from the same map once, rather than for each single visit +nosave int swwm_filterachievements = 1; // filter for achievements at 0%: 0 - no filter, 1 - obscure text, 2 - don't show // minimap settings nosave bool swwm_mm_enable = true; // show a minimap below the score counter @@ -145,132 +146,132 @@ server noarchive bool swwm_iseriouslywanttoplaythiswithbd = false; // self-expla nosave int swwm_playtime = 0; // total playtime in seconds // cross-session achievement cvars (0: locked, 1: unlocked, 2: notified) -nosave int swwm_achievement_gcsandwich = 0; -nosave int swwm_achievement_onestanding = 0; -nosave int swwm_achievement_oopsie = 0; -nosave int swwm_achievement_ghost = 0; -nosave int swwm_achievement_clonk = 0; -nosave int swwm_achievement_allitems = 0; -nosave int swwm_achievement_conga = 0; -nosave int swwm_achievement_gravity = 0; -nosave int swwm_achievement_flight = 0; -nosave int swwm_achievement_cliffyb = 0; -nosave int swwm_achievement_par = 0; -nosave int swwm_achievement_oneguy = 0; -nosave int swwm_achievement_golden = 0; -nosave int swwm_achievement_gib = 0; -nosave int swwm_achievement_barrier = 0; -nosave int swwm_achievement_bossdash = 0; -nosave int swwm_achievement_sneeze = 0; -nosave int swwm_achievement_fuel = 0; -nosave int swwm_achievement_slayer = 0; -nosave int swwm_achievement_dime = 0; -nosave int swwm_achievement_stomp = 0; -nosave int swwm_achievement_cheat = 0; -nosave int swwm_achievement_god = 0; -nosave int swwm_achievement_thruwall = 0; -nosave int swwm_achievement_mashiro = 0; -nosave int swwm_achievement_lead = 0; -nosave int swwm_achievement_love = 0; -nosave int swwm_achievement_butts = 0; -nosave int swwm_achievement_plush = 0; -nosave int swwm_achievement_bustin = 0; -nosave int swwm_achievement_moth = 0; -nosave int swwm_achievement_iwad = 0; -nosave int swwm_achievement_brake = 0; -nosave int swwm_achievement_rage = 0; nosave int swwm_achievement_abort = 0; -nosave int swwm_achievement_parry = 0; +nosave int swwm_achievement_acid = 0; +nosave int swwm_achievement_allcoll = 0; +nosave int swwm_achievement_allitems = 0; nosave int swwm_achievement_allkills = 0; nosave int swwm_achievement_allsecrets = 0; -nosave int swwm_achievement_reflect = 0; -nosave int swwm_achievement_sekiro = 0; -nosave int swwm_achievement_wave = 0; -nosave int swwm_achievement_friend = 0; -nosave int swwm_achievement_shock = 0; -nosave int swwm_achievement_balls = 0; -nosave int swwm_achievement_refresh = 0; -nosave int swwm_achievement_step = 0; -nosave int swwm_achievement_sunny = 0; -nosave int swwm_achievement_thicc = 0; -nosave int swwm_achievement_everything = 0; -nosave int swwm_achievement_allcoll = 0; -nosave int swwm_achievement_slemg = 0; -nosave int swwm_achievement_dosh = 0; -nosave int swwm_achievement_jump = 0; -nosave int swwm_achievement_ezkill = 0; -nosave int swwm_achievement_ligma = 0; -nosave int swwm_achievement_yeet = 0; -nosave int swwm_achievement_mbf = 0; -nosave int swwm_achievement_lightning = 0; -nosave int swwm_achievement_dakka = 0; -nosave int swwm_achievement_roast = 0; -nosave int swwm_achievement_dab = 0; -nosave int swwm_achievement_hnd = 0; -nosave int swwm_achievement_gepgun = 0; -nosave int swwm_achievement_fuller = 0; -nosave int swwm_achievement_pene = 0; -nosave int swwm_achievement_acid = 0; -nosave int swwm_achievement_salt = 0; -nosave int swwm_achievement_mega = 0; -nosave int swwm_achievement_sanic = 0; -nosave int swwm_achievement_tele = 0; -nosave int swwm_achievement_bune = 0; -nosave int swwm_achievement_bonk = 0; nosave int swwm_achievement_anom = 0; nosave int swwm_achievement_anone = 0; +nosave int swwm_achievement_balls = 0; +nosave int swwm_achievement_barrier = 0; +nosave int swwm_achievement_bonk = 0; +nosave int swwm_achievement_bossdash = 0; +nosave int swwm_achievement_brake = 0; +nosave int swwm_achievement_bune = 0; +nosave int swwm_achievement_bustin = 0; +nosave int swwm_achievement_butts = 0; +nosave int swwm_achievement_cheat = 0; +nosave int swwm_achievement_cliffyb = 0; +nosave int swwm_achievement_clonk = 0; +nosave int swwm_achievement_conga = 0; +nosave int swwm_achievement_dab = 0; +nosave int swwm_achievement_dakka = 0; +nosave int swwm_achievement_dime = 0; +nosave int swwm_achievement_dosh = 0; +nosave int swwm_achievement_everything = 0; +nosave int swwm_achievement_ezkill = 0; +nosave int swwm_achievement_flight = 0; +nosave int swwm_achievement_friend = 0; +nosave int swwm_achievement_fuel = 0; +nosave int swwm_achievement_fuller = 0; +nosave int swwm_achievement_gcsandwich = 0; +nosave int swwm_achievement_gepgun = 0; +nosave int swwm_achievement_ghost = 0; +nosave int swwm_achievement_gib = 0; +nosave int swwm_achievement_golden = 0; +nosave int swwm_achievement_gravity = 0; +nosave int swwm_achievement_hnd = 0; +nosave int swwm_achievement_iwad = 0; +nosave int swwm_achievement_jump = 0; +nosave int swwm_achievement_lead = 0; +nosave int swwm_achievement_lightning = 0; +nosave int swwm_achievement_ligma = 0; +nosave int swwm_achievement_love = 0; +nosave int swwm_achievement_mashiro = 0; +nosave int swwm_achievement_mbf = 0; +nosave int swwm_achievement_mega = 0; +nosave int swwm_achievement_moth = 0; +nosave int swwm_achievement_nice = 0; +nosave int swwm_achievement_oneguy = 0; +nosave int swwm_achievement_onestanding = 0; +nosave int swwm_achievement_oopsie = 0; +nosave int swwm_achievement_par = 0; +nosave int swwm_achievement_parry = 0; +nosave int swwm_achievement_pene = 0; +nosave int swwm_achievement_plush = 0; +nosave int swwm_achievement_rage = 0; +nosave int swwm_achievement_reflect = 0; +nosave int swwm_achievement_refresh = 0; +nosave int swwm_achievement_roast = 0; +nosave int swwm_achievement_salt = 0; +nosave int swwm_achievement_sanic = 0; +nosave int swwm_achievement_sekiro = 0; +nosave int swwm_achievement_shock = 0; +nosave int swwm_achievement_slayer = 0; +nosave int swwm_achievement_slemg = 0; +nosave int swwm_achievement_sneeze = 0; +nosave int swwm_achievement_step = 0; +nosave int swwm_achievement_stomp = 0; +nosave int swwm_achievement_sunny = 0; +nosave int swwm_achievement_tele = 0; +nosave int swwm_achievement_thicc = 0; +nosave int swwm_achievement_thruwall = 0; nosave int swwm_achievement_wantdie = 0; +nosave int swwm_achievement_wave = 0; +nosave int swwm_achievement_yeet = 0; // cross-session progress cvars -nosave int swwm_progress_gcsandwich = 0; -nosave int swwm_progress_ghost = 0; +nosave int swwm_progress_acid = 0; +nosave int swwm_progress_allcoll = 0; nosave int swwm_progress_allitems = 0; -nosave int swwm_progress_conga = 0; -nosave int swwm_progress_gravity = 0; -nosave int swwm_progress_flight = 0; -nosave int swwm_progress_par = 0; -nosave int swwm_progress_golden = 0; -nosave int swwm_progress_gib = 0; -nosave int swwm_progress_barrier = 0; -nosave int swwm_progress_bossdash = 0; -nosave int swwm_progress_sneeze = 0; -nosave float swwm_progress_fuel = 0; // this one has to be a double -nosave int swwm_progress_slayer = 0; -nosave int swwm_progress_stomp = 0; -nosave int swwm_progress_thruwall = 0; -nosave int swwm_progress_lead = 0; -nosave int swwm_progress_love = 0; -nosave int swwm_progress_butts = 0; -nosave int swwm_progress_plush = 0; -nosave int swwm_progress_bustin = 0; -nosave int swwm_progress_moth = 0; -nosave int swwm_progress_iwad = 0; -nosave int swwm_progress_brake = 0; -nosave int swwm_progress_rage = 0; -nosave int swwm_progress_parry = 0; nosave int swwm_progress_allkills = 0; nosave int swwm_progress_allsecrets = 0; -nosave int swwm_progress_reflect = 0; -nosave int swwm_progress_friend = 0; -nosave int swwm_progress_shock = 0; +nosave int swwm_progress_anom = 0; nosave int swwm_progress_balls = 0; +nosave int swwm_progress_barrier = 0; +nosave int swwm_progress_bonk = 0; +nosave int swwm_progress_bossdash = 0; +nosave int swwm_progress_brake = 0; +nosave int swwm_progress_bune = 0; +nosave int swwm_progress_bustin = 0; +nosave int swwm_progress_butts = 0; +nosave int swwm_progress_conga = 0; +nosave int swwm_progress_dab = 0; +nosave int swwm_progress_dakka = 0; +nosave int swwm_progress_dosh = 0; +nosave int swwm_progress_ezkill = 0; +nosave int swwm_progress_flight = 0; +nosave int swwm_progress_friend = 0; +nosave float swwm_progress_fuel = 0; // this one needs to be float +nosave int swwm_progress_gcsandwich = 0; +nosave int swwm_progress_gepgun = 0; +nosave int swwm_progress_ghost = 0; +nosave int swwm_progress_gib = 0; +nosave int swwm_progress_golden = 0; +nosave int swwm_progress_gravity = 0; +nosave int swwm_progress_hnd = 0; +nosave int swwm_progress_iwad = 0; +nosave int swwm_progress_jump = 0; +nosave int swwm_progress_lead = 0; +nosave int swwm_progress_love = 0; +nosave int swwm_progress_mega = 0; +nosave int swwm_progress_moth = 0; +nosave int swwm_progress_par = 0; +nosave int swwm_progress_parry = 0; +nosave int swwm_progress_pene = 0; +nosave int swwm_progress_plush = 0; +nosave int swwm_progress_rage = 0; +nosave int swwm_progress_reflect = 0; nosave int swwm_progress_refresh = 0; +nosave int swwm_progress_roast = 0; +nosave int swwm_progress_sanic = 0; +nosave int swwm_progress_shock = 0; +nosave int swwm_progress_slayer = 0; +nosave int swwm_progress_slemg = 0; +nosave int swwm_progress_sneeze = 0; nosave int swwm_progress_step = 0; +nosave int swwm_progress_stomp = 0; nosave int swwm_progress_sunny = 0; nosave int swwm_progress_thicc = 0; -nosave int swwm_progress_allcoll = 0; -nosave int swwm_progress_slemg = 0; -nosave int swwm_progress_dosh = 0; -nosave int swwm_progress_jump = 0; -nosave int swwm_progress_ezkill = 0; -nosave int swwm_progress_dakka = 0; -nosave int swwm_progress_roast = 0; -nosave int swwm_progress_dab = 0; -nosave int swwm_progress_hnd = 0; -nosave int swwm_progress_gepgun = 0; -nosave int swwm_progress_pene = 0; -nosave int swwm_progress_acid = 0; -nosave int swwm_progress_mega = 0; -nosave int swwm_progress_sanic = 0; -nosave int swwm_progress_bune = 0; -nosave int swwm_progress_bonk = 0; -nosave int swwm_progress_anom = 0; +nosave int swwm_progress_thruwall = 0; diff --git a/graphics/Achievements/AchievementAnomaly.png b/graphics/Achievements/AchievementAnom.png similarity index 100% rename from graphics/Achievements/AchievementAnomaly.png rename to graphics/Achievements/AchievementAnom.png diff --git a/graphics/Achievements/AchievementSandwich.png b/graphics/Achievements/AchievementGCSandwich.png similarity index 100% rename from graphics/Achievements/AchievementSandwich.png rename to graphics/Achievements/AchievementGCSandwich.png diff --git a/graphics/Achievements/AchievementMxWorldwide.png b/graphics/Achievements/AchievementIWAD.png similarity index 100% rename from graphics/Achievements/AchievementMxWorldwide.png rename to graphics/Achievements/AchievementIWAD.png diff --git a/graphics/Achievements/AchievementRagekit.png b/graphics/Achievements/AchievementRage.png similarity index 100% rename from graphics/Achievements/AchievementRagekit.png rename to graphics/Achievements/AchievementRage.png diff --git a/graphics/Achievements/AchievementInvinciball.png b/graphics/Achievements/AchievementSunny.png similarity index 100% rename from graphics/Achievements/AchievementInvinciball.png rename to graphics/Achievements/AchievementSunny.png diff --git a/language.def_base b/language.def_base index ad4014b25..2ec9d4ad6 100644 --- a/language.def_base +++ b/language.def_base @@ -828,161 +828,153 @@ SWWM_FANART7 = "Marisa.jpg"; SWWM_FANART8 = "Marisa2.jpg"; SWWM_FANART9 = "Marisa3.jpg"; // achievements -SWWM_ACHIEVEMENT_GCSANDWICH_TAG = "A Little Sandwich, as a Treat"; -SWWM_ACHIEVEMENT_GCSANDWICH_TXT = "Use %d Grilled Cheese Sandwiches"; -SWWM_ACHIEVEMENT_GCSANDWICH_PIC = "graphics/Achievements/AchievementSandwich.png"; -SWWM_ACHIEVEMENT_ONESTANDING_TAG = "A Warning to the Others"; -SWWM_ACHIEVEMENT_ONESTANDING_TXT = "Finish a map with just one enemy left alive"; -SWWM_ACHIEVEMENT_OOPSIE_TAG = "Big Oopsie"; -SWWM_ACHIEVEMENT_OOPSIE_TXT = "Erase yourself with the Ynykron Artifact"; -SWWM_ACHIEVEMENT_GHOST_TAG = "Cloak Engaged"; -SWWM_ACHIEVEMENT_GHOST_TXT = "Use %d Ghost Artifacts"; -SWWM_ACHIEVEMENT_GHOST_PIC = "graphics/Achievements/AchievementGhost.png"; -SWWM_ACHIEVEMENT_CLONK_TAG = "CLONK"; -SWWM_ACHIEVEMENT_CLONK_TXT = "Kill a boss with a Lead Ball crit"; -SWWM_ACHIEVEMENT_ALLITEMS_TAG = "Collector"; -SWWM_ACHIEVEMENT_ALLITEMS_TXT = "Obtain 100%% items in %d maps"; -SWWM_ACHIEVEMENT_CONGA_TAG = "Conga Line of Death"; -SWWM_ACHIEVEMENT_CONGA_TXT = "Kill %d enemies with a single XSB round"; -SWWM_ACHIEVEMENT_GRAVITY_TAG = "Decent Ascent"; -SWWM_ACHIEVEMENT_GRAVITY_TXT = "Use %d Gravity Suppressors"; -SWWM_ACHIEVEMENT_GRAVITY_PIC = "graphics/Achievements/AchievementGravity.png"; -SWWM_ACHIEVEMENT_FLIGHT_TAG = "Demolitionist Space Program"; -SWWM_ACHIEVEMENT_FLIGHT_TXT = "Send a single enemy flying over %d map units"; -SWWM_ACHIEVEMENT_CLIFFYB_TAG = "Errand Boy Bullshit"; -SWWM_ACHIEVEMENT_CLIFFYB_TXT = "Finish a map without collecting any keys"; -SWWM_ACHIEVEMENT_PAR_TAG = "Fast"; -SWWM_ACHIEVEMENT_PAR_TXT = "Beat the par time in %d maps"; -SWWM_ACHIEVEMENT_ONEGUY_TAG = "Fuck that Guy in Particular"; -SWWM_ACHIEVEMENT_ONEGUY_TXT = "Use the Ynykron Artifact to kill a single non-boss enemy"; -SWWM_ACHIEVEMENT_GOLDEN_TAG = "Golden Shower"; -SWWM_ACHIEVEMENT_GOLDEN_TXT = "Use %d golden shells"; -SWWM_ACHIEVEMENT_GIB_TAG = "Gibbitude"; -SWWM_ACHIEVEMENT_GIB_TXT = "Overkill %d enemies"; -SWWM_ACHIEVEMENT_BARRIER_TAG = "Green Filter"; -SWWM_ACHIEVEMENT_BARRIER_TXT = "Use %d Elemental Barriers"; -SWWM_ACHIEVEMENT_BARRIER_PIC = "graphics/Achievements/AchievementBarrier.png"; -SWWM_ACHIEVEMENT_BOSSDASH_TAG = "Headstrong"; -SWWM_ACHIEVEMENT_BOSSDASH_TXT = "Kill %d bosses by dashing into them"; -SWWM_ACHIEVEMENT_SNEEZE_TAG = "Humiliator"; -SWWM_ACHIEVEMENT_SNEEZE_TXT = "Kill %d enemies with the Deep Impact primary fire"; -SWWM_ACHIEVEMENT_FUEL_TAG = "Hydrogenated"; -SWWM_ACHIEVEMENT_FUEL_TXT = "Consume a total of %dL of fuel"; -SWWM_ACHIEVEMENT_SLAYER_TAG = "I am Become Death"; -SWWM_ACHIEVEMENT_SLAYER_TXT = "Kill %d enemies with a single Slayer Warhead"; -SWWM_ACHIEVEMENT_DIME_TAG = "Icarus Dimes"; -SWWM_ACHIEVEMENT_DIME_TXT = "Blow yourself up with your own explosives"; -SWWM_ACHIEVEMENT_STOMP_TAG = "Italian Plumber Complex"; -SWWM_ACHIEVEMENT_STOMP_TXT = "Kill %d enemies by standing on them"; -SWWM_ACHIEVEMENT_CHEAT_TAG = "It's Been Ten Years"; -SWWM_ACHIEVEMENT_CHEAT_TXT = "Use a cheat code from SWWM Platinum"; -SWWM_ACHIEVEMENT_THRUWALL_TAG = "Knock Knock"; -SWWM_ACHIEVEMENT_THRUWALL_TXT = "Kill %d enemies through walls with the Silver Bullet"; -SWWM_ACHIEVEMENT_MASHIRO_TAG = "Layers of White"; -SWWM_ACHIEVEMENT_MASHIRO_TXT = "Summon the White Lady"; -SWWM_ACHIEVEMENT_LEAD_TAG = "Lead Delivery"; -SWWM_ACHIEVEMENT_LEAD_TXT = "Hit an enemy dead-on with the Eviscerator secondary from over %d map units away"; -SWWM_ACHIEVEMENT_LOVE_TAG = "Lethal Love"; -SWWM_ACHIEVEMENT_LOVE_TXT = "Kill %d enemies with a blown kiss (not counting insta-kills)"; -SWWM_ACHIEVEMENT_BUTTS_TAG = "Let's get to Bashing Butts"; -SWWM_ACHIEVEMENT_BUTTS_TXT = "Kill %d enemies by dashing backwards"; -SWWM_ACHIEVEMENT_PLUSH_TAG = "Lovestruck"; -SWWM_ACHIEVEMENT_PLUSH_TXT = "Play with the Saya or Kirin plushies %d times in the same session"; -SWWM_ACHIEVEMENT_BUSTIN_TAG = "Makes me Feel Good"; -SWWM_ACHIEVEMENT_BUSTIN_TXT = "Bust %d walls"; -SWWM_ACHIEVEMENT_BUSTIN_PIC = "graphics/Achievements/AchievementBustin.png"; -SWWM_ACHIEVEMENT_MOTH_TAG = "Mother"; -SWWM_ACHIEVEMENT_MOTH_TXT = "Gather %d moths"; -SWWM_ACHIEVEMENT_IWAD_TAG = "Mx. Worldwide"; -SWWM_ACHIEVEMENT_IWAD_TXT = "Play on all supported games"; -SWWM_ACHIEVEMENT_IWAD_PIC = "graphics/Achievements/AchievementMxWorldwide.png"; -SWWM_ACHIEVEMENT_BRAKE_TAG = "No Brakes"; -SWWM_ACHIEVEMENT_BRAKE_TXT = "Consume your full fuel supply in a single dash %d times"; -SWWM_ACHIEVEMENT_RAGE_TAG = "No Talk me Angy"; -SWWM_ACHIEVEMENT_RAGE_TXT = "Use %d Ragekits"; -SWWM_ACHIEVEMENT_RAGE_PIC = "graphics/Achievements/AchievementRagekit.png"; SWWM_ACHIEVEMENT_ABORT_TAG = "Oops I Broke It"; SWWM_ACHIEVEMENT_ABORT_TXT = "Cause a VM abort"; -SWWM_ACHIEVEMENT_PARRY_TAG = "Parry King"; -SWWM_ACHIEVEMENT_PARRY_TXT = "Deflect %d projectiles"; +SWWM_ACHIEVEMENT_ACID_TAG = "Fizzy Goodness"; +SWWM_ACHIEVEMENT_ACID_TXT = "Melt %d enemies with Telebrium Flechettes"; +SWWM_ACHIEVEMENT_ALLCOLL_TAG = "The Full Set"; +SWWM_ACHIEVEMENT_ALLCOLL_TXT = "Obtain all collectibles in a single session"; +SWWM_ACHIEVEMENT_ALLITEMS_TAG = "Collector"; +SWWM_ACHIEVEMENT_ALLITEMS_TXT = "Obtain 100%% items in %d maps"; SWWM_ACHIEVEMENT_ALLKILLS_TAG = "Pest Control"; SWWM_ACHIEVEMENT_ALLKILLS_TXT = "Obtain 100%% kills in %d maps"; SWWM_ACHIEVEMENT_ALLSECRETS_TAG = "Premium Detective"; SWWM_ACHIEVEMENT_ALLSECRETS_TXT = "Obtain 100%% secrets in %d maps"; -SWWM_ACHIEVEMENT_REFLECT_TAG = "Return to Sender"; -SWWM_ACHIEVEMENT_REFLECT_TXT = "Kill %d enemies with parried projectiles"; -SWWM_ACHIEVEMENT_SEKIRO_TAG = "Hesitation is Defeat"; -SWWM_ACHIEVEMENT_SEKIRO_TXT = "Die and reboot two times in the same map"; -SWWM_ACHIEVEMENT_WAVE_TAG = "Sayonara, Scumbag"; -SWWM_ACHIEVEMENT_WAVE_TXT = "Wave at a dying enemy"; -SWWM_ACHIEVEMENT_FRIEND_TAG = "Shaped like a Friend"; -SWWM_ACHIEVEMENT_FRIEND_TXT = "Befriend %d Cacodemons, Weredragons or Ettins with headpats"; -SWWM_ACHIEVEMENT_SHOCK_TAG = "Shockmaster"; -SWWM_ACHIEVEMENT_SHOCK_TXT = "Perform %d Biospark combos"; -SWWM_ACHIEVEMENT_BALLS_TAG = "Slam your Balls"; -SWWM_ACHIEVEMENT_BALLS_TXT = "Land %d Lead Ball crits"; -SWWM_ACHIEVEMENT_REFRESH_TAG = "Stay Fresh"; -SWWM_ACHIEVEMENT_REFRESH_TXT = "Use %d Refreshers"; -SWWM_ACHIEVEMENT_REFRESH_PIC = "graphics/Achievements/AchievementRefresh.png"; -SWWM_ACHIEVEMENT_STEP_TAG = "Steppy"; -SWWM_ACHIEVEMENT_STEP_TXT = "Stand on a single enemy's head for %d seconds"; -SWWM_ACHIEVEMENT_SUNNY_TAG = "Sunny D"; -SWWM_ACHIEVEMENT_SUNNY_TXT = "Use %d Invinciballs"; -SWWM_ACHIEVEMENT_SUNNY_PIC = "graphics/Achievements/AchievementInvinciball.png"; -SWWM_ACHIEVEMENT_THICC_TAG = "The Ass was Fat"; -SWWM_ACHIEVEMENT_THICC_TXT = "Kill %d enemies by ground pounding"; -SWWM_ACHIEVEMENT_EVERYTHING_TAG = "The Demolitionist"; -SWWM_ACHIEVEMENT_EVERYTHING_TXT = "Unlock all achievements"; -SWWM_ACHIEVEMENT_ALLCOLL_TAG = "The Full Set"; -SWWM_ACHIEVEMENT_ALLCOLL_TXT = "Obtain all collectibles in a single session"; -SWWM_ACHIEVEMENT_SLEMG_TAG = "The Sledge Method"; -SWWM_ACHIEVEMENT_SLEMG_TXT = "Activate %d switches by punching them"; -SWWM_ACHIEVEMENT_DOSH_TAG = "Unchecked Capitalism"; -SWWM_ACHIEVEMENT_DOSH_TXT = "Have ¥1,000,000,000 in bank"; -SWWM_ACHIEVEMENT_JUMP_TAG = "Verticality"; -SWWM_ACHIEVEMENT_JUMP_TXT = "Walljump %d times"; -SWWM_ACHIEVEMENT_EZKILL_TAG = "Well That was Easy"; -SWWM_ACHIEVEMENT_EZKILL_TXT = "Kill %d enemies with a single Ynykron Artifact shot (excluding altfire)"; -SWWM_ACHIEVEMENT_LIGMA_TAG = "Who's Steve Jobs?"; -SWWM_ACHIEVEMENT_LIGMA_TXT = "Kill an endgame boss with the Ynykron Artifact"; -SWWM_ACHIEVEMENT_YEET_TAG = "YEET"; -SWWM_ACHIEVEMENT_YEET_TXT = "Throw a Candygun right into the Icon of Sin's brains"; -SWWM_ACHIEVEMENT_MBF_TAG = "You can Pet the Dog"; -SWWM_ACHIEVEMENT_MBF_TXT = "Pet a dog"; -SWWM_ACHIEVEMENT_LIGHTNING_TAG = "John Romero's Curse"; -SWWM_ACHIEVEMENT_LIGHTNING_TXT = "Fry yourself by discharging an electric weapon in water"; -SWWM_ACHIEVEMENT_DAKKA_TAG = "Dakka"; -SWWM_ACHIEVEMENT_DAKKA_TXT = "Fire the Sheen HMG for one minute straight"; -SWWM_ACHIEVEMENT_ROAST_TAG = "Gravely Roast"; -SWWM_ACHIEVEMENT_ROAST_TXT = "Perform %d bayonet combos with the Quadravol"; -SWWM_ACHIEVEMENT_DAB_TAG = "HAHA DAB"; -SWWM_ACHIEVEMENT_DAB_TXT = "Gib %d enemies with the Itamex Hammer"; -SWWM_ACHIEVEMENT_HND_TAG = "High Noon"; -SWWM_ACHIEVEMENT_HND_TXT = "Land %d killing shots in a single Puntzer Beta reload"; -SWWM_ACHIEVEMENT_GEPGUN_TAG = "The Most Silent Takedown"; -SWWM_ACHIEVEMENT_GEPGUN_TXT = "Kill %d enemies with the Ray-Khom primary without alerting them"; -SWWM_ACHIEVEMENT_FULLER_TAG = "You Gained Brouzouf"; -SWWM_ACHIEVEMENT_FULLER_TXT = "Unload an entire mag in fuller auto with the Puntzer Gamma without missing a single shot"; -SWWM_ACHIEVEMENT_PENE_TAG = "Penetrator"; -SWWM_ACHIEVEMENT_PENE_TXT = "Strike through %d enemies in a row with a single Grand Lance secondary"; -SWWM_ACHIEVEMENT_ACID_TAG = "Fizzy Goodness"; -SWWM_ACHIEVEMENT_ACID_TXT = "Melt %d enemies with Telebrium Flechettes"; -SWWM_ACHIEVEMENT_SALT_TAG = "Maximum Oversalt"; -SWWM_ACHIEVEMENT_SALT_TXT = "Shoot 25 Saltshot rounds simultaneously"; -SWWM_ACHIEVEMENT_MEGA_TAG = "Megadeath"; -SWWM_ACHIEVEMENT_MEGA_TXT = "Kill a grand total of one million enemies"; -SWWM_ACHIEVEMENT_SANIC_TAG = "CHILLI DOGS"; -SWWM_ACHIEVEMENT_SANIC_TXT = "Reach a top speed of %d km/h"; -SWWM_ACHIEVEMENT_TELE_TAG = "A Soldier's Pastime"; -SWWM_ACHIEVEMENT_TELE_TXT = "Teleport some bread (a sandwich works too)"; -SWWM_ACHIEVEMENT_BUNE_TAG = "Legendary Lagomorph"; -SWWM_ACHIEVEMENT_BUNE_TXT = "Bunnyhop %d times"; -SWWM_ACHIEVEMENT_BONK_TAG = "Shock Resistant"; -SWWM_ACHIEVEMENT_BONK_TXT = "Bump into stuff %d times"; SWWM_ACHIEVEMENT_ANOM_TAG = "Anomalous"; SWWM_ACHIEVEMENT_ANOM_TXT = "Use %d Mykradvo Artifacts"; -SWWM_ACHIEVEMENT_ANOM_PIC = "graphics/Achievements/AchievementAnomaly.png"; SWWM_ACHIEVEMENT_ANONE_TAG = "Completely Necessary Use of Force"; SWWM_ACHIEVEMENT_ANONE_TXT = "Use the Mykradvo Artifact against a single non-boss enemy"; +SWWM_ACHIEVEMENT_BALLS_TAG = "Slam your Balls"; +SWWM_ACHIEVEMENT_BALLS_TXT = "Land %d Lead Ball crits"; +SWWM_ACHIEVEMENT_BARRIER_TAG = "Green Filter"; +SWWM_ACHIEVEMENT_BARRIER_TXT = "Use %d Elemental Barriers"; +SWWM_ACHIEVEMENT_BONK_TAG = "Shock Resistant"; +SWWM_ACHIEVEMENT_BONK_TXT = "Bump into stuff %d times"; +SWWM_ACHIEVEMENT_BOSSDASH_TAG = "Headstrong"; +SWWM_ACHIEVEMENT_BOSSDASH_TXT = "Kill %d bosses by dashing into them"; +SWWM_ACHIEVEMENT_BRAKE_TAG = "No Brakes"; +SWWM_ACHIEVEMENT_BRAKE_TXT = "Consume your full fuel supply in a single dash %d times"; +SWWM_ACHIEVEMENT_BUNE_TAG = "Legendary Lagomorph"; +SWWM_ACHIEVEMENT_BUNE_TXT = "Bunnyhop %d times"; +SWWM_ACHIEVEMENT_BUSTIN_TAG = "Makes me Feel Good"; +SWWM_ACHIEVEMENT_BUSTIN_TXT = "Bust %d walls"; +SWWM_ACHIEVEMENT_BUTTS_TAG = "Let's get to Bashing Butts"; +SWWM_ACHIEVEMENT_BUTTS_TXT = "Kill %d enemies by dashing backwards"; +SWWM_ACHIEVEMENT_CHEAT_TAG = "It's Been Ten Years"; +SWWM_ACHIEVEMENT_CHEAT_TXT = "Use a cheat code from SWWM Platinum"; +SWWM_ACHIEVEMENT_CLIFFYB_TAG = "Errand Boy Bullshit"; +SWWM_ACHIEVEMENT_CLIFFYB_TXT = "Finish a map without collecting any keys"; +SWWM_ACHIEVEMENT_CLONK_TAG = "CLONK"; +SWWM_ACHIEVEMENT_CLONK_TXT = "Kill a boss with a Lead Ball crit"; +SWWM_ACHIEVEMENT_CONGA_TAG = "Conga Line of Death"; +SWWM_ACHIEVEMENT_CONGA_TXT = "Kill %d enemies with a single XSB round"; +SWWM_ACHIEVEMENT_DAB_TAG = "HAHA DAB"; +SWWM_ACHIEVEMENT_DAB_TXT = "Gib %d enemies with the Itamex Hammer"; +SWWM_ACHIEVEMENT_DAKKA_TAG = "Dakka"; +SWWM_ACHIEVEMENT_DAKKA_TXT = "Fire the Sheen HMG for one minute straight"; +SWWM_ACHIEVEMENT_DIME_TAG = "Icarus Dimes"; +SWWM_ACHIEVEMENT_DIME_TXT = "Blow yourself up with your own explosives"; +SWWM_ACHIEVEMENT_DOSH_TAG = "Unchecked Capitalism"; +SWWM_ACHIEVEMENT_DOSH_TXT = "Have ¥1,000,000,000 in bank"; +SWWM_ACHIEVEMENT_EVERYTHING_TAG = "The Demolitionist"; +SWWM_ACHIEVEMENT_EVERYTHING_TXT = "Unlock all achievements"; +SWWM_ACHIEVEMENT_EZKILL_TAG = "Well That was Easy"; +SWWM_ACHIEVEMENT_EZKILL_TXT = "Kill %d enemies with a single Ynykron Artifact shot (excluding altfire)"; +SWWM_ACHIEVEMENT_FLIGHT_TAG = "Demolitionist Space Program"; +SWWM_ACHIEVEMENT_FLIGHT_TXT = "Send a single enemy flying over %d map units"; +SWWM_ACHIEVEMENT_FRIEND_TAG = "Shaped like a Friend"; +SWWM_ACHIEVEMENT_FRIEND_TXT = "Befriend %d Cacodemons, Weredragons or Ettins with headpats"; +SWWM_ACHIEVEMENT_FUEL_TAG = "Hydrogenated"; +SWWM_ACHIEVEMENT_FUEL_TXT = "Consume a total of %dL of fuel"; +SWWM_ACHIEVEMENT_FULLER_TAG = "You Gained Brouzouf"; +SWWM_ACHIEVEMENT_FULLER_TXT = "Unload an entire mag in fuller auto with the Puntzer Gamma without missing a single shot"; +SWWM_ACHIEVEMENT_GCSANDWICH_TAG = "A Little Sandwich, as a Treat"; +SWWM_ACHIEVEMENT_GCSANDWICH_TXT = "Use %d Grilled Cheese Sandwiches"; +SWWM_ACHIEVEMENT_GEPGUN_TAG = "The Most Silent Takedown"; +SWWM_ACHIEVEMENT_GEPGUN_TXT = "Kill %d enemies with the Ray-Khom primary without alerting them"; +SWWM_ACHIEVEMENT_GHOST_TAG = "Cloak Engaged"; +SWWM_ACHIEVEMENT_GHOST_TXT = "Use %d Ghost Artifacts"; +SWWM_ACHIEVEMENT_GIB_TAG = "Gibbitude"; +SWWM_ACHIEVEMENT_GIB_TXT = "Overkill %d enemies"; +SWWM_ACHIEVEMENT_GOLDEN_TAG = "Golden Shower"; +SWWM_ACHIEVEMENT_GOLDEN_TXT = "Use %d golden shells"; +SWWM_ACHIEVEMENT_GRAVITY_TAG = "Decent Ascent"; +SWWM_ACHIEVEMENT_GRAVITY_TXT = "Use %d Gravity Suppressors"; +SWWM_ACHIEVEMENT_HND_TAG = "High Noon"; +SWWM_ACHIEVEMENT_HND_TXT = "Land %d killing shots in a single Puntzer Beta reload"; +SWWM_ACHIEVEMENT_IWAD_TAG = "Mx. Worldwide"; +SWWM_ACHIEVEMENT_IWAD_TXT = "Play on all supported games"; +SWWM_ACHIEVEMENT_JUMP_TAG = "Verticality"; +SWWM_ACHIEVEMENT_JUMP_TXT = "Walljump %d times"; +SWWM_ACHIEVEMENT_LEAD_TAG = "Lead Delivery"; +SWWM_ACHIEVEMENT_LEAD_TXT = "Hit an enemy dead-on with the Eviscerator secondary from over %d map units away"; +SWWM_ACHIEVEMENT_LIGHTNING_TAG = "John Romero's Curse"; +SWWM_ACHIEVEMENT_LIGHTNING_TXT = "Fry yourself by discharging an electric weapon in water"; +SWWM_ACHIEVEMENT_LIGMA_TAG = "Who's Steve Jobs?"; +SWWM_ACHIEVEMENT_LIGMA_TXT = "Kill an endgame boss with the Ynykron Artifact"; +SWWM_ACHIEVEMENT_LOVE_TAG = "Lethal Love"; +SWWM_ACHIEVEMENT_LOVE_TXT = "Kill %d enemies with a blown kiss (not counting insta-kills)"; +SWWM_ACHIEVEMENT_MASHIRO_TAG = "Layers of White"; +SWWM_ACHIEVEMENT_MASHIRO_TXT = "Summon the White Lady"; +SWWM_ACHIEVEMENT_MBF_TAG = "You can Pet the Dog"; +SWWM_ACHIEVEMENT_MBF_TXT = "Pet a dog"; +SWWM_ACHIEVEMENT_MEGA_TAG = "Megadeath"; +SWWM_ACHIEVEMENT_MEGA_TXT = "Kill a grand total of one million enemies"; +SWWM_ACHIEVEMENT_MOTH_TAG = "Mother"; +SWWM_ACHIEVEMENT_MOTH_TXT = "Gather %d moths"; +SWWM_ACHIEVEMENT_NICE_TAG = "NICE"; +SWWM_ACHIEVEMENT_NICE_TXT = "Finish a level with 69 health"; +SWWM_ACHIEVEMENT_ONEGUY_TAG = "Fuck that Guy in Particular"; +SWWM_ACHIEVEMENT_ONEGUY_TXT = "Use the Ynykron Artifact to kill a single non-boss enemy"; +SWWM_ACHIEVEMENT_ONESTANDING_TAG = "A Warning to the Others"; +SWWM_ACHIEVEMENT_ONESTANDING_TXT = "Finish a map with just one enemy left alive"; +SWWM_ACHIEVEMENT_OOPSIE_TAG = "Big Oopsie"; +SWWM_ACHIEVEMENT_OOPSIE_TXT = "Erase yourself with the Ynykron Artifact"; +SWWM_ACHIEVEMENT_PARRY_TAG = "Parry King"; +SWWM_ACHIEVEMENT_PARRY_TXT = "Deflect %d projectiles"; +SWWM_ACHIEVEMENT_PAR_TAG = "Fast"; +SWWM_ACHIEVEMENT_PAR_TXT = "Beat the par time in %d maps"; +SWWM_ACHIEVEMENT_PENE_TAG = "Penetrator"; +SWWM_ACHIEVEMENT_PENE_TXT = "Strike through %d enemies in a row with a single Grand Lance secondary"; +SWWM_ACHIEVEMENT_PLUSH_TAG = "Lovestruck"; +SWWM_ACHIEVEMENT_PLUSH_TXT = "Play with the Saya or Kirin plushies %d times in the same session"; +SWWM_ACHIEVEMENT_RAGE_TAG = "No Talk me Angy"; +SWWM_ACHIEVEMENT_RAGE_TXT = "Use %d Ragekits"; +SWWM_ACHIEVEMENT_REFLECT_TAG = "Return to Sender"; +SWWM_ACHIEVEMENT_REFLECT_TXT = "Kill %d enemies with parried projectiles"; +SWWM_ACHIEVEMENT_REFRESH_TAG = "Stay Fresh"; +SWWM_ACHIEVEMENT_REFRESH_TXT = "Use %d Refreshers"; +SWWM_ACHIEVEMENT_ROAST_TAG = "Gravely Roast"; +SWWM_ACHIEVEMENT_ROAST_TXT = "Perform %d bayonet combos with the Quadravol"; +SWWM_ACHIEVEMENT_SALT_TAG = "Maximum Oversalt"; +SWWM_ACHIEVEMENT_SALT_TXT = "Shoot 25 Saltshot rounds simultaneously"; +SWWM_ACHIEVEMENT_SANIC_TAG = "CHILLI DOGS"; +SWWM_ACHIEVEMENT_SANIC_TXT = "Reach a top speed of %d km/h"; +SWWM_ACHIEVEMENT_SEKIRO_TAG = "Hesitation is Defeat"; +SWWM_ACHIEVEMENT_SEKIRO_TXT = "Die and reboot two times in the same map"; +SWWM_ACHIEVEMENT_SHOCK_TAG = "Shockmaster"; +SWWM_ACHIEVEMENT_SHOCK_TXT = "Perform %d Biospark combos"; +SWWM_ACHIEVEMENT_SLAYER_TAG = "I am Become Death"; +SWWM_ACHIEVEMENT_SLAYER_TXT = "Kill %d enemies with a single Slayer Warhead"; +SWWM_ACHIEVEMENT_SLEMG_TAG = "The Sledge Method"; +SWWM_ACHIEVEMENT_SLEMG_TXT = "Activate %d switches by punching them"; +SWWM_ACHIEVEMENT_SNEEZE_TAG = "Humiliator"; +SWWM_ACHIEVEMENT_SNEEZE_TXT = "Kill %d enemies with the Deep Impact primary fire"; +SWWM_ACHIEVEMENT_STEP_TAG = "Steppy"; +SWWM_ACHIEVEMENT_STEP_TXT = "Stand on a single enemy's head for %d seconds"; +SWWM_ACHIEVEMENT_STOMP_TAG = "Italian Plumber Complex"; +SWWM_ACHIEVEMENT_STOMP_TXT = "Kill %d enemies by standing on them"; +SWWM_ACHIEVEMENT_SUNNY_TAG = "Sunny D"; +SWWM_ACHIEVEMENT_SUNNY_TXT = "Use %d Invinciballs"; +SWWM_ACHIEVEMENT_TELE_TAG = "A Soldier's Pastime"; +SWWM_ACHIEVEMENT_TELE_TXT = "Teleport some bread (a sandwich works too)"; +SWWM_ACHIEVEMENT_THICC_TAG = "The Ass was Fat"; +SWWM_ACHIEVEMENT_THICC_TXT = "Kill %d enemies by ground pounding"; +SWWM_ACHIEVEMENT_THRUWALL_TAG = "Knock Knock"; +SWWM_ACHIEVEMENT_THRUWALL_TXT = "Kill %d enemies through walls with the Silver Bullet"; SWWM_ACHIEVEMENT_WANTDIE_TAG = "E N D M I I"; SWWM_ACHIEVEMENT_WANTDIE_TXT = "Fully clear a single map in the hardest difficulty (without dying)"; +SWWM_ACHIEVEMENT_WAVE_TAG = "Sayonara, Scumbag"; +SWWM_ACHIEVEMENT_WAVE_TXT = "Wave at a dying enemy"; +SWWM_ACHIEVEMENT_YEET_TAG = "YEET"; +SWWM_ACHIEVEMENT_YEET_TXT = "Throw a Candygun right into the Icon of Sin's brains"; diff --git a/language.es_base b/language.es_base index c0792aee9..fb6af21ff 100644 --- a/language.es_base +++ b/language.es_base @@ -731,144 +731,145 @@ SWWM_INTERTIP120 = "Me he dado cuenta de que si te pones a hablar, a tu boca se // intermission fanart SWWM_FANART = "Arte: "; // achievements -SWWM_ACHIEVEMENT_GCSANDWICH_TAG = "Un Poco de Sandwich, de Propina"; -SWWM_ACHIEVEMENT_GCSANDWICH_TXT = "Usa %d Sándwiches de Queso a la Plancha"; -SWWM_ACHIEVEMENT_ONESTANDING_TAG = "Una Advertencia a los Otros"; -SWWM_ACHIEVEMENT_ONESTANDING_TXT = "Termina un mapa con solo un enemigo vivo"; -SWWM_ACHIEVEMENT_OOPSIE_TAG = "Gran Errorcito"; -SWWM_ACHIEVEMENT_OOPSIE_TXT = "Bórrate con el Artefacto Ynykron"; -SWWM_ACHIEVEMENT_GHOST_TAG = "Camuflaje Activado"; -SWWM_ACHIEVEMENT_GHOST_TXT = "Usa %d Artefactos Fantasma"; -SWWM_ACHIEVEMENT_CLONK_TAG = "CLONK"; -SWWM_ACHIEVEMENT_CLONK_TXT = "Mata a un jefe con un crítico de Bola de Plomo"; -SWWM_ACHIEVEMENT_ALLITEMS_TAG = "Recolector"; -SWWM_ACHIEVEMENT_ALLITEMS_TXT = "Obtén 100%% ítems en %d mapas"; -SWWM_ACHIEVEMENT_CONGA_TAG = "Conga de la Muerte"; -SWWM_ACHIEVEMENT_CONGA_TXT = "Mata %d enemigos con una sola bala XSB"; -SWWM_ACHIEVEMENT_GRAVITY_TAG = "Ascenso Decente"; -SWWM_ACHIEVEMENT_GRAVITY_TXT = "Usa %d Supresores de Gravedad"; -SWWM_ACHIEVEMENT_FLIGHT_TAG = "Programa Espacial Demolicionista"; -SWWM_ACHIEVEMENT_FLIGHT_TXT = "Lanza a un enemigo en volandas más allá de %d unidades de mapa"; -SWWM_ACHIEVEMENT_CLIFFYB_TAG = "Mierdas de Recadero"; -SWWM_ACHIEVEMENT_CLIFFYB_TXT = "Termina un mapa sin obtener ninguna llave"; -SWWM_ACHIEVEMENT_PAR_TAG = "Rápido"; -SWWM_ACHIEVEMENT_PAR_TXT = "Supera el tiempo par en %d mapas"; -SWWM_ACHIEVEMENT_ONEGUY_TAG = "A la Mierda el Tío Ese"; -SWWM_ACHIEVEMENT_ONEGUY_TXT = "Usa el Artefacto Ynykron para matar a un único enemigo no-jefe"; -SWWM_ACHIEVEMENT_GOLDEN_TAG = "Lluvia Dorada"; -SWWM_ACHIEVEMENT_GOLDEN_TXT = "Usa %d cartuchos dorados"; -SWWM_ACHIEVEMENT_GIB_TAG = "Carnaza"; -SWWM_ACHIEVEMENT_GIB_TXT = "Haz overkill a %d enemigos"; -SWWM_ACHIEVEMENT_BARRIER_TAG = "Filtro Verde"; -SWWM_ACHIEVEMENT_BARRIER_TXT = "Usa %d Barreras Elementales"; -SWWM_ACHIEVEMENT_BOSSDASH_TAG = "Cabezonería"; -SWWM_ACHIEVEMENT_BOSSDASH_TXT = "Mata %d jefes esprintando contra ellos"; -SWWM_ACHIEVEMENT_SNEEZE_TAG = "Humillador"; -SWWM_ACHIEVEMENT_SNEEZE_TXT = "Mata %d enemigos con el fuego primario del Deep Impact"; -SWWM_ACHIEVEMENT_FUEL_TAG = "Hidrogenado"; -SWWM_ACHIEVEMENT_FUEL_TXT = "Consume un total de %dL de combustible"; -SWWM_ACHIEVEMENT_SLAYER_TAG = "Me he Convertido en Muerte"; -SWWM_ACHIEVEMENT_SLAYER_TXT = "Mata %d enemigos con una sola Cabeza Nuclear Slayer"; -SWWM_ACHIEVEMENT_DIME_TXT = "Reviéntate con tus propios explosivos"; -SWWM_ACHIEVEMENT_STOMP_TAG = "Complejo de Fontanero Italiano"; -SWWM_ACHIEVEMENT_STOMP_TXT = "Mata %d enemigos saltando encima"; -SWWM_ACHIEVEMENT_CHEAT_TAG = "Han Pasado Diez Años"; -SWWM_ACHIEVEMENT_CHEAT_TXT = "Usa un código trampa de SWWM Platinum"; -SWWM_ACHIEVEMENT_THRUWALL_TAG = "Toc Toc"; -SWWM_ACHIEVEMENT_THRUWALL_TXT = "Mata %d enemigos a través de las paredes con el Silver Bullet"; -SWWM_ACHIEVEMENT_MASHIRO_TAG = "Capas de Blanco"; -SWWM_ACHIEVEMENT_MASHIRO_TXT = "Invoca a la Dama Blanca"; -SWWM_ACHIEVEMENT_LEAD_TAG = "Reparto de Plomo"; -SWWM_ACHIEVEMENT_LEAD_TXT = "Alcanza a un enemigo de lleno con el secundario del Eviscerator desde más de %d unidades de mapa"; -SWWM_ACHIEVEMENT_LOVE_TAG = "Amor Letal"; -SWWM_ACHIEVEMENT_LOVE_TXT = "Mata %d enemigos con un beso lanzado (sin contar insta-kills)"; -SWWM_ACHIEVEMENT_BUTTS_TAG = "Esos Glúteos Firmes"; -SWWM_ACHIEVEMENT_BUTTS_TXT = "Mata %d enemigos esprintando marcha atrás"; -SWWM_ACHIEVEMENT_PLUSH_TAG = "Amorcito"; -SWWM_ACHIEVEMENT_PLUSH_TXT = "Juega con los peluches de Saya o Kirin %d veces en la misma partida"; -SWWM_ACHIEVEMENT_BUSTIN_TAG = "Me Hace Sentir Bien"; -SWWM_ACHIEVEMENT_BUSTIN_TXT = "Revienta %d paredes"; -SWWM_ACHIEVEMENT_MOTH_TAG = "Madre Polilla"; -SWWM_ACHIEVEMENT_MOTH_TXT = "Reúne %d polillas"; -SWWM_ACHIEVEMENT_IWAD_TXT = "Juega en todos los juegos soportados"; -SWWM_ACHIEVEMENT_BRAKE_TAG = "Sin Frenos"; -SWWM_ACHIEVEMENT_BRAKE_TXT = "Consume toda tu capacidad de combustible en un solo esprint %d veces"; -SWWM_ACHIEVEMENT_RAGE_TAG = "No Hablo me Enfado"; -SWWM_ACHIEVEMENT_RAGE_TXT = "Usa %d Ragekits"; SWWM_ACHIEVEMENT_ABORT_TAG = "Uy lo He Roto"; SWWM_ACHIEVEMENT_ABORT_TXT = "Causa un aborto de MV"; -SWWM_ACHIEVEMENT_PARRY_TAG = "Rey del Parry"; -SWWM_ACHIEVEMENT_PARRY_TXT = "Desvía %d proyectiles"; +SWWM_ACHIEVEMENT_ACID_TAG = "La Buena Efervescencia"; +SWWM_ACHIEVEMENT_ACID_TXT = "Derrite %d enemigos con Flechettes de Telebrium"; +SWWM_ACHIEVEMENT_ALLCOLL_TAG = "El Set Completo"; +SWWM_ACHIEVEMENT_ALLCOLL_TXT = "Obtén todos los coleccionables en una sola partida"; +SWWM_ACHIEVEMENT_ALLITEMS_TAG = "Recolector"; +SWWM_ACHIEVEMENT_ALLITEMS_TXT = "Obtén 100%% ítems en %d mapas"; SWWM_ACHIEVEMENT_ALLKILLS_TAG = "Control de Plagas"; SWWM_ACHIEVEMENT_ALLKILLS_TXT = "Obtén 100%% muertes en %d mapas"; SWWM_ACHIEVEMENT_ALLSECRETS_TAG = "Detective Excelente"; SWWM_ACHIEVEMENT_ALLSECRETS_TXT = "Obtén 100%% secretos en %d mapas"; -SWWM_ACHIEVEMENT_REFLECT_TAG = "Devuelto a Remitente"; -SWWM_ACHIEVEMENT_REFLECT_TXT = "Mata %d enemigos con proyectiles desviados"; -SWWM_ACHIEVEMENT_SEKIRO_TAG = "Dudar es Fracasar"; -SWWM_ACHIEVEMENT_SEKIRO_TXT = "Muere y reinicia dos veces en el mismo mapa"; -SWWM_ACHIEVEMENT_WAVE_TAG = "Sayonara, Capullo"; -SWWM_ACHIEVEMENT_WAVE_TXT = "Saluda a un enemigo muriéndose"; -SWWM_ACHIEVEMENT_FRIEND_TAG = "Con Forma de Amigo"; -SWWM_ACHIEVEMENT_FRIEND_TXT = "Entabla amistad con %d Cacodemonios, Hombres-Dragón o Ettins a base de caricias"; -SWWM_ACHIEVEMENT_SHOCK_TXT = "Realiza %d combos de Biospark"; -SWWM_ACHIEVEMENT_BALLS_TAG = "Machácate las Bolas"; -SWWM_ACHIEVEMENT_BALLS_TXT = "Consigue %d críticos de Bola de Plomo"; -SWWM_ACHIEVEMENT_REFRESH_TAG = "Siempre Fresco"; -SWWM_ACHIEVEMENT_REFRESH_TXT = "Usa %d Refrescadores"; -SWWM_ACHIEVEMENT_STEP_TAG = "Pisadita"; -SWWM_ACHIEVEMENT_STEP_TXT = "Mantente de pie en la cabeza de un solo enemigo durante %d segundos"; -SWWM_ACHIEVEMENT_SUNNY_TXT = "Usa %d Invincibolas"; -SWWM_ACHIEVEMENT_THICC_TAG = "El Culo era Gordo"; -SWWM_ACHIEVEMENT_THICC_TXT = "Mata %d enemigos a base de estampidas en el suelo"; -SWWM_ACHIEVEMENT_EVERYTHING_TAG = "La Demolicionista"; -SWWM_ACHIEVEMENT_EVERYTHING_TXT = "Desbloquea todos los logros"; -SWWM_ACHIEVEMENT_ALLCOLL_TAG = "El Set Completo"; -SWWM_ACHIEVEMENT_ALLCOLL_TXT = "Obtén todos los coleccionables en una sola partida"; -SWWM_ACHIEVEMENT_SLEMG_TAG = "El Método Sledge"; -SWWM_ACHIEVEMENT_SLEMG_TXT = "Activa %d interruptores a puñetazos"; -SWWM_ACHIEVEMENT_DOSH_TAG = "Capitalismo Desenfrenado"; -SWWM_ACHIEVEMENT_DOSH_TXT = "Ten ¥1.000.000.000 en mano"; -SWWM_ACHIEVEMENT_JUMP_TAG = "Verticalidad"; -SWWM_ACHIEVEMENT_JUMP_TXT = "Salta paredes %d veces"; -SWWM_ACHIEVEMENT_EZKILL_TAG = "Eso Estuvo Fácil"; -SWWM_ACHIEVEMENT_EZKILL_TXT = "Mata %d enemigos con un solo disparo de Artefacto Ynykron (excluyendo modo secundario)"; -SWWM_ACHIEVEMENT_LIGMA_TAG = "¿Quien es Steve Jobs?"; -SWWM_ACHIEVEMENT_LIGMA_TXT = "Mata a un jefe final con el Artefacto Ynykron"; -SWWM_ACHIEVEMENT_YEET_TXT = "Lanza una Pistola Caramelo justo dentro del cerebro del Icono del Pecado"; -SWWM_ACHIEVEMENT_MBF_TAG = "Puedes Acariciar el Perro"; -SWWM_ACHIEVEMENT_MBF_TXT = "Acaricia un perro"; -SWWM_ACHIEVEMENT_LIGHTNING_TAG = "Maldición de John Romero"; -SWWM_ACHIEVEMENT_LIGHTNING_TXT = "Achichárrate descargando un arma eléctrica en el agua"; -SWWM_ACHIEVEMENT_DAKKA_TXT = "Dispara la Ametralladora Sheen durante un minuto entero"; -SWWM_ACHIEVEMENT_ROAST_TAG = "Ensarta en los Fuegos del Hades"; -SWWM_ACHIEVEMENT_ROAST_TXT = "Realiza %d combos de bayoneta con la Quadravol"; -SWWM_ACHIEVEMENT_DAB_TXT = "Revienta %d enemigos con el Mazo Itamex"; -SWWM_ACHIEVEMENT_HND_TAG = "Mediodía"; -SWWM_ACHIEVEMENT_HND_TXT = "Realiza %d disparos mortales en una única recarga de Puntzer Beta"; -SWWM_ACHIEVEMENT_GEPGUN_TAG = "El Derribo Más Silencioso"; -SWWM_ACHIEVEMENT_GEPGUN_TXT = "Mata %d enemigos con el fuego primario de la Ray-Khom sin alertarlos"; -SWWM_ACHIEVEMENT_FULLER_TAG = "Has Ganado Brouzouf"; -SWWM_ACHIEVEMENT_FULLER_TXT = "Vacía un cargador entero en super-automático con el Puntzer Gamma sin fallar un solo disparo"; -SWWM_ACHIEVEMENT_PENE_TAG = "Penetrador"; -SWWM_ACHIEVEMENT_PENE_TXT = "Atraviesa %d enemigos en fila con un solo secundario de la Gran Lanza"; -SWWM_ACHIEVEMENT_ACID_TAG = "La Buena Efervescencia"; -SWWM_ACHIEVEMENT_ACID_TXT = "Derrite %d enemigos con Flechettes de Telebrium"; -SWWM_ACHIEVEMENT_SALT_TAG = "Sobresalado Máximo"; -SWWM_ACHIEVEMENT_SALT_TXT = "Dispara 25 cartuchos de sal al mismo tiempo"; -SWWM_ACHIEVEMENT_MEGA_TAG = "Megamuerte"; -SWWM_ACHIEVEMENT_MEGA_TXT = "Mata un gran total de un millón de enemigos"; -SWWM_ACHIEVEMENT_SANIC_TAG = "PERRITOS DE CHILE"; -SWWM_ACHIEVEMENT_SANIC_TXT = "Alcanza una velocidad punta de %d km/h"; -SWWM_ACHIEVEMENT_TELE_TAG = "Pasatiempo de Soldado"; -SWWM_ACHIEVEMENT_TELE_TXT = "Teletransporta pan (un sandwich también vale)"; -SWWM_ACHIEVEMENT_BUNE_TAG = "Lagomorfo Legendario"; -SWWM_ACHIEVEMENT_BUNE_TXT = "Realiza %d bunnyhops"; -SWWM_ACHIEVEMENT_BONK_TAG = "Resistente a Choques"; -SWWM_ACHIEVEMENT_BONK_TXT = "Choca %d veces"; SWWM_ACHIEVEMENT_ANOM_TAG = "Anómalo"; SWWM_ACHIEVEMENT_ANOM_TXT = "Usa %d Artefactos Mykradvo"; SWWM_ACHIEVEMENT_ANONE_TAG = "Uso Completamente Necesario de Fuerza"; SWWM_ACHIEVEMENT_ANONE_TXT = "Usa el Artefacto Mykradvo contra un único enemigo no-jefe"; +SWWM_ACHIEVEMENT_BALLS_TAG = "Machácate las Bolas"; +SWWM_ACHIEVEMENT_BALLS_TXT = "Consigue %d críticos de Bola de Plomo"; +SWWM_ACHIEVEMENT_BARRIER_TAG = "Filtro Verde"; +SWWM_ACHIEVEMENT_BARRIER_TXT = "Usa %d Barreras Elementales"; +SWWM_ACHIEVEMENT_BONK_TAG = "Resistente a Choques"; +SWWM_ACHIEVEMENT_BONK_TXT = "Choca %d veces"; +SWWM_ACHIEVEMENT_BOSSDASH_TAG = "Cabezonería"; +SWWM_ACHIEVEMENT_BOSSDASH_TXT = "Mata %d jefes esprintando contra ellos"; +SWWM_ACHIEVEMENT_BRAKE_TAG = "Sin Frenos"; +SWWM_ACHIEVEMENT_BRAKE_TXT = "Consume toda tu capacidad de combustible en un solo esprint %d veces"; +SWWM_ACHIEVEMENT_BUNE_TAG = "Lagomorfo Legendario"; +SWWM_ACHIEVEMENT_BUNE_TXT = "Realiza %d bunnyhops"; +SWWM_ACHIEVEMENT_BUSTIN_TAG = "Me Hace Sentir Bien"; +SWWM_ACHIEVEMENT_BUSTIN_TXT = "Revienta %d paredes"; +SWWM_ACHIEVEMENT_BUTTS_TAG = "Esos Glúteos Firmes"; +SWWM_ACHIEVEMENT_BUTTS_TXT = "Mata %d enemigos esprintando marcha atrás"; +SWWM_ACHIEVEMENT_CHEAT_TAG = "Han Pasado Diez Años"; +SWWM_ACHIEVEMENT_CHEAT_TXT = "Usa un código trampa de SWWM Platinum"; +SWWM_ACHIEVEMENT_CLIFFYB_TAG = "Mierdas de Recadero"; +SWWM_ACHIEVEMENT_CLIFFYB_TXT = "Termina un mapa sin obtener ninguna llave"; +SWWM_ACHIEVEMENT_CLONK_TAG = "CLONK"; +SWWM_ACHIEVEMENT_CLONK_TXT = "Mata a un jefe con un crítico de Bola de Plomo"; +SWWM_ACHIEVEMENT_CONGA_TAG = "Conga de la Muerte"; +SWWM_ACHIEVEMENT_CONGA_TXT = "Mata %d enemigos con una sola bala XSB"; +SWWM_ACHIEVEMENT_DAB_TXT = "Revienta %d enemigos con el Mazo Itamex"; +SWWM_ACHIEVEMENT_DAKKA_TXT = "Dispara la Ametralladora Sheen durante un minuto entero"; +SWWM_ACHIEVEMENT_DIME_TXT = "Reviéntate con tus propios explosivos"; +SWWM_ACHIEVEMENT_DOSH_TAG = "Capitalismo Desenfrenado"; +SWWM_ACHIEVEMENT_DOSH_TXT = "Ten ¥1.000.000.000 en mano"; +SWWM_ACHIEVEMENT_EVERYTHING_TAG = "La Demolicionista"; +SWWM_ACHIEVEMENT_EVERYTHING_TXT = "Desbloquea todos los logros"; +SWWM_ACHIEVEMENT_EZKILL_TAG = "Eso Estuvo Fácil"; +SWWM_ACHIEVEMENT_EZKILL_TXT = "Mata %d enemigos con un solo disparo de Artefacto Ynykron (excluyendo modo secundario)"; +SWWM_ACHIEVEMENT_FLIGHT_TAG = "Programa Espacial Demolicionista"; +SWWM_ACHIEVEMENT_FLIGHT_TXT = "Lanza a un enemigo en volandas más allá de %d unidades de mapa"; +SWWM_ACHIEVEMENT_FRIEND_TAG = "Con Forma de Amigo"; +SWWM_ACHIEVEMENT_FRIEND_TXT = "Entabla amistad con %d Cacodemonios, Hombres-Dragón o Ettins a base de caricias"; +SWWM_ACHIEVEMENT_FUEL_TAG = "Hidrogenado"; +SWWM_ACHIEVEMENT_FUEL_TXT = "Consume un total de %dL de combustible"; +SWWM_ACHIEVEMENT_FULLER_TAG = "Has Ganado Brouzouf"; +SWWM_ACHIEVEMENT_FULLER_TXT = "Vacía un cargador entero en super-automático con el Puntzer Gamma sin fallar un solo disparo"; +SWWM_ACHIEVEMENT_GCSANDWICH_TAG = "Un Poco de Sandwich, de Propina"; +SWWM_ACHIEVEMENT_GCSANDWICH_TXT = "Usa %d Sándwiches de Queso a la Plancha"; +SWWM_ACHIEVEMENT_GEPGUN_TAG = "El Derribo Más Silencioso"; +SWWM_ACHIEVEMENT_GEPGUN_TXT = "Mata %d enemigos con el fuego primario de la Ray-Khom sin alertarlos"; +SWWM_ACHIEVEMENT_GHOST_TAG = "Camuflaje Activado"; +SWWM_ACHIEVEMENT_GHOST_TXT = "Usa %d Artefactos Fantasma"; +SWWM_ACHIEVEMENT_GIB_TAG = "Carnaza"; +SWWM_ACHIEVEMENT_GIB_TXT = "Haz overkill a %d enemigos"; +SWWM_ACHIEVEMENT_GOLDEN_TAG = "Lluvia Dorada"; +SWWM_ACHIEVEMENT_GOLDEN_TXT = "Usa %d cartuchos dorados"; +SWWM_ACHIEVEMENT_GRAVITY_TAG = "Ascenso Decente"; +SWWM_ACHIEVEMENT_GRAVITY_TXT = "Usa %d Supresores de Gravedad"; +SWWM_ACHIEVEMENT_HND_TAG = "Mediodía"; +SWWM_ACHIEVEMENT_HND_TXT = "Realiza %d disparos mortales en una única recarga de Puntzer Beta"; +SWWM_ACHIEVEMENT_IWAD_TXT = "Juega en todos los juegos soportados"; +SWWM_ACHIEVEMENT_JUMP_TAG = "Verticalidad"; +SWWM_ACHIEVEMENT_JUMP_TXT = "Salta paredes %d veces"; +SWWM_ACHIEVEMENT_LEAD_TAG = "Reparto de Plomo"; +SWWM_ACHIEVEMENT_LEAD_TXT = "Alcanza a un enemigo de lleno con el secundario del Eviscerator desde más de %d unidades de mapa"; +SWWM_ACHIEVEMENT_LIGHTNING_TAG = "Maldición de John Romero"; +SWWM_ACHIEVEMENT_LIGHTNING_TXT = "Achichárrate descargando un arma eléctrica en el agua"; +SWWM_ACHIEVEMENT_LIGMA_TAG = "¿Quien es Steve Jobs?"; +SWWM_ACHIEVEMENT_LIGMA_TXT = "Mata a un jefe final con el Artefacto Ynykron"; +SWWM_ACHIEVEMENT_LOVE_TAG = "Amor Letal"; +SWWM_ACHIEVEMENT_LOVE_TXT = "Mata %d enemigos con un beso lanzado (sin contar insta-kills)"; +SWWM_ACHIEVEMENT_MASHIRO_TAG = "Capas de Blanco"; +SWWM_ACHIEVEMENT_MASHIRO_TXT = "Invoca a la Dama Blanca"; +SWWM_ACHIEVEMENT_MBF_TAG = "Puedes Acariciar el Perro"; +SWWM_ACHIEVEMENT_MBF_TXT = "Acaricia un perro"; +SWWM_ACHIEVEMENT_MEGA_TAG = "Megamuerte"; +SWWM_ACHIEVEMENT_MEGA_TXT = "Mata un gran total de un millón de enemigos"; +SWWM_ACHIEVEMENT_MOTH_TAG = "Madre Polilla"; +SWWM_ACHIEVEMENT_MOTH_TXT = "Reúne %d polillas"; +SWWM_ACHIEVEMENT_NICE_TXT = "Termina un nivel con 69 de vida"; +SWWM_ACHIEVEMENT_ONEGUY_TAG = "A la Mierda el Tío Ese"; +SWWM_ACHIEVEMENT_ONEGUY_TXT = "Usa el Artefacto Ynykron para matar a un único enemigo no-jefe"; +SWWM_ACHIEVEMENT_ONESTANDING_TAG = "Una Advertencia a los Otros"; +SWWM_ACHIEVEMENT_ONESTANDING_TXT = "Termina un mapa con solo un enemigo vivo"; +SWWM_ACHIEVEMENT_OOPSIE_TAG = "Gran Errorcito"; +SWWM_ACHIEVEMENT_OOPSIE_TXT = "Bórrate con el Artefacto Ynykron"; +SWWM_ACHIEVEMENT_PARRY_TAG = "Rey del Parry"; +SWWM_ACHIEVEMENT_PARRY_TXT = "Desvía %d proyectiles"; +SWWM_ACHIEVEMENT_PAR_TAG = "Rápido"; +SWWM_ACHIEVEMENT_PAR_TXT = "Supera el tiempo par en %d mapas"; +SWWM_ACHIEVEMENT_PENE_TAG = "Penetrador"; +SWWM_ACHIEVEMENT_PENE_TXT = "Atraviesa %d enemigos en fila con un solo secundario de la Gran Lanza"; +SWWM_ACHIEVEMENT_PLUSH_TAG = "Amorcito"; +SWWM_ACHIEVEMENT_PLUSH_TXT = "Juega con los peluches de Saya o Kirin %d veces en la misma partida"; +SWWM_ACHIEVEMENT_RAGE_TAG = "No Hablo me Enfado"; +SWWM_ACHIEVEMENT_RAGE_TXT = "Usa %d Ragekits"; +SWWM_ACHIEVEMENT_REFLECT_TAG = "Devuelto a Remitente"; +SWWM_ACHIEVEMENT_REFLECT_TXT = "Mata %d enemigos con proyectiles desviados"; +SWWM_ACHIEVEMENT_REFRESH_TAG = "Siempre Fresco"; +SWWM_ACHIEVEMENT_REFRESH_TXT = "Usa %d Refrescadores"; +SWWM_ACHIEVEMENT_ROAST_TAG = "Ensarta en los Fuegos del Hades"; +SWWM_ACHIEVEMENT_ROAST_TXT = "Realiza %d combos de bayoneta con la Quadravol"; +SWWM_ACHIEVEMENT_SALT_TAG = "Sobresalado Máximo"; +SWWM_ACHIEVEMENT_SALT_TXT = "Dispara 25 cartuchos de sal al mismo tiempo"; +SWWM_ACHIEVEMENT_SANIC_TAG = "PERRITOS DE CHILE"; +SWWM_ACHIEVEMENT_SANIC_TXT = "Alcanza una velocidad punta de %d km/h"; +SWWM_ACHIEVEMENT_SEKIRO_TAG = "Dudar es Fracasar"; +SWWM_ACHIEVEMENT_SEKIRO_TXT = "Muere y reinicia dos veces en el mismo mapa"; +SWWM_ACHIEVEMENT_SHOCK_TXT = "Realiza %d combos de Biospark"; +SWWM_ACHIEVEMENT_SLAYER_TAG = "Me he Convertido en Muerte"; +SWWM_ACHIEVEMENT_SLAYER_TXT = "Mata %d enemigos con una sola Cabeza Nuclear Slayer"; +SWWM_ACHIEVEMENT_SLEMG_TAG = "El Método Sledge"; +SWWM_ACHIEVEMENT_SLEMG_TXT = "Activa %d interruptores a puñetazos"; +SWWM_ACHIEVEMENT_SNEEZE_TAG = "Humillador"; +SWWM_ACHIEVEMENT_SNEEZE_TXT = "Mata %d enemigos con el fuego primario del Deep Impact"; +SWWM_ACHIEVEMENT_STEP_TAG = "Pisadita"; +SWWM_ACHIEVEMENT_STEP_TXT = "Mantente de pie en la cabeza de un solo enemigo durante %d segundos"; +SWWM_ACHIEVEMENT_STOMP_TAG = "Complejo de Fontanero Italiano"; +SWWM_ACHIEVEMENT_STOMP_TXT = "Mata %d enemigos saltando encima"; +SWWM_ACHIEVEMENT_SUNNY_TXT = "Usa %d Invincibolas"; +SWWM_ACHIEVEMENT_TELE_TAG = "Pasatiempo de Soldado"; +SWWM_ACHIEVEMENT_TELE_TXT = "Teletransporta pan (un sandwich también vale)"; +SWWM_ACHIEVEMENT_THICC_TAG = "El Culo era Gordo"; +SWWM_ACHIEVEMENT_THICC_TXT = "Mata %d enemigos a base de estampidas en el suelo"; +SWWM_ACHIEVEMENT_THRUWALL_TAG = "Toc Toc"; +SWWM_ACHIEVEMENT_THRUWALL_TXT = "Mata %d enemigos a través de las paredes con el Silver Bullet"; SWWM_ACHIEVEMENT_WANTDIE_TAG = "Mata a tu Jefe"; SWWM_ACHIEVEMENT_WANTDIE_TXT = "Despeja un mapa en la dificultad más alta (sin morir)"; +SWWM_ACHIEVEMENT_WAVE_TAG = "Sayonara, Capullo"; +SWWM_ACHIEVEMENT_WAVE_TXT = "Saluda a un enemigo muriéndose"; +SWWM_ACHIEVEMENT_YEET_TXT = "Lanza una Pistola Caramelo justo dentro del cerebro del Icono del Pecado"; diff --git a/language.version b/language.version index 4e2b0a0ca..f416799ec 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r399 \cu(Wed 24 Mar 15:37:04 CET 2021)\c-"; -SWWM_SHORTVER="\cw0.9.11b-pre r399 \cu(2021-03-24 15:37:04)\c-"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r400 \cu(Wed 24 Mar 17:41:38 CET 2021)\c-"; +SWWM_SHORTVER="\cw0.9.11b-pre r400 \cu(2021-03-24 17:41:38)\c-"; diff --git a/zscript/handler/swwm_handler_worldload.zsc b/zscript/handler/swwm_handler_worldload.zsc index a8156ec4c..ed2a351fc 100644 --- a/zscript/handler/swwm_handler_worldload.zsc +++ b/zscript/handler/swwm_handler_worldload.zsc @@ -90,6 +90,9 @@ extend Class SWWMHandler // one standing? if ( (level.total_monsters-level.killed_monsters) == 1 ) SWWMUtility.MarkAchievement('swwm_achievement_onestanding',players[consoleplayer]); + // nice? + if ( players[consoleplayer].Health == 69 ) + SWWMUtility.MarkAchievement('swwm_achievement_nice',players[consoleplayer]); } private void SetupLockdefsCache( SWWMCachedLockInfo cli ) diff --git a/zscript/handler/swwm_statichandler_achievements.zsc b/zscript/handler/swwm_statichandler_achievements.zsc index 7b9fecf46..f0fc8d018 100644 --- a/zscript/handler/swwm_statichandler_achievements.zsc +++ b/zscript/handler/swwm_statichandler_achievements.zsc @@ -1,104 +1,34 @@ // achievement tracking -// constants for finetuning them numbers -const SA_GCSANDWICH = 25; -const SA_GHOST = 25; -const SA_ALLITEMS = 30; -const SA_CONGA = 15; -const SA_GRAVITY = 25; -const SA_FLIGHT = 2000; -const SA_PAR = 30; -const SA_GOLDEN = 24; -const SA_GIB = 500; -const SA_BARRIER = 25; -const SA_BOSSDASH = 10; -const SA_SNEEZE = 20; -const SA_FUEL = 400; -const SA_SLAYER = 40; -const SA_STOMP = 50; -const SA_THRUWALL = 25; -const SA_LEAD = 1500; -const SA_LOVE = 20; -const SA_BUTTS = 100; -const SA_PLUSH = 20; -const SA_BUSTIN = 40; -const SA_MOTH = 50; -const SA_BRAKE = 20; -const SA_RAGE = 25; -const SA_PARRY = 100; -const SA_ALLKILLS = 30; -const SA_ALLSECRETS = 30; -const SA_REFLECT = 20; -const SA_FRIEND = 30; -const SA_SHOCK = 30; -const SA_BALLS = 10; -const SA_REFRESH = 25; -const SA_STEP = 60; -const SA_SUNNY = 25; -const SA_THICC = 80; -const SA_SLEMG = 50; -const SA_JUMP = 80; -const SA_EZKILL = 100; -const SA_ROAST = 30; -const SA_DAB = 100; -const SA_HND = 6; -const SA_GEPGUN = 30; -const SA_PENE = 20; -const SA_ACID = 100; -const SA_SANIC = 800; -const SA_BUNE = 150; -const SA_BONK = 300; -const SA_ANOM = 25; - -// achievement unlock tracking extend Class SWWMStaticHandler { ui int lastachievementnotify; // prevent overlap + Array achievements; - private ui bool CheckAchievement( Name ac, String acname, int acnum, Name acprog ) + private ui bool CheckAchievement( SWWMAchievement a ) { - let ev = CVar.FindCVar(ac); - int val = ev.GetInt(); + int val = a.state.GetInt(); // manually check progress - if ( acprog != 'None' ) + if ( a.progress ) { - int prog = CVar.FindCVar(acprog).GetInt(); - int maxval = acnum; + int prog = a.progress.GetInt(); // special cases - if ( ac == 'swwm_achievement_allcoll' ) + if ( val && (prog < a.maxval) ) { - int nc = 0; - for ( int i=0; i)(AllActorClasses[i]); - if ( !c || (c == 'SWWMCollectible') ) continue; - let def = GetDefaultByType(c); - // check that we can collect it in this IWAD - if ( !def.ValidGame() ) continue; - nc++; - } - maxval = nc; - } - else if ( ac == 'swwm_achievement_dakka' ) maxval = 60; - else if ( ac == 'swwm_achievement_dosh' ) maxval = 1000000000; - else if ( ac == 'swwm_achievement_mega' ) maxval = 1000000; - else if ( ac == 'swwm_achievement_iwad' ) maxval = 7; - if ( val && (prog < maxval) ) - { - ev.SetInt(0); + a.state.SetInt(0); val = 0; } - else if ( !val && (prog >= maxval) ) + else if ( !val && (prog >= a.maxval) ) { - ev.SetInt(1); + a.state.SetInt(1); val = 1; } } if ( (val == 1) && (gametic > lastachievementnotify) ) { - ev.SetInt(2); - EventHandler.SendNetworkEvent("swwmachievement."..acname.."_TAG",consoleplayer); - let notif = new("SWWMAchievementNotification").Init(acname,acnum); + a.state.SetInt(2); + EventHandler.SendNetworkEvent("swwmachievement."..a.basename,consoleplayer); + let notif = new("SWWMAchievementNotification").Init(a.basename,a.icon,a.hasformat?a.maxval:0); StatusBar.AttachMessage(notif,-3478); lastachievementnotify = gametic+200; } @@ -107,415 +37,38 @@ extend Class SWWMStaticHandler private ui void CheckAllAchievements() { - // don't check constantly - if ( (maptime < 105) || (maptime%35) ) return; - // cvar assigned - static const Name vars[] = - { - 'swwm_achievement_gcsandwich', - 'swwm_achievement_onestanding', - 'swwm_achievement_oopsie', - 'swwm_achievement_ghost', - 'swwm_achievement_clonk', - 'swwm_achievement_allitems', - 'swwm_achievement_conga', - 'swwm_achievement_gravity', - 'swwm_achievement_flight', - 'swwm_achievement_cliffyb', - 'swwm_achievement_par', - 'swwm_achievement_oneguy', - 'swwm_achievement_golden', - 'swwm_achievement_gib', - 'swwm_achievement_barrier', - 'swwm_achievement_bossdash', - 'swwm_achievement_sneeze', - 'swwm_achievement_fuel', - 'swwm_achievement_slayer', - 'swwm_achievement_dime', - 'swwm_achievement_stomp', - 'swwm_achievement_cheat', - 'swwm_achievement_thruwall', - 'swwm_achievement_mashiro', - 'swwm_achievement_lead', - 'swwm_achievement_love', - 'swwm_achievement_butts', - 'swwm_achievement_plush', - 'swwm_achievement_bustin', - 'swwm_achievement_moth', - 'swwm_achievement_iwad', - 'swwm_achievement_brake', - 'swwm_achievement_rage', - 'swwm_achievement_abort', - 'swwm_achievement_parry', - 'swwm_achievement_allkills', - 'swwm_achievement_allsecrets', - 'swwm_achievement_reflect', - 'swwm_achievement_sekiro', - 'swwm_achievement_wave', - 'swwm_achievement_friend', - 'swwm_achievement_shock', - 'swwm_achievement_balls', - 'swwm_achievement_refresh', - 'swwm_achievement_step', - 'swwm_achievement_sunny', - 'swwm_achievement_thicc', - 'swwm_achievement_allcoll', - 'swwm_achievement_slemg', - 'swwm_achievement_dosh', - 'swwm_achievement_jump', - 'swwm_achievement_ezkill', - 'swwm_achievement_ligma', - 'swwm_achievement_yeet', - 'swwm_achievement_mbf', - 'swwm_achievement_lightning', - 'swwm_achievement_dakka', - 'swwm_achievement_roast', - 'swwm_achievement_dab', - 'swwm_achievement_hnd', - 'swwm_achievement_gepgun', - 'swwm_achievement_fuller', - 'swwm_achievement_pene', - 'swwm_achievement_acid', - 'swwm_achievement_salt', - 'swwm_achievement_mega', - 'swwm_achievement_sanic', - 'swwm_achievement_tele', - 'swwm_achievement_bune', - 'swwm_achievement_bonk', - 'swwm_achievement_anom', - 'swwm_achievement_anone', - 'swwm_achievement_wantdie' - }; - // localized name - static const String names[] = - { - "$SWWM_ACHIEVEMENT_GCSANDWICH", - "$SWWM_ACHIEVEMENT_ONESTANDING", - "$SWWM_ACHIEVEMENT_OOPSIE", - "$SWWM_ACHIEVEMENT_GHOST", - "$SWWM_ACHIEVEMENT_CLONK", - "$SWWM_ACHIEVEMENT_ALLITEMS", - "$SWWM_ACHIEVEMENT_CONGA", - "$SWWM_ACHIEVEMENT_GRAVITY", - "$SWWM_ACHIEVEMENT_FLIGHT", - "$SWWM_ACHIEVEMENT_CLIFFYB", - "$SWWM_ACHIEVEMENT_PAR", - "$SWWM_ACHIEVEMENT_ONEGUY", - "$SWWM_ACHIEVEMENT_GOLDEN", - "$SWWM_ACHIEVEMENT_GIB", - "$SWWM_ACHIEVEMENT_BARRIER", - "$SWWM_ACHIEVEMENT_BOSSDASH", - "$SWWM_ACHIEVEMENT_SNEEZE", - "$SWWM_ACHIEVEMENT_FUEL", - "$SWWM_ACHIEVEMENT_SLAYER", - "$SWWM_ACHIEVEMENT_DIME", - "$SWWM_ACHIEVEMENT_STOMP", - "$SWWM_ACHIEVEMENT_CHEAT", - "$SWWM_ACHIEVEMENT_THRUWALL", - "$SWWM_ACHIEVEMENT_MASHIRO", - "$SWWM_ACHIEVEMENT_LEAD", - "$SWWM_ACHIEVEMENT_LOVE", - "$SWWM_ACHIEVEMENT_BUTTS", - "$SWWM_ACHIEVEMENT_PLUSH", - "$SWWM_ACHIEVEMENT_BUSTIN", - "$SWWM_ACHIEVEMENT_MOTH", - "$SWWM_ACHIEVEMENT_IWAD", - "$SWWM_ACHIEVEMENT_BRAKE", - "$SWWM_ACHIEVEMENT_RAGE", - "$SWWM_ACHIEVEMENT_ABORT", - "$SWWM_ACHIEVEMENT_PARRY", - "$SWWM_ACHIEVEMENT_ALLKILLS", - "$SWWM_ACHIEVEMENT_ALLSECRETS", - "$SWWM_ACHIEVEMENT_REFLECT", - "$SWWM_ACHIEVEMENT_SEKIRO", - "$SWWM_ACHIEVEMENT_WAVE", - "$SWWM_ACHIEVEMENT_FRIEND", - "$SWWM_ACHIEVEMENT_SHOCK", - "$SWWM_ACHIEVEMENT_BALLS", - "$SWWM_ACHIEVEMENT_REFRESH", - "$SWWM_ACHIEVEMENT_STEP", - "$SWWM_ACHIEVEMENT_SUNNY", - "$SWWM_ACHIEVEMENT_THICC", - "$SWWM_ACHIEVEMENT_ALLCOLL", - "$SWWM_ACHIEVEMENT_SLEMG", - "$SWWM_ACHIEVEMENT_DOSH", - "$SWWM_ACHIEVEMENT_JUMP", - "$SWWM_ACHIEVEMENT_EZKILL", - "$SWWM_ACHIEVEMENT_LIGMA", - "$SWWM_ACHIEVEMENT_YEET", - "$SWWM_ACHIEVEMENT_MBF", - "$SWWM_ACHIEVEMENT_LIGHTNING", - "$SWWM_ACHIEVEMENT_DAKKA", - "$SWWM_ACHIEVEMENT_ROAST", - "$SWWM_ACHIEVEMENT_DAB", - "$SWWM_ACHIEVEMENT_HND", - "$SWWM_ACHIEVEMENT_GEPGUN", - "$SWWM_ACHIEVEMENT_FULLER", - "$SWWM_ACHIEVEMENT_PENE", - "$SWWM_ACHIEVEMENT_ACID", - "$SWWM_ACHIEVEMENT_SALT", - "$SWWM_ACHIEVEMENT_MEGA", - "$SWWM_ACHIEVEMENT_SANIC", - "$SWWM_ACHIEVEMENT_TELE", - "$SWWM_ACHIEVEMENT_BUNE", - "$SWWM_ACHIEVEMENT_BONK", - "$SWWM_ACHIEVEMENT_ANOM", - "$SWWM_ACHIEVEMENT_ANONE", - "$SWWM_ACHIEVEMENT_WANTDIE" - }; - // has number in txt - static const int number[] = - { - SA_GCSANDWICH, - 0, // ONESTANDING - 0, // OOPSIE - SA_GHOST, - 0, // CLONK - SA_ALLITEMS, - SA_CONGA, - SA_GRAVITY, - SA_FLIGHT, - 0, // CLIFFYB - SA_PAR, - 0, // ONEGUY - SA_GOLDEN, - SA_GIB, - SA_BARRIER, - SA_BOSSDASH, - SA_SNEEZE, - SA_FUEL, - SA_SLAYER, - 0, // DIME - SA_STOMP, - 0, // CHEAT - SA_THRUWALL, - 0, // MASHIRO - SA_LEAD, - SA_LOVE, - SA_BUTTS, - SA_PLUSH, - SA_BUSTIN, - SA_MOTH, - 0, // IWAD - SA_BRAKE, - SA_RAGE, - 0, // ABORT - SA_PARRY, - SA_ALLKILLS, - SA_ALLSECRETS, - SA_REFLECT, - 0, // SEKIRO - 0, // WAVE - SA_FRIEND, - SA_SHOCK, - SA_BALLS, - SA_REFRESH, - SA_STEP, - SA_SUNNY, - SA_THICC, - 0, // ALLCOLL - SA_SLEMG, - 0, // DOSH - SA_JUMP, - SA_EZKILL, - 0, // LIGMA - 0, // YEET - 0, // MBF - 0, // LIGHTNING - 0, // DAKKA - SA_ROAST, - SA_DAB, - SA_HND, - SA_GEPGUN, - 0, // FULLER - SA_PENE, - SA_ACID, - 0, // SALT - 0, // MEGA - SA_SANIC, - 0, // TELE - SA_BUNE, - SA_BONK, - SA_ANOM, - 0, // ANONE - 0 // WANTDIE - }; - // is ignored (hide away achievements that can't be done yet) - static const bool ignoreme[] = - { - false, // GCSANDWICH - false, // ONESTANDING - false, // OOPSIE - false, // GHOST - false, // CLONK - false, // ALLITEMS - false, // CONGA - false, // GRAVITY - false, // FLIGHT - false, // CLIFFYB - false, // PAR - false, // ONEGUY - false, // GOLDEN - false, // GIB - false, // BARRIER - false, // BOSSDASH - false, // SNEEZE - false, // FUEL - false, // SLAYER - false, // DIME - false, // STOMP - false, // CHEAT - false, // THRUWALL - true, // MASHIRO - false, // LEAD - false, // LOVE - false, // BUTTS - false, // PLUSH - false, // BUSTIN - false, // MOTH - false, // IWAD - false, // BRAKE - false, // RAGE - false, // ABORT - false, // PARRY - false, // ALLKILLS - false, // ALLSECRETS - false, // REFLECT - false, // SEKIRO - false, // WAVE - false, // FRIEND - false, // SHOCK - false, // BALLS - false, // REFRESH - false, // STEP - false, // SUNNY - false, // THICC - false, // ALLCOLL - false, // SLEMG - false, // DOSH - false, // JUMP - false, // EZKILL - false, // LIGMA - false, // YEET - false, // MBF - true, // LIGHTNING - true, // DAKKA - true, // ROAST - true, // DAB - true, // HND - true, // GEPGUN - true, // FULLER - true, // PENE - false, // ACID - false, // SALT - false, // MEGA - false, // SANIC - false, // TELE - false, // BUNE - false, // BONK - false, // ANOM - false, // ANONE - false // WANTDIE - }; - // progress tracking cvar (if any) - static const Name pvar[] = - { - 'swwm_progress_gcsandwich', - 'None', // ONESTANDING - 'None', // OOPSIE - 'swwm_progress_ghost', - 'None', // CLONK - 'swwm_progress_allitems', - 'swwm_progress_conga', - 'swwm_progress_gravity', - 'swwm_progress_flight', - 'None', // CLIFFYB - 'swwm_progress_par', - 'None', // ONEGUY - 'swwm_progress_golden', - 'swwm_progress_gib', - 'swwm_progress_barrier', - 'swwm_progress_bossdash', - 'swwm_progress_sneeze', - 'swwm_progress_fuel', - 'swwm_progress_slayer', - 'None', // DIME - 'swwm_progress_stomp', - 'None', // CHEAT - 'swwm_progress_thruwall', - 'None', // MASHIRO - 'swwm_progress_lead', - 'swwm_progress_love', - 'swwm_progress_butts', - 'swwm_progress_plush', - 'swwm_progress_bustin', - 'swwm_progress_moth', - 'swwm_progress_iwad', - 'swwm_progress_brake', // BRAKE - 'swwm_progress_rage', - 'None', // ABORT - 'swwm_progress_parry', - 'swwm_progress_allkills', - 'swwm_progress_allsecrets', - 'swwm_progress_reflect', - 'None', // SEKIRO - 'None', // WAVE - 'swwm_progress_friend', - 'swwm_progress_shock', - 'swwm_progress_balls', - 'swwm_progress_refresh', - 'swwm_progress_step', - 'swwm_progress_sunny', - 'swwm_progress_thicc', - 'swwm_progress_allcoll', - 'swwm_progress_slemg', - 'swwm_progress_dosh', - 'swwm_progress_jump', - 'swwm_progress_ezkill', - 'None', // LIGMA - 'None', // YEET - 'None', // MBF - 'None', // LIGHTNING - 'swwm_progress_dakka', - 'swwm_progress_roast', - 'swwm_progress_dab', - 'swwm_progress_hnd', - 'swwm_progress_gepgun', - 'None', // FULLER - 'swwm_progress_pene', - 'swwm_progress_acid', - 'None', // SALT - 'swwm_progress_mega', - 'swwm_progress_sanic', - 'None', // TELE - 'swwm_progress_bune', - 'swwm_progress_bonk', - 'swwm_progress_anom', - 'None', // ANONE - 'None' // WANTDIE - }; + // don't check constantly, and don't check during level transitions + if ( unloading || (maptime < 105) || (maptime%35) ) return; + // first load + if ( achievements.Size() <= 0 ) SWWMUtility.LoadAchievements(achievements); bool alldone = true; - for ( int i=0; i lastachievementnotify) ) { - ev.SetInt(2); - EventHandler.SendNetworkEvent("swwmachievement.$SWWM_ACHIEVEMENT_EVERYTHING_TAG",consoleplayer); - let notif = new("SWWMAchievementNotification").Init("$SWWM_ACHIEVEMENT_EVERYTHING"); + achievements[ev].state.SetInt(2); + EventHandler.SendNetworkEvent("swwmachievement."..achievements[ev].basename,consoleplayer); + let notif = new("SWWMAchievementNotification").Init(achievements[ev].basename,achievements[ev].icon); StatusBar.AttachMessage(notif,-3478); lastachievementnotify = gametic+200; } diff --git a/zscript/hud/swwm_hudextra.zsc b/zscript/hud/swwm_hudextra.zsc index a970f0cc2..b769a444a 100644 --- a/zscript/hud/swwm_hudextra.zsc +++ b/zscript/hud/swwm_hudextra.zsc @@ -166,14 +166,12 @@ Class SWWMAchievementNotification : HUDMessageBase double tics, holdtics, fadeintics, fadeouttics; transient Font tewifont, mplusfont, miniwifont, k6x8font; - SWWMAchievementNotification Init( String bname, int bnum = 0 ) + SWWMAchievementNotification Init( String bname, TextureID icon, int bnum = 0 ) { - tag = bname.."_TAG"; - txt = bname.."_TXT"; + tag = "$SWWM_ACHIEVEMENT_"..bname.."_TAG"; + txt = "$SWWM_ACHIEVEMENT_"..bname.."_TXT"; num = bnum; - icon = TexMan.CheckForTexture(StringTable.Localize(bname.."_PIC"),TexMan.Type_Any); - // fallback icon - if ( !icon.IsValid() ) icon = TexMan.CheckForTexture("graphics/Achievements/AchievementNone.png",TexMan.Type_Any); + self.icon = icon; frame = TexMan.CheckForTexture("graphics/HUD/AchievementNotification.png",TexMan.Type_Any); holdtics = 150; fadeintics = 20; diff --git a/zscript/kbase/swwm_kbase.zsc b/zscript/kbase/swwm_kbase.zsc index e12c639e4..410541d08 100644 --- a/zscript/kbase/swwm_kbase.zsc +++ b/zscript/kbase/swwm_kbase.zsc @@ -13,14 +13,6 @@ Class MenuTransaction bool result, usedup; } -Class MenuAchievement -{ - String tag, txt; - TextureID icon; - CVar state, progress; - int num, maxval; -} - // FIXME this whole thing needs to be refactored eventually Class DemolitionistMenu : GenericMenu { @@ -65,7 +57,7 @@ Class DemolitionistMenu : GenericMenu Array sorted_mstats; // sorted by killcount Array filtered_lstats; // filtered if necessary + entry for current map LevelStat curlstat; - Array achievements; // array created once, then sorted as needed + Array achievements; // array created once, then sorted as needed // inventory lists Array invlist; // lore stuff @@ -346,440 +338,7 @@ Class DemolitionistMenu : GenericMenu if ( tabs[curtab] == TAB_LIBRARY ) sel1 = swwm_lastloretab; else if ( tabs[curtab] == TAB_STATS ) sel1 = swwm_laststattab; // load achievements - LoadAchievements(); - } - - // this is very spaghetti, sorry - private void LoadAchievements() - { - // cvar assigned - static const Name vars[] = - { - 'swwm_achievement_gcsandwich', - 'swwm_achievement_onestanding', - 'swwm_achievement_oopsie', - 'swwm_achievement_ghost', - 'swwm_achievement_clonk', - 'swwm_achievement_allitems', - 'swwm_achievement_conga', - 'swwm_achievement_gravity', - 'swwm_achievement_flight', - 'swwm_achievement_cliffyb', - 'swwm_achievement_par', - 'swwm_achievement_oneguy', - 'swwm_achievement_golden', - 'swwm_achievement_gib', - 'swwm_achievement_barrier', - 'swwm_achievement_bossdash', - 'swwm_achievement_sneeze', - 'swwm_achievement_fuel', - 'swwm_achievement_slayer', - 'swwm_achievement_dime', - 'swwm_achievement_stomp', - 'swwm_achievement_cheat', - 'swwm_achievement_thruwall', - 'swwm_achievement_mashiro', - 'swwm_achievement_lead', - 'swwm_achievement_love', - 'swwm_achievement_butts', - 'swwm_achievement_plush', - 'swwm_achievement_bustin', - 'swwm_achievement_moth', - 'swwm_achievement_iwad', - 'swwm_achievement_brake', - 'swwm_achievement_rage', - 'swwm_achievement_abort', - 'swwm_achievement_parry', - 'swwm_achievement_allkills', - 'swwm_achievement_allsecrets', - 'swwm_achievement_reflect', - 'swwm_achievement_sekiro', - 'swwm_achievement_wave', - 'swwm_achievement_friend', - 'swwm_achievement_shock', - 'swwm_achievement_balls', - 'swwm_achievement_refresh', - 'swwm_achievement_step', - 'swwm_achievement_sunny', - 'swwm_achievement_thicc', - 'swwm_achievement_everything', - 'swwm_achievement_allcoll', - 'swwm_achievement_slemg', - 'swwm_achievement_dosh', - 'swwm_achievement_jump', - 'swwm_achievement_ezkill', - 'swwm_achievement_ligma', - 'swwm_achievement_yeet', - 'swwm_achievement_mbf', - 'swwm_achievement_lightning', - 'swwm_achievement_dakka', - 'swwm_achievement_roast', - 'swwm_achievement_dab', - 'swwm_achievement_hnd', - 'swwm_achievement_gepgun', - 'swwm_achievement_fuller', - 'swwm_achievement_pene', - 'swwm_achievement_acid', - 'swwm_achievement_salt', - 'swwm_achievement_mega', - 'swwm_achievement_sanic', - 'swwm_achievement_tele', - 'swwm_achievement_bune', - 'swwm_achievement_bonk', - 'swwm_achievement_anom', - 'swwm_achievement_anone', - 'swwm_achievement_wantdie' - }; - // localized name - static const String names[] = - { - "$SWWM_ACHIEVEMENT_GCSANDWICH", - "$SWWM_ACHIEVEMENT_ONESTANDING", - "$SWWM_ACHIEVEMENT_OOPSIE", - "$SWWM_ACHIEVEMENT_GHOST", - "$SWWM_ACHIEVEMENT_CLONK", - "$SWWM_ACHIEVEMENT_ALLITEMS", - "$SWWM_ACHIEVEMENT_CONGA", - "$SWWM_ACHIEVEMENT_GRAVITY", - "$SWWM_ACHIEVEMENT_FLIGHT", - "$SWWM_ACHIEVEMENT_CLIFFYB", - "$SWWM_ACHIEVEMENT_PAR", - "$SWWM_ACHIEVEMENT_ONEGUY", - "$SWWM_ACHIEVEMENT_GOLDEN", - "$SWWM_ACHIEVEMENT_GIB", - "$SWWM_ACHIEVEMENT_BARRIER", - "$SWWM_ACHIEVEMENT_BOSSDASH", - "$SWWM_ACHIEVEMENT_SNEEZE", - "$SWWM_ACHIEVEMENT_FUEL", - "$SWWM_ACHIEVEMENT_SLAYER", - "$SWWM_ACHIEVEMENT_DIME", - "$SWWM_ACHIEVEMENT_STOMP", - "$SWWM_ACHIEVEMENT_CHEAT", - "$SWWM_ACHIEVEMENT_THRUWALL", - "$SWWM_ACHIEVEMENT_MASHIRO", - "$SWWM_ACHIEVEMENT_LEAD", - "$SWWM_ACHIEVEMENT_LOVE", - "$SWWM_ACHIEVEMENT_BUTTS", - "$SWWM_ACHIEVEMENT_PLUSH", - "$SWWM_ACHIEVEMENT_BUSTIN", - "$SWWM_ACHIEVEMENT_MOTH", - "$SWWM_ACHIEVEMENT_IWAD", - "$SWWM_ACHIEVEMENT_BRAKE", - "$SWWM_ACHIEVEMENT_RAGE", - "$SWWM_ACHIEVEMENT_ABORT", - "$SWWM_ACHIEVEMENT_PARRY", - "$SWWM_ACHIEVEMENT_ALLKILLS", - "$SWWM_ACHIEVEMENT_ALLSECRETS", - "$SWWM_ACHIEVEMENT_REFLECT", - "$SWWM_ACHIEVEMENT_SEKIRO", - "$SWWM_ACHIEVEMENT_WAVE", - "$SWWM_ACHIEVEMENT_FRIEND", - "$SWWM_ACHIEVEMENT_SHOCK", - "$SWWM_ACHIEVEMENT_BALLS", - "$SWWM_ACHIEVEMENT_REFRESH", - "$SWWM_ACHIEVEMENT_STEP", - "$SWWM_ACHIEVEMENT_SUNNY", - "$SWWM_ACHIEVEMENT_THICC", - "$SWWM_ACHIEVEMENT_EVERYTHING", - "$SWWM_ACHIEVEMENT_ALLCOLL", - "$SWWM_ACHIEVEMENT_SLEMG", - "$SWWM_ACHIEVEMENT_DOSH", - "$SWWM_ACHIEVEMENT_JUMP", - "$SWWM_ACHIEVEMENT_EZKILL", - "$SWWM_ACHIEVEMENT_LIGMA", - "$SWWM_ACHIEVEMENT_YEET", - "$SWWM_ACHIEVEMENT_MBF", - "$SWWM_ACHIEVEMENT_LIGHTNING", - "$SWWM_ACHIEVEMENT_DAKKA", - "$SWWM_ACHIEVEMENT_ROAST", - "$SWWM_ACHIEVEMENT_DAB", - "$SWWM_ACHIEVEMENT_HND", - "$SWWM_ACHIEVEMENT_GEPGUN", - "$SWWM_ACHIEVEMENT_FULLER", - "$SWWM_ACHIEVEMENT_PENE", - "$SWWM_ACHIEVEMENT_ACID", - "$SWWM_ACHIEVEMENT_SALT", - "$SWWM_ACHIEVEMENT_MEGA", - "$SWWM_ACHIEVEMENT_SANIC", - "$SWWM_ACHIEVEMENT_TELE", - "$SWWM_ACHIEVEMENT_BUNE", - "$SWWM_ACHIEVEMENT_BONK", - "$SWWM_ACHIEVEMENT_ANOM", - "$SWWM_ACHIEVEMENT_ANONE", - "$SWWM_ACHIEVEMENT_WANTDIE" - }; - // has number in txt - static const int number[] = - { - SA_GCSANDWICH, - 0, // ONESTANDING - 0, // OOPSIE - SA_GHOST, - 0, // CLONK - SA_ALLITEMS, - SA_CONGA, - SA_GRAVITY, - SA_FLIGHT, - 0, // CLIFFYB - SA_PAR, - 0, // ONEGUY - SA_GOLDEN, - SA_GIB, - SA_BARRIER, - SA_BOSSDASH, - SA_SNEEZE, - SA_FUEL, - SA_SLAYER, - 0, // DIME - SA_STOMP, - 0, // CHEAT - SA_THRUWALL, - 0, // MASHIRO - SA_LEAD, - SA_LOVE, - SA_BUTTS, - SA_PLUSH, - SA_BUSTIN, - SA_MOTH, - 0, // IWAD - SA_BRAKE, - SA_RAGE, - 0, // ABORT - SA_PARRY, - SA_ALLKILLS, - SA_ALLSECRETS, - SA_REFLECT, - 0, // SEKIRO - 0, // WAVE - SA_FRIEND, - SA_SHOCK, - SA_BALLS, - SA_REFRESH, - SA_STEP, - SA_SUNNY, - SA_THICC, - 0, // EVERYTHING - 0, // ALLCOLL - SA_SLEMG, - 0, // DOSH - SA_JUMP, - SA_EZKILL, - 0, // LIGMA - 0, // YEET - 0, // MBF - 0, // LIGHTNING - 0, // DAKKA - SA_ROAST, - SA_DAB, - SA_HND, - SA_GEPGUN, - 0, // FULLER - SA_PENE, - SA_ACID, - 0, // SALT - 0, // MEGA - SA_SANIC, - 0, // TELE - SA_BUNE, - SA_BONK, - SA_ANOM, - 0, // ANONE - 0 // WANTDIE - }; - // is ignored (hide away achievements that can't be done yet) - static const bool ignoreme[] = - { - false, // GCSANDWICH - false, // ONESTANDING - false, // OOPSIE - false, // GHOST - false, // CLONK - false, // ALLITEMS - false, // CONGA - false, // GRAVITY - false, // FLIGHT - false, // CLIFFYB - false, // PAR - false, // ONEGUY - false, // GOLDEN - false, // GIB - false, // BARRIER - false, // BOSSDASH - false, // SNEEZE - false, // FUEL - false, // SLAYER - false, // DIME - false, // STOMP - false, // CHEAT - false, // THRUWALL - true, // MASHIRO - false, // LEAD - false, // LOVE - false, // BUTTS - false, // PLUSH - false, // BUSTIN - false, // MOTH - false, // IWAD - false, // BRAKE - false, // RAGE - false, // ABORT - false, // PARRY - false, // ALLKILLS - false, // ALLSECRETS - false, // REFLECT - false, // SEKIRO - false, // WAVE - false, // FRIEND - false, // SHOCK - false, // BALLS - false, // REFRESH - false, // STEP - false, // SUNNY - false, // THICC - false, // EVERYTHING - false, // ALLCOLL - false, // SLEMG - false, // DOSH - false, // JUMP - false, // EZKILL - false, // LIGMA - false, // YEET - false, // MBF - true, // LIGHTNING - true, // DAKKA - true, // ROAST - true, // DAB - true, // HND - true, // GEPGUN - true, // FULLER - true, // PENE - false, // ACID - false, // SALT - false, // MEGA - false, // SANIC - false, // TELE - false, // BUNE - false, // BONK - false, // ANOM - false, // ANONE - false // WANTDIE - }; - // progress tracking cvar (if any) - static const Name pvar[] = - { - 'swwm_progress_gcsandwich', - 'None', // ONESTANDING - 'None', // OOPSIE - 'swwm_progress_ghost', - 'None', // CLONK - 'swwm_progress_allitems', - 'swwm_progress_conga', - 'swwm_progress_gravity', - 'swwm_progress_flight', - 'None', // CLIFFYB - 'swwm_progress_par', - 'None', // ONEGUY - 'swwm_progress_golden', - 'swwm_progress_gib', - 'swwm_progress_barrier', - 'swwm_progress_bossdash', - 'swwm_progress_sneeze', - 'swwm_progress_fuel', - 'swwm_progress_slayer', - 'None', // DIME - 'swwm_progress_stomp', - 'None', // CHEAT - 'swwm_progress_thruwall', - 'None', // MASHIRO - 'swwm_progress_lead', - 'swwm_progress_love', - 'swwm_progress_butts', - 'swwm_progress_plush', - 'swwm_progress_bustin', - 'swwm_progress_moth', - 'swwm_progress_iwad', - 'swwm_progress_brake', - 'swwm_progress_rage', - 'None', // ABORT - 'swwm_progress_parry', - 'swwm_progress_allkills', - 'swwm_progress_allsecrets', - 'swwm_progress_reflect', - 'None', // SEKIRO - 'None', // WAVE - 'swwm_progress_friend', - 'swwm_progress_shock', - 'swwm_progress_balls', - 'swwm_progress_refresh', - 'swwm_progress_step', - 'swwm_progress_sunny', - 'swwm_progress_thicc', - 'None', // EVERYTHING - 'swwm_progress_allcoll', - 'swwm_progress_slemg', - 'swwm_progress_dosh', - 'swwm_progress_jump', - 'swwm_progress_ezkill', - 'None', // LIGMA - 'None', // YEET - 'None', // MBF - 'None', // LIGHTNING - 'swwm_progress_dakka', - 'swwm_progress_roast', - 'swwm_progress_dab', - 'swwm_progress_hnd', - 'swwm_progress_gepgun', - 'None', // FULLER - 'swwm_progress_pene', - 'swwm_progress_acid', - 'None', // SALT - 'swwm_progress_mega', - 'swwm_progress_sanic', - 'None', // TELE - 'swwm_progress_bune', - 'swwm_progress_bonk', - 'swwm_progress_anom', - 'None', // ANONE - 'None' // WANTDIE - }; - achievements.Clear(); - for ( int i=0; i