From dc47dd3a42332005268e4d76a92e1abf5581b5ee Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Fri, 11 Mar 2022 18:49:54 +0100 Subject: [PATCH] Custom mission log clock support for lore library filters. --- language.version | 4 ++-- zscript/swwm_thinkers_player.zsc | 12 +++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/language.version b/language.version index 945c2b0c5..63f31c5c2 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.2pre r190 \cu(Fri 11 Mar 18:49:48 CET 2022)\c-"; -SWWM_SHORTVER="\cw1.2pre r190 \cu(2022-03-11 18:49:48)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.2pre r191 \cu(Fri 11 Mar 18:49:54 CET 2022)\c-"; +SWWM_SHORTVER="\cw1.2pre r191 \cu(2022-03-11 18:49:54)\c-"; diff --git a/zscript/swwm_thinkers_player.zsc b/zscript/swwm_thinkers_player.zsc index 41db05dad..0b3e4be35 100644 --- a/zscript/swwm_thinkers_player.zsc +++ b/zscript/swwm_thinkers_player.zsc @@ -443,13 +443,14 @@ Class SWWMLoreLibrary : Thinker static bool PreVerify( String ref ) { // restrictions - if ( !(gameinfo.gametype&GAME_Raven) ) + let mlog = SWWMMissionLog.Get(); + if ( !(gameinfo.gametype&GAME_Raven) && (!mlog || ((mlog.year < 2171) && (mlog.month < 3))) ) { if ( ref ~== "Parthoris" ) return true; if ( ref ~== "Sidhe" ) return true; if ( ref ~== "SerpentRiders" ) return true; } - if ( !(gameinfo.gametype&GAME_Hexen) ) + if ( !(gameinfo.gametype&GAME_Hexen) && (!mlog || ((mlog.year < 2171) && (mlog.month < 4))) ) { if ( ref ~== "Cronos" ) return true; if ( ref ~== "Kirin" ) return true; // not met @@ -499,7 +500,8 @@ Class SWWMLoreLibrary : Thinker String text = String.Format("SWWM_LORETXT_%s",ref); String assoc = String.Format("SWWM_LOREREL_%s",ref); // redirects - if ( gameinfo.gametype&GAME_Hexen ) + let mlog = SWWMMissionLog.Get(); + if ( (gameinfo.gametype&GAME_Hexen) || (mlog && (mlog.year >= 2171) && (mlog.month >= 4)) ) { if ( text ~== "SWWM_LORETXT_AKARIPROJECT" ) text = "SWWM_LORETXT_AKARIPROJECT3"; // mentions kirin @@ -542,7 +544,7 @@ Class SWWMLoreLibrary : Thinker else if ( text ~== "SWWM_LORETXT_ZANAVETH2" ) text = "SWWM_LORETXT_ZANAVETH22"; // met at wedding } - if ( gameinfo.gametype&GAME_Raven ) + if ( (gameinfo.gametype&GAME_Raven) || (mlog && (mlog.year >= 2171) && (mlog.month >= 3)) ) { if ( text ~== "SWWM_LORETXT_AKARIPROJECT" ) text = "SWWM_LORETXT_AKARIPROJECT2"; // fiction becomes reality @@ -557,7 +559,7 @@ Class SWWMLoreLibrary : Thinker else if ( text ~== "SWWM_LORETXT_UAC" ) text = "SWWM_LORETXT_UAC3"; // events of doom 64 and more } - if ( (gameinfo.gametype&GAME_Raven) || SWWMUtility.IsEviternity() ) + if ( (gameinfo.gametype&GAME_Raven) || SWWMUtility.IsEviternity() || (mlog && (mlog.year >= 2150) && (mlog.month >= 5)) ) { if ( text ~== "SWWM_LORETXT_AKARILABS" ) text = "SWWM_LORETXT_AKARILABS2"; // demo won, akari project announced