@@ -410,20 +410,31 @@ private static void CharacterMgr_OnDeactivate(CharacterMgr __instance, int f_nAc
410410 }
411411 }
412412
413+ // use character selection menu as trigger for certain scenes
413414 [ HarmonyPatch ( typeof ( CharacterSelectMain ) , nameof ( CharacterSelectMain . OnFinish ) ) ]
414415 [ HarmonyPostfix ]
415416 private static void CharacterSelectMain_OnFinish ( CharacterSelectMain __instance ) {
416- // honeymoon scene starts on initial character selection
417- if ( __instance . scene_chara_select_ . select_type == SceneCharacterSelect . SelectType . HoneymoonMode && __instance . select_maid_ != null && _activeCostumeScene != CostumeScene . Honeymoon ) {
417+ if ( __instance . select_maid_ == null ) {
418+ return ;
419+ }
420+
421+ switch ( __instance . scene_chara_select_ . select_type ) {
422+ case SceneCharacterSelect . SelectType . Yotogi :
423+ _activeCostumeScene = CostumeScene . YotogiTalk ;
424+ LogDebug ( $ "{ _activeCostumeScene } scene started.") ;
425+ SetCostume ( __instance . select_maid_ , CostumeScene . YotogiTalk , true ) ;
426+ break ;
427+ case SceneCharacterSelect . SelectType . HoneymoonMode :
428+ if ( _activeCostumeScene != CostumeScene . Honeymoon ) {
418429 _activeCostumeScene = CostumeScene . Honeymoon ;
419- if ( PersistentCostumeScenes . Contains ( _activeCostumeScene ) ) {
420430 LogDebug ( $ "{ _activeCostumeScene } scene started.") ;
421431 foreach ( var mpn in CostumeEdit . CostumeMpn ) {
422432 var prop = __instance . select_maid_ . GetProp ( mpn ) ;
423433 __instance . select_maid_ . ResetProp ( prop ) ;
424434 }
425435 SetCostume ( __instance . select_maid_ , CostumeScene . Honeymoon , true ) ;
426436 }
437+ break ;
427438 }
428439 }
429440
0 commit comments