From b64841cc4762ed9aebb3906b4cbd337632abdeb7 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Sat, 10 Apr 2021 23:01:56 +0200 Subject: [PATCH] Adjust how the Unchecked Capitalism achievement works. --- language.def_base | 6 +++--- language.es_base | 4 ++-- language.version | 4 ++-- zscript/handler/swwm_handler_cheats.zsc | 3 +-- zscript/swwm_thinkers_player.zsc | 18 ++++++------------ 5 files changed, 14 insertions(+), 21 deletions(-) diff --git a/language.def_base b/language.def_base index 8213c7326..e5146378e 100644 --- a/language.def_base +++ b/language.def_base @@ -685,7 +685,7 @@ SWWM_SHAMEFUL = "Humiliation"; SWWM_BUTTSLAM = "Buttslam"; SWWM_LOVED = "L\cg♥\c-VE"; SWWM_LOVED_ALT = "F\cg♥\c-CK NAZIS"; -SWWM_FROGGED = "CROAK"; +SWWM_FROGGED = "RIBBIT"; SWWM_PARRY = "Parry"; SWWM_PPARRY = "Perfect Parry"; // score messages @@ -886,14 +886,14 @@ 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_DOSH_TXT = "Accumulate ¥1,000,000,000 across your playthroughs"; 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 = "Blasting Off Again"; SWWM_ACHIEVEMENT_FLIGHT_TXT = "Send an enemy flying over %d map units away"; -SWWM_ACHIEVEMENT_FRIEND_TAG = "Shaped like a Friend"; +SWWM_ACHIEVEMENT_FRIEND_TAG = "Do You Like Caco?"; $ifgame(heretic) SWWM_ACHIEVEMENT_FRIEND_TAG = "Друг"; $ifgame(hexen) SWWM_ACHIEVEMENT_FRIEND_TAG = "Double Dog"; SWWM_ACHIEVEMENT_FRIEND_TXT = "Befriend %d Cacodemons with headpats"; diff --git a/language.es_base b/language.es_base index 5352d5b76..11e1c188a 100644 --- a/language.es_base +++ b/language.es_base @@ -778,14 +778,14 @@ 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_DOSH_TXT = "Acumula ¥1.000.000.000 entre todas tus partidas"; 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 = "Despega de Nuevo"; 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_TAG = "¿Te Gusta Caco?"; $ifgame(hexen) SWWM_ACHIEVEMENT_FRIEND_TAG = "Perrito Doble"; SWWM_ACHIEVEMENT_FRIEND_TXT = "Entabla amistad con %d Cacodemonios a base de caricias"; $ifgame(heretic) SWWM_ACHIEVEMENT_FRIEND_TXT = "Entabla amistad con %d Hombres-Dragón a base de caricias"; diff --git a/language.version b/language.version index c82c7383c..e39f62852 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r437 \cu(Sat 10 Apr 19:27:19 CEST 2021)\c-"; -SWWM_SHORTVER="\cw0.9.11b-pre r437 \cu(2021-04-10 19:27:19)\c-"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r438 \cu(Sat 10 Apr 23:01:56 CEST 2021)\c-"; +SWWM_SHORTVER="\cw0.9.11b-pre r438 \cu(2021-04-10 23:01:56)\c-"; diff --git a/zscript/handler/swwm_handler_cheats.zsc b/zscript/handler/swwm_handler_cheats.zsc index eb8b3c768..57bd6062b 100644 --- a/zscript/handler/swwm_handler_cheats.zsc +++ b/zscript/handler/swwm_handler_cheats.zsc @@ -19,8 +19,7 @@ extend Class SWWMHandler S_StartSound("menu/buyinv",CHAN_ITEM,CHANF_UI); S_StartSound("misc/emone",CHAN_VOICE,CHANF_UI); } - SWWMCredits.HasCheated(players[e.Args[0]]); - SWWMCredits.Give(players[e.Args[0]],1000000000); + SWWMCredits.Give(players[e.Args[0]],0,1,true); SWWMScoreObj.Spawn(1000000000,players[e.Args[0]].mo.Vec3Offset(0,0,players[e.Args[0]].mo.Height/2)); } else if ( e.Name ~== "swwmlorecheat" ) diff --git a/zscript/swwm_thinkers_player.zsc b/zscript/swwm_thinkers_player.zsc index b41fda95a..4cad0b918 100644 --- a/zscript/swwm_thinkers_player.zsc +++ b/zscript/swwm_thinkers_player.zsc @@ -201,16 +201,8 @@ Class SWWMCredits : Thinker { PlayerInfo myplayer; int credits, hcredits; - bool cheated; - static void HasCheated( PlayerInfo p ) - { - let c = Find(p); - if ( !c ) return; - c.cheated = true; - } - - static void Give( PlayerInfo p, int amount, int hamount = 0 ) + static void Give( PlayerInfo p, int amount, int hamount = 0, bool cheat = false ) { let c = Find(p); if ( !c ) return; @@ -229,9 +221,11 @@ Class SWWMCredits : Thinker s.hiscore = c.credits; s.hhiscore = c.hcredits; } - if ( c.cheated ) return; - if ( c.hcredits > 0 ) SWWMUtility.AchievementProgress('swwm_progress_dosh',1000000000,p); - else SWWMUtility.AchievementProgress('swwm_progress_dosh',c.credits,p); + if ( cheat ) return; + int curamt = swwm_progress_dosh; + if ( (hamount > 0) || (curamt+amount < curamt) || (curamt+amount >= 1000000000) ) + SWWMUtility.AchievementProgress('swwm_progress_dosh',1000000000,p); + else SWWMUtility.AchievementProgress('swwm_progress_dosh',curamt+amount,p); } static clearscope bool CanTake( PlayerInfo p, int amount, int hamount = 0 )