ghorsington 4 years ago
parent
commit
3743189028
137 changed files with 1541 additions and 406 deletions
  1. 5 5
      Assembly-CSharp.sln
  2. 2 2
      Assembly-CSharp/ADVKagManager.cs
  3. 2 1
      Assembly-CSharp/Assembly-CSharp.csproj
  4. 2 2
      Assembly-CSharp/BGWindow.cs
  5. 2 2
      Assembly-CSharp/BacklogCtrl.cs
  6. 47 11
      Assembly-CSharp/BaseKagManager.cs
  7. 1 1
      Assembly-CSharp/BasePhotoCustomObject.cs
  8. 1 1
      Assembly-CSharp/BasePhotoWindowManager.cs
  9. 1 1
      Assembly-CSharp/BgMgr.cs
  10. 20 0
      Assembly-CSharp/BipedIKCtrlData.cs
  11. 37 15
      Assembly-CSharp/CMSystem.cs
  12. 1 1
      Assembly-CSharp/CasinoItemUI.cs
  13. 1 1
      Assembly-CSharp/CharaSelectStatusMgr.cs
  14. 27 5
      Assembly-CSharp/CharacterMgr.cs
  15. 2 2
      Assembly-CSharp/CharacterSelectMain.cs
  16. 12 12
      Assembly-CSharp/ConfigManager.cs
  17. 1 1
      Assembly-CSharp/ConfigMgr.cs
  18. 2 2
      Assembly-CSharp/ControllerShortcutSettingData.cs
  19. 3 3
      Assembly-CSharp/ControllerShortcutWindow.cs
  20. 1 1
      Assembly-CSharp/CreateBGObjectSubWindow.cs
  21. 1 1
      Assembly-CSharp/DailyCtrl.cs
  22. 8 0
      Assembly-CSharp/DanceEnemyParam.cs
  23. 3 3
      Assembly-CSharp/DanceSelect.cs
  24. 1 1
      Assembly-CSharp/DanceSetting.cs
  25. 12 12
      Assembly-CSharp/DanceSubtitleMgr.cs
  26. 2 2
      Assembly-CSharp/DeskManager.cs
  27. 3 3
      Assembly-CSharp/DynamicBone.cs
  28. 1 1
      Assembly-CSharp/DynamicSkirtBone.cs
  29. 3 3
      Assembly-CSharp/Edit/MaidProfile.cs
  30. 1 1
      Assembly-CSharp/EditMod.cs
  31. 1 1
      Assembly-CSharp/EmpireLifeModeManager.cs
  32. 1 1
      Assembly-CSharp/ExChangeUI.cs
  33. 2 2
      Assembly-CSharp/FaceWindow.cs
  34. 1 1
      Assembly-CSharp/Facility.cs
  35. 1 1
      Assembly-CSharp/FacilityInfoUI.cs
  36. 1 1
      Assembly-CSharp/FacilityManager.cs
  37. 1 1
      Assembly-CSharp/FacilityUIPowerUpMaterialList.cs
  38. 1 1
      Assembly-CSharp/GameInShopMain.cs
  39. 7 7
      Assembly-CSharp/GameMain.cs
  40. 1 1
      Assembly-CSharp/GameModeManager.cs
  41. 390 9
      Assembly-CSharp/GameUty.cs
  42. 2 2
      Assembly-CSharp/HandSignShortcut.cs
  43. 4 1
      Assembly-CSharp/I2/Loc/Localize.cs
  44. 2 3
      Assembly-CSharp/Kasizuki/AppealData.cs
  45. 84 0
      Assembly-CSharp/Kasizuki/KasizukiMainMenu.cs
  46. 59 3
      Assembly-CSharp/Kasizuki/KasizukiManager.cs
  47. 5 5
      Assembly-CSharp/Kasizuki/KasizukiSaveAndLoadCtrl.cs
  48. 5 5
      Assembly-CSharp/Kasizuki/MaidAppealComment.cs
  49. 14 0
      Assembly-CSharp/Kasizuki/MaidDataType.cs
  50. 99 1
      Assembly-CSharp/Kasizuki/MaidLikabilityCtrl.cs
  51. 3 3
      Assembly-CSharp/Kasizuki/MaidMiniStatusCtrl.cs
  52. 16 1
      Assembly-CSharp/Kasizuki/ManDataType.cs
  53. 2 2
      Assembly-CSharp/Kasizuki/PlayData.cs
  54. 2 2
      Assembly-CSharp/Kasizuki/RoomData.cs
  55. 82 7
      Assembly-CSharp/KupaCtrl.cs
  56. 7 7
      Assembly-CSharp/Maid.cs
  57. 2 2
      Assembly-CSharp/MaidManagementMain.cs
  58. 1 1
      Assembly-CSharp/MaidParts.cs
  59. 3 3
      Assembly-CSharp/MaidPlate.cs
  60. 1 1
      Assembly-CSharp/MaidProp.cs
  61. 3 3
      Assembly-CSharp/MaidRandomName.cs
  62. 4 4
      Assembly-CSharp/MaidStatus/Status.cs
  63. 9 7
      Assembly-CSharp/MaidStatus/SubMaid.cs
  64. 1 1
      Assembly-CSharp/Menu.cs
  65. 3 3
      Assembly-CSharp/MessageClass.cs
  66. 2 2
      Assembly-CSharp/MessageWindowCtrl.cs
  67. 7 1
      Assembly-CSharp/Misc.cs
  68. 1 1
      Assembly-CSharp/ModCompile.cs
  69. 2 2
      Assembly-CSharp/MotionWindow.cs
  70. 1 1
      Assembly-CSharp/MyRoomCustom/CreativeRoom.cs
  71. 1 1
      Assembly-CSharp/NGUIText.cs
  72. 1 1
      Assembly-CSharp/ObjectManagerWindow.cs
  73. 2 2
      Assembly-CSharp/OnHoverTaskIcon.cs
  74. 1 1
      Assembly-CSharp/OvrHandItemMgr.cs
  75. 2 2
      Assembly-CSharp/OvrIK.cs
  76. 1 1
      Assembly-CSharp/PhotoModeSaveAndLoad.cs
  77. 2 2
      Assembly-CSharp/PlayerStatus/Status.cs
  78. 1 1
      Assembly-CSharp/PopupAndButtonList.cs
  79. 1 1
      Assembly-CSharp/PopupAndTabList.cs
  80. 2 2
      Assembly-CSharp/PositionStoreForLocalize.cs
  81. 1 1
      Assembly-CSharp/PresetCtrl.cs
  82. 58 46
      Assembly-CSharp/Product.cs
  83. 7 7
      Assembly-CSharp/ProfileCtrl.cs
  84. 3 3
      Assembly-CSharp/RandomPresetCtrl.cs
  85. 2 2
      Assembly-CSharp/SaveAndLoadCtrl.cs
  86. 1 1
      Assembly-CSharp/SceneCasinoShop.cs
  87. 8 8
      Assembly-CSharp/SceneEdit.cs
  88. 1 1
      Assembly-CSharp/SceneEditInfo.cs
  89. 1 1
      Assembly-CSharp/SceneEditNameSettingPanel.cs
  90. 4 4
      Assembly-CSharp/SceneEditWindow/UndressWindow.cs
  91. 1 1
      Assembly-CSharp/SceneFreeModeSelectManager.cs
  92. 3 3
      Assembly-CSharp/SceneLogo.cs
  93. 1 1
      Assembly-CSharp/SceneNPCEdit/SaveData.cs
  94. 1 1
      Assembly-CSharp/SceneNetorareCheck.cs
  95. 7 1
      Assembly-CSharp/SceneTrophyCardFade.cs
  96. 2 2
      Assembly-CSharp/SceneWarning.cs
  97. 1 1
      Assembly-CSharp/Schedule/ResultYotogiTask.cs
  98. 1 1
      Assembly-CSharp/Schedule/ScheduleCSVData.cs
  99. 3 3
      Assembly-CSharp/ScheduleCtrl.cs
  100. 1 1
      Assembly-CSharp/ScheduleMaidStatusUnit.cs
  101. 12 1
      Assembly-CSharp/Score_Mgr.cs
  102. 114 2
      Assembly-CSharp/ScriptManager.cs
  103. 3 3
      Assembly-CSharp/ShopItem.cs
  104. 4 4
      Assembly-CSharp/SimpleMaidPlate.cs
  105. 9 0
      Assembly-CSharp/StaffRollImageCtrl.cs
  106. 23 2
      Assembly-CSharp/StaffRollScroll.cs
  107. 2 2
      Assembly-CSharp/StatusCtrl.cs
  108. 1 1
      Assembly-CSharp/SystemShortcut.cs
  109. 4 4
      Assembly-CSharp/TBody.cs
  110. 26 2
      Assembly-CSharp/TBodySkin.cs
  111. 3 3
      Assembly-CSharp/TaskUnit.cs
  112. 1 1
      Assembly-CSharp/TatooAlphaWindow.cs
  113. 11 4
      Assembly-CSharp/TitleCtrl.cs
  114. 7 7
      Assembly-CSharp/TouchAction_Mgr.cs
  115. 16 0
      Assembly-CSharp/Trophy.cs
  116. 1 1
      Assembly-CSharp/TrophyAchieveEffect.cs
  117. 7 1
      Assembly-CSharp/TrophyInfo.cs
  118. 5 5
      Assembly-CSharp/UIStates.cs
  119. 2 2
      Assembly-CSharp/UIWFConditionList.cs
  120. 1 1
      Assembly-CSharp/UndressDance_Mgr.cs
  121. 6 0
      Assembly-CSharp/UndressingWindow.cs
  122. 1 1
      Assembly-CSharp/WindowPartsFingerPreset.cs
  123. 5 1
      Assembly-CSharp/WindowPartsMekureCheckBox.cs
  124. 2 2
      Assembly-CSharp/YotogiClassListManager.cs
  125. 3 3
      Assembly-CSharp/YotogiCommandFactory.cs
  126. 7 4
      Assembly-CSharp/YotogiParamScroll.cs
  127. 1 1
      Assembly-CSharp/YotogiParameterViewer.cs
  128. 15 18
      Assembly-CSharp/YotogiPlayManager.cs
  129. 1 1
      Assembly-CSharp/YotogiResultManager.cs
  130. 7 22
      Assembly-CSharp/YotogiSkillContainerViewer.cs
  131. 2 2
      Assembly-CSharp/YotogiSkillListManager.cs
  132. 74 0
      Assembly-CSharp/YotogiSkillNameHoverPlate.cs
  133. 1 1
      Assembly-CSharp/YotogiSkillSelectManager.cs
  134. 1 1
      Assembly-CSharp/YotogiSkillUnit.cs
  135. 1 1
      Assembly-CSharp/YotogiStageUnit.cs
  136. 1 1
      Assembly-CSharp/Yotogis/SkillAcquisitionCondition.cs
  137. 2 2
      Assembly-CSharp/wf/Utility.cs

+ 5 - 5
Assembly-CSharp.sln

@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio 15
 VisualStudioVersion = 15.0.26228.4
 MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp\Assembly-CSharp.csproj", "{62B6F04D-209C-4C6D-BF5B-F902DD05810A}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp\Assembly-CSharp.csproj", "{C0AFCF01-96DA-41AB-992D-325EA140DA40}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11,10 +11,10 @@ Global
 		Release|Any CPU = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{62B6F04D-209C-4C6D-BF5B-F902DD05810A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{62B6F04D-209C-4C6D-BF5B-F902DD05810A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{62B6F04D-209C-4C6D-BF5B-F902DD05810A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{62B6F04D-209C-4C6D-BF5B-F902DD05810A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C0AFCF01-96DA-41AB-992D-325EA140DA40}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C0AFCF01-96DA-41AB-992D-325EA140DA40}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C0AFCF01-96DA-41AB-992D-325EA140DA40}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C0AFCF01-96DA-41AB-992D-325EA140DA40}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 2 - 2
Assembly-CSharp/ADVKagManager.cs

@@ -334,7 +334,7 @@ public class ADVKagManager : BaseKagManager
 		});
 		string label = tag_data.GetTagProperty("label").AsString();
 		string text = tag_data.GetTagProperty("term").AsString();
-		if (string.IsNullOrEmpty(text) || !Product.AEWDA)
+		if (string.IsNullOrEmpty(text) || !Product.supportMultiLanguage)
 		{
 			GameMain.Instance.SysDlg.Show(tag_data.GetTagProperty("text").AsString(), SystemDialog.TYPE.OK, delegate
 			{
@@ -359,7 +359,7 @@ public class ADVKagManager : BaseKagManager
 	{
 		Action<string, string> onClickCallBack = delegate(string choices_title, string label_name)
 		{
-			if (!Product.AEWDA)
+			if (!Product.supportMultiLanguage)
 			{
 				string text = "=> " + choices_title;
 				this.message_mgr_.AddBackLog(string.Empty, text, string.Empty, 0, AudioSourceMgr.Type.VoiceHeroine);

+ 2 - 1
Assembly-CSharp/Assembly-CSharp.csproj

@@ -4,7 +4,7 @@
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{62B6F04D-209C-4C6D-BF5B-F902DD05810A}</ProjectGuid>
+    <ProjectGuid>{C0AFCF01-96DA-41AB-992D-325EA140DA40}</ProjectGuid>
     <OutputType>Library</OutputType>
     <RootNamespace>Assembly-CSharp</RootNamespace>
     <AssemblyName>Assembly-CSharp</AssemblyName>
@@ -1628,6 +1628,7 @@
     <Compile Include="YotogiSkillIconDrag.cs" />
     <Compile Include="YotogiSkillListManager.cs" />
     <Compile Include="YotogiSkillLockUnit.cs" />
+    <Compile Include="YotogiSkillNameHoverPlate.cs" />
     <Compile Include="YotogiSkillSelectManager.cs" />
     <Compile Include="YotogiSkillSelectSpecialCondition.cs" />
     <Compile Include="YotogiSkillSelectWaitMotion.cs" />

+ 2 - 2
Assembly-CSharp/BGWindow.cs

@@ -24,14 +24,14 @@ public class BGWindow : BaseMaidPhotoWindow
 				dictionary[keyValuePair.Key].Add(keyValuePair.Value[i].nameTerm);
 			}
 		}
-		if (!Product.AEWDA)
+		if (!Product.supportMultiLanguage)
 		{
 			dictionary = null;
 		}
 		this.PopupAndTabList.SetData(dictionary2, dictionary, false);
 		this.PopupAndTabList.onChangePopUpListValue.Add(new Action<KeyValuePair<string, UnityEngine.Object>>(this.OnChangePopUpList));
 		this.PopupAndTabList.onSelect.Add(new Action<object>(this.OnSelectItem));
-		this.PopupAndTabList.popup_term_list = ((!Product.AEWDA) ? null : PhotoBGData.popup_category_term_list);
+		this.PopupAndTabList.popup_term_list = ((!Product.supportMultiLanguage) ? null : PhotoBGData.popup_category_term_list);
 		this.PopupAndTabList.popup_value_list = PhotoBGData.popup_category_list;
 		this.CheckSolidColor.onClick.Add(new Action<WFCheckBox>(this.OnClickCheckSolidColorCheckBox));
 		this.ColorInput.onChangeValue.Add(new Action<WindowPartsInputColorrPalette, Color>(this.OnChangeValueColorInput));

+ 2 - 2
Assembly-CSharp/BacklogCtrl.cs

@@ -42,7 +42,7 @@ public class BacklogCtrl : MonoBehaviour
 				gameObject.transform.localScale = Vector3.one;
 				gameObject.transform.localPosition = Vector3.zero;
 				gameObject.transform.rotation = Quaternion.identity;
-				if (!Product.AEWDA)
+				if (!Product.supportMultiLanguage)
 				{
 					UILabel component2 = UTY.GetChildObject(gameObject, "SpeakerName", false).GetComponent<UILabel>();
 					component2.text = backlogUnit.m_speakerName;
@@ -58,7 +58,7 @@ public class BacklogCtrl : MonoBehaviour
 				}
 			}
 		}
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			if (SubtitleDisplayManager.configDisplayType == SubtitleDisplayManager.DisplayType.OriginalAndSubtitle)
 			{

+ 47 - 11
Assembly-CSharp/BaseKagManager.cs

@@ -1038,6 +1038,11 @@ public class BaseKagManager : IDisposable
 		{
 			do_animation = true;
 		}
+		if (ikattachType == IKCtrlData.IKAttachType.NewPoint && ikdata is BipedIKCtrlData)
+		{
+			BipedIKCtrlData bipedIKCtrlData = ikdata as BipedIKCtrlData;
+			bipedIKCtrlData.SetPullState(!tag_data.IsValid("pull_off"));
+		}
 		maidAndMan.IKTargetToAttachPoint(text, maidAndMan2, tgt_name, attachpoint_name, zero, ikattachType, axisbone, do_animation, false);
 		return false;
 	}
@@ -1132,6 +1137,11 @@ public class BaseKagManager : IDisposable
 		{
 			do_animation = true;
 		}
+		if (ikattachType == IKCtrlData.IKAttachType.NewPoint && ikdata is BipedIKCtrlData)
+		{
+			BipedIKCtrlData bipedIKCtrlData = ikdata as BipedIKCtrlData;
+			bipedIKCtrlData.SetPullState(!tag_data.IsValid("pull_off"));
+		}
 		maidAndMan.IKTargetToBone(text, maidAndMan2, tgtbone_name, zero, ikattachType, search_sm, do_animation, false);
 		return false;
 	}
@@ -1270,6 +1280,11 @@ public class BaseKagManager : IDisposable
 		{
 			do_animation = true;
 		}
+		if (ikattachType == IKCtrlData.IKAttachType.NewPoint && ikdata is BipedIKCtrlData)
+		{
+			BipedIKCtrlData bipedIKCtrlData = ikdata as BipedIKCtrlData;
+			bipedIKCtrlData.SetPullState(!tag_data.IsValid("pull_off"));
+		}
 		maidAndMan.IKTargetToOdogu(text, odogu_name, tgt_name, zero, ikattachType, do_animation, false);
 		return false;
 	}
@@ -1359,6 +1374,11 @@ public class BaseKagManager : IDisposable
 			}
 		}
 		bool do_animation = tag_data.IsValid("do_animation");
+		if (ikattachType == IKCtrlData.IKAttachType.NewPoint && ikdata is BipedIKCtrlData)
+		{
+			BipedIKCtrlData bipedIKCtrlData = ikdata as BipedIKCtrlData;
+			bipedIKCtrlData.SetPullState(!tag_data.IsValid("pull_off"));
+		}
 		maidAndMan.IKTargetToIKBone(text, maidAndMan2, bone_name, zero, ikattachType, do_animation, false);
 		return false;
 	}
@@ -1670,6 +1690,11 @@ public class BaseKagManager : IDisposable
 		{
 			do_animation = true;
 		}
+		if (ikattachType == IKCtrlData.IKAttachType.NewPoint && ikdata is BipedIKCtrlData)
+		{
+			BipedIKCtrlData bipedIKCtrlData = ikdata as BipedIKCtrlData;
+			bipedIKCtrlData.SetPullState(!tag_data.IsValid("pull_off"));
+		}
 		maidAndMan.IKTargetToAttachPoint(text, maidAndMan2, tgt_name, attachpoint_name, zero, ikattachType, axisbone, do_animation, true);
 		return false;
 	}
@@ -1764,6 +1789,11 @@ public class BaseKagManager : IDisposable
 		{
 			do_animation = true;
 		}
+		if (ikattachType == IKCtrlData.IKAttachType.NewPoint && ikdata is BipedIKCtrlData)
+		{
+			BipedIKCtrlData bipedIKCtrlData = ikdata as BipedIKCtrlData;
+			bipedIKCtrlData.SetPullState(!tag_data.IsValid("pull_off"));
+		}
 		maidAndMan.IKTargetToBone(text, maidAndMan2, tgtbone_name, zero, ikattachType, search_sm, do_animation, true);
 		return false;
 	}
@@ -1860,6 +1890,11 @@ public class BaseKagManager : IDisposable
 		{
 			do_animation = true;
 		}
+		if (ikattachType == IKCtrlData.IKAttachType.NewPoint && ikdata is BipedIKCtrlData)
+		{
+			BipedIKCtrlData bipedIKCtrlData = ikdata as BipedIKCtrlData;
+			bipedIKCtrlData.SetPullState(!tag_data.IsValid("pull_off"));
+		}
 		maidAndMan.IKTargetToOdogu(text, odogu_name, tgt_name, zero, ikattachType, do_animation, true);
 		return false;
 	}
@@ -1949,6 +1984,11 @@ public class BaseKagManager : IDisposable
 			}
 		}
 		bool do_animation = tag_data.IsValid("do_animation");
+		if (ikattachType == IKCtrlData.IKAttachType.NewPoint && ikdata is BipedIKCtrlData)
+		{
+			BipedIKCtrlData bipedIKCtrlData = ikdata as BipedIKCtrlData;
+			bipedIKCtrlData.SetPullState(!tag_data.IsValid("pull_off"));
+		}
 		maidAndMan.IKTargetToIKBone(text, maidAndMan2, bone_name, zero, ikattachType, do_animation, true);
 		return false;
 	}
@@ -3240,7 +3280,7 @@ public class BaseKagManager : IDisposable
 
 	public bool TagChinSlide(KagTagSupport tag_data)
 	{
-		if (!Product.DOPLGBNE || Product.FDAWBW)
+		if (!Product.isEnglish || Product.isPublic)
 		{
 			return false;
 		}
@@ -4884,10 +4924,11 @@ public class BaseKagManager : IDisposable
 
 	public bool TagLoadSubtitleFile(KagTagSupport tag_data)
 	{
-		if (!Product.AEWDA)
+		if (!Product.supportMultiLanguage)
 		{
 			return false;
 		}
+		SubtitleMovieManager.DestroyGlobalInstance();
 		this.CheckAbsolutelyNecessaryTag(tag_data, "loadsubtitlefile", new string[]
 		{
 			"file"
@@ -4908,7 +4949,7 @@ public class BaseKagManager : IDisposable
 
 	public bool TagSubtitleDisplayForPlayVoice(KagTagSupport tag_data)
 	{
-		if (!Product.AEWDA)
+		if (!Product.supportMultiLanguage)
 		{
 			return false;
 		}
@@ -4932,7 +4973,7 @@ public class BaseKagManager : IDisposable
 
 	public bool TagSubtitleDisplay(KagTagSupport tag_data)
 	{
-		if (!Product.AEWDA)
+		if (!Product.supportMultiLanguage)
 		{
 			return false;
 		}
@@ -4951,7 +4992,7 @@ public class BaseKagManager : IDisposable
 
 	public bool TagKupa(KagTagSupport tag_data)
 	{
-		if (!Product.DOPLGBNE || Product.FDAWBW)
+		if (!Product.isEnglish || Product.isPublic)
 		{
 			return false;
 		}
@@ -4965,11 +5006,6 @@ public class BaseKagManager : IDisposable
 				{
 					list.Add(tbodySkin.kupaCtrl);
 				}
-				tbodySkin = maid.body0.goSlot[57];
-				if (tbodySkin != null && tbodySkin.kupaCtrl != null)
-				{
-					list.Add(tbodySkin.kupaCtrl);
-				}
 			}
 		};
 		if (tag_data.IsValid("maid") || tag_data.IsValid("man"))
@@ -5374,7 +5410,7 @@ public class BaseKagManager : IDisposable
 	public void Serialize(BinaryWriter binary)
 	{
 		binary.Write("CM3D2_KAG");
-		binary.Write(1280);
+		binary.Write(1290);
 		byte[] array = this.kag_.Serialize();
 		int value = array.Length;
 		binary.Write(value);

+ 1 - 1
Assembly-CSharp/BasePhotoCustomObject.cs

@@ -173,7 +173,7 @@ public abstract class BasePhotoCustomObject : MonoBehaviour, IComparable<BasePho
 			using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream))
 			{
 				binaryWriter.Write("COM3D2_PHOTO_CUSTOM_OBJECT");
-				binaryWriter.Write(1280);
+				binaryWriter.Write(1290);
 				binaryWriter.Write(this.type.ToString());
 				binaryWriter.Write(this.scale_);
 				binaryWriter.Write(this.enabledTextureColor_);

+ 1 - 1
Assembly-CSharp/BasePhotoWindowManager.cs

@@ -153,7 +153,7 @@ public abstract class BasePhotoWindowManager : MonoBehaviour
 			using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream))
 			{
 				binaryWriter.Write(this.save_header_uidata);
-				binaryWriter.Write(1280);
+				binaryWriter.Write(1290);
 				binaryWriter.Write(this.save_data_.Count);
 				foreach (KeyValuePair<string, Dictionary<string, Dictionary<string, string>>> keyValuePair3 in this.save_data_)
 				{

+ 1 - 1
Assembly-CSharp/BgMgr.cs

@@ -322,7 +322,7 @@ public class BgMgr : MonoBehaviour
 			}
 			return gameObject3;
 		};
-		if (Product.DOPLGBNE && !Product.FDAWBW)
+		if (Product.isEnglish && !Product.isPublic)
 		{
 			gameObject = func(f_strSrc + "_en", f_strName);
 		}

+ 20 - 0
Assembly-CSharp/BipedIKCtrlData.cs

@@ -248,6 +248,22 @@ public class BipedIKCtrlData : IKCtrlData
 		}
 	}
 
+	public void SetPullState(bool pull_on)
+	{
+		if (this.m_OrijinPull < 0f)
+		{
+			this.m_OrijinPull = this.Chain.pull;
+		}
+		if (pull_on)
+		{
+			this.Chain.pull = this.m_OrijinPull;
+		}
+		else
+		{
+			this.Chain.pull = 0.1f;
+		}
+	}
+
 	public override void SetIKSetting(IKCtrlData.IKAttachType attachType, bool is_next, Maid tgt_maid, int slot_no, string attach_name, Transform axis_bone, Transform target, Vector3 f_vecOffset, bool do_animation = false)
 	{
 		base.SetIKSetting(attachType, is_next, tgt_maid, slot_no, attach_name, axis_bone, target, f_vecOffset, do_animation);
@@ -294,6 +310,8 @@ public class BipedIKCtrlData : IKCtrlData
 		this.m_lastRootPosRot.Copy(this.m_RootBoneTgtPair.Bone);
 	}
 
+	private const float PULL_MIN_VALUE = 0.1f;
+
 	private IKCtrlData.BoneTgtPair m_BoneBendGoal;
 
 	private IKCtrlData.PosRotPair m_lastBendPosRot = new IKCtrlData.PosRotPair();
@@ -304,6 +322,8 @@ public class BipedIKCtrlData : IKCtrlData
 
 	private IKCtrlData.PosRotPair m_lastRootPosRot = new IKCtrlData.PosRotPair();
 
+	private float m_OrijinPull = -1f;
+
 	[Header("壁・床補正情報")]
 	public BipedIKCtrlData.BorderCorrectData WallCorrect = new BipedIKCtrlData.BorderCorrectData(Vector3.forward);
 

+ 37 - 15
Assembly-CSharp/CMSystem.cs

@@ -177,15 +177,15 @@ public class CMSystem
 
 	public bool MsgVoiceNoStop { get; set; }
 
-	public Product.JQOVNMDS SystemLanguage
+	public Product.Language SystemLanguage
 	{
 		get
 		{
-			return Product.OUIWEHVA;
+			return Product.systemLanguage;
 		}
 		set
 		{
-			Product.OUIWEHVA = value;
+			Product.systemLanguage = value;
 		}
 	}
 
@@ -197,7 +197,7 @@ public class CMSystem
 		}
 		set
 		{
-			this.m_SubtitleType = ((!Product.AEWDA) ? SubtitleDisplayManager.DisplayType.Subtitle : value);
+			this.m_SubtitleType = ((!Product.supportMultiLanguage) ? SubtitleDisplayManager.DisplayType.Subtitle : value);
 		}
 	}
 
@@ -209,7 +209,7 @@ public class CMSystem
 		}
 		set
 		{
-			this.m_YotogiSubtitleVisible = (!Product.AEWDA || value);
+			this.m_YotogiSubtitleVisible = (!Product.supportMultiLanguage || value);
 		}
 	}
 
@@ -644,13 +644,35 @@ public class CMSystem
 		get
 		{
 			string text = "https://com3d2-shop.s-court.me/?ctv=1";
-			if (!string.IsNullOrEmpty(this.CM3D2Path))
+			Product.Type type = Product.type;
+			if (type != Product.Type.JpPublic)
 			{
-				text += "&cmd=1";
+				if (type != Product.Type.EnAdult)
+				{
+					if (type == Product.Type.EnPublic)
+					{
+						text = string.Empty;
+					}
+				}
+				else
+				{
+					text = string.Empty;
+				}
 			}
 			else
 			{
-				text += "&cmd=0";
+				text = string.Empty;
+			}
+			if (Product.type == Product.Type.JpAdult)
+			{
+				if (!string.IsNullOrEmpty(this.CM3D2Path))
+				{
+					text += "&cmd=1";
+				}
+				else
+				{
+					text += "&cmd=0";
+				}
 			}
 			return text;
 		}
@@ -833,7 +855,7 @@ public class CMSystem
 	{
 		XElement xelement = new XElement("Config", new object[]
 		{
-			new XAttribute("Version", 1280),
+			new XAttribute("Version", 1290),
 			new XElement("System", new XElement("SysButtonShowAlways", this.SysButtonShowAlways)),
 			new XElement("Screen", new object[]
 			{
@@ -881,7 +903,7 @@ public class CMSystem
 				new XElement("QuitWhenAssert", this.QuitWhenAssert)
 			})
 		});
-		if (!Product.AEWDA)
+		if (!Product.supportMultiLanguage)
 		{
 			XElement xelement2 = xelement.Element("Message");
 			if (xelement2 != null)
@@ -992,11 +1014,11 @@ public class CMSystem
 				this.MsgVoiceNoStop = bool.Parse(this.getElemetn(xelm3, "MsgVoiceNoStop", "true").Value);
 				try
 				{
-					this.SystemLanguage = (Product.JQOVNMDS)Enum.Parse(typeof(Product.JQOVNMDS), this.getElemetn(xelm3, "SystemLanguage", Product.POEWBBA.ToString()).Value);
+					this.SystemLanguage = (Product.Language)Enum.Parse(typeof(Product.Language), this.getElemetn(xelm3, "SystemLanguage", Product.defaultLanguage.ToString()).Value);
 				}
 				catch (Exception)
 				{
-					this.SystemLanguage = Product.POEWBBA;
+					this.SystemLanguage = Product.defaultLanguage;
 				}
 				try
 				{
@@ -1181,7 +1203,7 @@ public class CMSystem
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("CM3D2_SYSTEM2");
-		binaryWriter.Write(1280);
+		binaryWriter.Write(1290);
 		binaryWriter.Write(this.m_dicEditColorPresetData.Count);
 		foreach (KeyValuePair<int, Dictionary<string, int>> keyValuePair in this.m_dicEditColorPresetData)
 		{
@@ -1815,7 +1837,7 @@ public class CMSystem
 
 		public void OnBeforeSerialize()
 		{
-			this.m_nVersion = 1280;
+			this.m_nVersion = 1290;
 		}
 
 		public void OnAfterDeserialize()
@@ -1823,7 +1845,7 @@ public class CMSystem
 		}
 
 		[SerializeField]
-		private int m_nVersion = 1280;
+		private int m_nVersion = 1290;
 
 		[SerializeField]
 		private string m_strDShowFilter = "Microsoft DTV-DVD Video Decoder";

+ 1 - 1
Assembly-CSharp/CasinoItemUI.cs

@@ -40,7 +40,7 @@ public class CasinoItemUI : MonoBehaviour
 			this.m_ItemData.Name,
 			Utility.ConvertMoneyText(this.m_ItemData.Price)
 		};
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			array[0] = LocalizationManager.GetTranslation(this.m_ItemData.NameTerm, true, 0, true, false, null, null);
 		}

+ 1 - 1
Assembly-CSharp/CharaSelectStatusMgr.cs

@@ -5,7 +5,7 @@ public class CharaSelectStatusMgr : StatusMgr
 {
 	public override void Init()
 	{
-		this.m_ctrl = (Product.AEWDA ? this.statusLocalizeCtrl : this.statusCtrl);
+		this.m_ctrl = (Product.supportMultiLanguage ? this.statusLocalizeCtrl : this.statusCtrl);
 		this.m_goPanel = this.m_ctrl.gameObject;
 		this.m_ctrl.Init(this, this.m_goPanel);
 		this.m_goPanel.SetActive(false);

+ 27 - 5
Assembly-CSharp/CharacterMgr.cs

@@ -3,6 +3,7 @@ using System.Collections.Generic;
 using System.IO;
 using System.Linq;
 using System.Text;
+using I2.Loc;
 using MaidStatus;
 using PlayerStatus;
 using SceneNPCEdit;
@@ -990,7 +991,7 @@ public class CharacterMgr : MonoBehaviour
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		string result = string.Empty;
 		binaryWriter.Write("CM3D2_PRESET_S");
-		binaryWriter.Write(1280);
+		binaryWriter.Write(1290);
 		binaryWriter.Write((char)presset_type);
 		maid.SerializePropLowCapacity(binaryWriter);
 		maid.SerializeMultiColor(binaryWriter);
@@ -1007,7 +1008,7 @@ public class CharacterMgr : MonoBehaviour
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("CM3D2_PRESET");
-		binaryWriter.Write(1280);
+		binaryWriter.Write(1290);
 		binaryWriter.Write((int)f_type);
 		if (texture2D != null)
 		{
@@ -1053,7 +1054,7 @@ public class CharacterMgr : MonoBehaviour
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("CM3D2_PRESET");
-		binaryWriter.Write(1280);
+		binaryWriter.Write(1290);
 		binaryWriter.Write((int)f_type);
 		if (texture2D != null)
 		{
@@ -1306,7 +1307,7 @@ public class CharacterMgr : MonoBehaviour
 				f_maid.Parts.SetPartsColor((MaidParts.PARTS_COLOR)k, f_prest.aryPartsColor[k]);
 			}
 		}
-		if (Product.FDAWBW)
+		if (Product.isPublic)
 		{
 			f_maid.SetProp(MPN.bra, "bra030_i_.menu", 0, false, false);
 			f_maid.SetProp(MPN.panz, "Pants030_i_.menu", 0, false, false);
@@ -1317,7 +1318,7 @@ public class CharacterMgr : MonoBehaviour
 	public bool Serialize(BinaryWriter bwWrite)
 	{
 		bwWrite.Write("CM3D2_CHR_MGR");
-		bwWrite.Write(1280);
+		bwWrite.Write(1290);
 		this.m_PlayerStatus.Serialize(bwWrite);
 		bwWrite.Write(this.m_listStockMan.Count);
 		for (int i = 0; i < this.m_listStockMan.Count; i++)
@@ -1493,6 +1494,22 @@ public class CharacterMgr : MonoBehaviour
 			NDebug.Assert(string.IsNullOrEmpty(this.presetFileName) || string.IsNullOrEmpty(this.menuFileName), "プリセットとメニューファイル両方が指定されています");
 		}
 
+		public string firstNameTerm
+		{
+			get
+			{
+				return "SubMaid/" + this.uniqueName + "/名前";
+			}
+		}
+
+		public string lastNameTerm
+		{
+			get
+			{
+				return "SubMaid/" + this.uniqueName + "/苗字";
+			}
+		}
+
 		public void Apply(Maid maid, bool onlyPartsLoad = false)
 		{
 			if (maid == null || GameMain.Instance.CharacterMgr == null)
@@ -1508,6 +1525,11 @@ public class CharacterMgr : MonoBehaviour
 				{
 					maid.status.firstName = this.firstName;
 					maid.status.lastName = this.lastName;
+					if (Product.supportMultiLanguage)
+					{
+						maid.status.firstName = LocalizationManager.GetTranslation(this.firstNameTerm, true, 0, true, false, null, Product.EnumConvert.ToI2LocalizeLanguageName(Product.defaultLanguage));
+						maid.status.lastName = LocalizationManager.GetTranslation(this.lastNameTerm, true, 0, true, false, null, Product.EnumConvert.ToI2LocalizeLanguageName(Product.defaultLanguage));
+					}
 				}
 				CharacterMgr.Preset preset = SaveData.GetPreset(this);
 				if (preset != null)

+ 2 - 2
Assembly-CSharp/CharacterSelectMain.cs

@@ -177,7 +177,7 @@ public class CharacterSelectMain : WfScreenChildren
 			}
 			else
 			{
-				explanatoryLabel = (Product.FDAWBW ? "メイドを選択してください。" : "夜伽を行うメイドを選択してください。");
+				explanatoryLabel = (Product.isPublic ? "メイドを選択してください。" : "夜伽を行うメイドを選択してください。");
 			}
 			this.SetExplanatoryLabel(explanatoryLabel);
 			if (!this.auto_select_)
@@ -677,7 +677,7 @@ public class CharacterSelectMain : WfScreenChildren
 			if (this.scene_chara_select_.select_type == SceneCharacterSelect.SelectType.Yotogi || this.scene_chara_select_.select_type == SceneCharacterSelect.SelectType.NewYotogi)
 			{
 				string messageTerm = "Dialog/まだ夜伽を実行していないメイドがいます。夜伽を終了しますか?";
-				if (Product.FDAWBW)
+				if (Product.isPublic)
 				{
 					messageTerm = "Dialog/まだ会話を実行していないメイドがいます。会話を終了しますか?";
 				}

+ 12 - 12
Assembly-CSharp/ConfigManager.cs

@@ -45,7 +45,7 @@ public class ConfigManager : MonoBehaviour
 		{
 			key.repositionNow = true;
 		}
-		if (!Product.AEWDA)
+		if (!Product.supportMultiLanguage)
 		{
 			this.systemFrame.height -= 72;
 		}
@@ -115,7 +115,7 @@ public class ConfigManager : MonoBehaviour
 		{
 			GameMain.Instance.CMSystem.EjaculationSeEnabled = setValue;
 		};
-		if (Product.FDAWBW)
+		if (Product.isPublic)
 		{
 			this.ejaculationSe.gameObject.SetActive(false);
 		}
@@ -125,7 +125,7 @@ public class ConfigManager : MonoBehaviour
 		{
 			GameMain.Instance.CMSystem.YotogiSubtitleVisible = setValue;
 		};
-		if (!Product.AEWDA)
+		if (!Product.supportMultiLanguage || Product.isPublic)
 		{
 			this.yotogiSubtitleVisible.gameObject.SetActive(false);
 		}
@@ -162,7 +162,7 @@ public class ConfigManager : MonoBehaviour
 		});
 		if (this.subtitleType != null)
 		{
-			if (Product.AEWDA)
+			if (Product.supportMultiLanguage)
 			{
 				IEnumerator enumerator2 = Enum.GetValues(typeof(SubtitleDisplayManager.DisplayType)).GetEnumerator();
 				try
@@ -226,15 +226,15 @@ public class ConfigManager : MonoBehaviour
 		}
 		if (this.systemLanguage != null)
 		{
-			if (Product.AEWDA)
+			if (Product.supportMultiLanguage)
 			{
-				IEnumerator enumerator3 = Enum.GetValues(typeof(Product.JQOVNMDS)).GetEnumerator();
+				IEnumerator enumerator3 = Enum.GetValues(typeof(Product.Language)).GetEnumerator();
 				try
 				{
 					while (enumerator3.MoveNext())
 					{
 						object obj2 = enumerator3.Current;
-						this.systemLanguage.AddItem(Product.EnumConvert.LAWEFV((Product.JQOVNMDS)obj2));
+						this.systemLanguage.AddItem(Product.EnumConvert.GetTerm((Product.Language)obj2));
 					}
 				}
 				finally
@@ -248,16 +248,16 @@ public class ConfigManager : MonoBehaviour
 				EventDelegate.Add(this.systemLanguage.onChange, delegate()
 				{
 					string currentPopupListValue = this.GetCurrentPopupListValue();
-					IEnumerator enumerator4 = Enum.GetValues(typeof(Product.JQOVNMDS)).GetEnumerator();
+					IEnumerator enumerator4 = Enum.GetValues(typeof(Product.Language)).GetEnumerator();
 					try
 					{
 						while (enumerator4.MoveNext())
 						{
 							object obj3 = enumerator4.Current;
-							string b = Product.EnumConvert.LAWEFV((Product.JQOVNMDS)obj3);
-							if (currentPopupListValue == b)
+							string term = Product.EnumConvert.GetTerm((Product.Language)obj3);
+							if (currentPopupListValue == term)
 							{
-								GameMain.Instance.CMSystem.SystemLanguage = (Product.JQOVNMDS)obj3;
+								GameMain.Instance.CMSystem.SystemLanguage = (Product.Language)obj3;
 								break;
 							}
 						}
@@ -375,7 +375,7 @@ public class ConfigManager : MonoBehaviour
 		this.shadowQuality.value = GameMain.Instance.CMSystem.ShadowQuality.ToString();
 		this.textureQuality.value = GameMain.Instance.CMSystem.TextureQuality.ToString();
 		this.subtitleType.value = SubtitleDisplayManager.EnumConvert.GetTerm(GameMain.Instance.CMSystem.SubtitleType);
-		this.systemLanguage.value = Product.EnumConvert.LAWEFV(GameMain.Instance.CMSystem.SystemLanguage);
+		this.systemLanguage.value = Product.EnumConvert.GetTerm(GameMain.Instance.CMSystem.SystemLanguage);
 	}
 
 	public void SetCloseButtonActive(bool active)

+ 1 - 1
Assembly-CSharp/ConfigMgr.cs

@@ -75,7 +75,7 @@ public class ConfigMgr : BaseMgr<ConfigMgr>
 
 	public void Update()
 	{
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			int num = int.MinValue;
 			if (Input.GetKeyDown(KeyCode.F1))

+ 2 - 2
Assembly-CSharp/ControllerShortcutSettingData.cs

@@ -33,7 +33,7 @@ public static class ControllerShortcutSettingData
 	{
 		public void OnBeforeSerialize()
 		{
-			this.m_nVersion = 1280;
+			this.m_nVersion = 1290;
 		}
 
 		public void OnAfterDeserialize()
@@ -261,7 +261,7 @@ public static class ControllerShortcutSettingData
 		private const string CONF_NAME = "OvrControllerShortcutConfig.json";
 
 		[SerializeField]
-		private int m_nVersion = 1280;
+		private int m_nVersion = 1290;
 
 		[SerializeField]
 		private bool IsDirectShortcutMode = true;

+ 3 - 3
Assembly-CSharp/ControllerShortcutWindow.cs

@@ -84,7 +84,7 @@ public class ControllerShortcutWindow : MonoBehaviour
 		this.m_FadeWindowCalibration.CacheChildObject<NGUIWindow>("Window Start", "FadeWindow Start");
 		this.m_FadeWindowCalibration.CacheChildObject<NGUIWindow>("Window Countdown", "FadeWindow Countdown");
 		this.m_FadeWindowCalibration.CacheChildObject<UILabel>("Window Countdown/label countdown", "countdown");
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			this.m_FadeWindowCalibration.CacheChildObject<Localize>("Window Countdown/label description", "label count desc");
 			this.m_FadeWindowCalibration.CacheChildObject<Localize>("Window Start/label", "label start desc");
@@ -109,7 +109,7 @@ public class ControllerShortcutWindow : MonoBehaviour
 		}));
 		EventDelegate.Add(uibutton.onClick, new EventDelegate.Callback(this.OnClickCalibrationStart));
 		EventDelegate.Add(uibutton2.onClick, new EventDelegate.Callback(this.OnClickCalibrationEnd));
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			this.m_FadeWindowCalibration.GetCache<Localize>("label count desc").SetTerm(ControllerShortcutWindow.STR_LABEL_DESC_COUNT_DOWN_TERMS);
 			this.m_FadeWindowCalibration.GetCache<Localize>("label start desc").GetComponent<UILabel>().supportEncoding = true;
@@ -130,7 +130,7 @@ public class ControllerShortcutWindow : MonoBehaviour
 	{
 		UILabel uilabel = null;
 		Localize localize = null;
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			localize = this.m_FadeWindowCalibration.GetCache<Localize>("label start desc");
 			uilabel = localize.GetComponent<UILabel>();

+ 1 - 1
Assembly-CSharp/CreateBGObjectSubWindow.cs

@@ -30,7 +30,7 @@ public class CreateBGObjectSubWindow : BasePhotoSubWindow
 		}
 		this.addButtonList.SetData(dictionary2, dictionary, false);
 		this.addButtonList.onClickEventList.Add(new Action<object>(this.OnClickItem));
-		this.addButtonList.PopUpList.PopupList.isLocalized = Product.AEWDA;
+		this.addButtonList.PopUpList.PopupList.isLocalized = Product.supportMultiLanguage;
 		this.addButtonList.PopUpList.PopupList.itemTerms = ((!this.addButtonList.PopUpList.PopupList.isLocalized) ? null : PhotoBGObjectData.popup_category_term_list);
 		this.addButtonList.popup_value_list = PhotoBGObjectData.popup_category_list;
 	}

+ 1 - 1
Assembly-CSharp/DailyCtrl.cs

@@ -94,7 +94,7 @@ public class DailyCtrl : MonoBehaviour
 				DailyCtrl.ButtonType.LegacyMode
 			};
 		}
-		this.GetMenuButton(DailyCtrl.ButtonType.NPCEdit).active = (!Product.FDAWBW && PluginData.IsEnabled("GP001"));
+		this.GetMenuButton(DailyCtrl.ButtonType.NPCEdit).active = (!Product.isPublic && PluginData.IsEnabled("GP001"));
 		foreach (DailyCtrl.ButtonType type in array3)
 		{
 			this.GetMenuButton(type).active = false;

+ 8 - 0
Assembly-CSharp/DanceEnemyParam.cs

@@ -5,6 +5,14 @@ using UnityEngine;
 [Serializable]
 public class DanceEnemyParam
 {
+	public string NameTerm
+	{
+		get
+		{
+			return "SceneDanceSelect/敵名/" + this.ID.ToString();
+		}
+	}
+
 	public int ID;
 
 	public string Name = string.Empty;

+ 3 - 3
Assembly-CSharp/DanceSelect.cs

@@ -237,7 +237,7 @@ public class DanceSelect : WfScreenChildren
 		{
 			NDebug.AssertNull(this.select_panelset_array_[i].ContentsPanel != null && this.select_panelset_array_[i].ParentPanel != null);
 		}
-		if (!Product.AEWDA)
+		if (!Product.supportMultiLanguage)
 		{
 			this.m_CharaSelectLabel = UTY.GetChildObject(this.CharaSelectPanel.ParentPanel.gameObject, "ExplanatoryText/Value", false).GetComponent<UILabel>();
 			Localize component3 = this.m_CharaSelectLabel.GetComponent<Localize>();
@@ -665,7 +665,7 @@ public class DanceSelect : WfScreenChildren
 			{
 				DanceSelect.m_SelectedDance.Add(this.m_SecondDanceData);
 			}
-			if (!Product.AEWDA && (RhythmAction_Mgr.NowDance == RhythmAction_Mgr.DanceType.Challenge || RhythmAction_Mgr.IsVSDance))
+			if (!Product.supportMultiLanguage && (RhythmAction_Mgr.NowDance == RhythmAction_Mgr.DanceType.Challenge || RhythmAction_Mgr.IsVSDance))
 			{
 				this.m_CharaSelectLabel.text = "ダンスを行うメイドを" + select_chara_num + "人選択してください。";
 			}
@@ -969,7 +969,7 @@ public class DanceSelect : WfScreenChildren
 			RhythmAction_Mgr.SetDanceType(RhythmAction_Mgr.DanceType.Touch);
 		}
 		Localize component = this.m_DanceModeButtonGroup[UIButton.current].GetComponent<Localize>();
-		string translation = LocalizationManager.GetTranslation(component.Term, true, 0, true, false, null, Product.EnumConvert.FEWQAVASV(Product.JQOVNMDS.P0L));
+		string translation = LocalizationManager.GetTranslation(component.Term, true, 0, true, false, null, Product.EnumConvert.ToI2LocalizeLanguageName(Product.Language.Japanese));
 		this.m_SettingObj.SetUIMode(translation);
 		this.CallMusicSelect();
 	}

+ 1 - 1
Assembly-CSharp/DanceSetting.cs

@@ -629,7 +629,7 @@ public class DanceSetting : MonoBehaviour
 			}
 			else if (uiinspectorSetting.MyType == DanceSetting.SettingType.SubtitleType)
 			{
-				flag &= Product.AEWDA;
+				flag &= Product.supportMultiLanguage;
 			}
 			gameObject.SetActive(flag);
 			if (flag)

+ 12 - 12
Assembly-CSharp/DanceSubtitleMgr.cs

@@ -10,7 +10,7 @@ public class DanceSubtitleMgr : PartsMgrBase
 		base.Start();
 		base.IsActive &= (DanceMain.SelectDanceData != null);
 		base.IsActive &= DanceSetting.Settings.IsSubtitleOn;
-		base.IsActive &= !Product.QOPZX;
+		base.IsActive &= !Product.isJapan;
 		if (!base.IsActive)
 		{
 			base.gameObject.SetActive(false);
@@ -39,7 +39,7 @@ public class DanceSubtitleMgr : PartsMgrBase
 	{
 		float danceTimer = RhythmAction_Mgr.Instance.DanceTimer;
 		string sheet_name = DanceMain.SelectDanceData.SubtitleSheetName + "/";
-		Product.JQOVNMDS ouiwehva = Product.OUIWEHVA;
+		Product.Language systemLanguage = Product.systemLanguage;
 		using (List<DanceSubtitleMgr.SubtitleData>.Enumerator enumerator = this.m_SubtitleDataList.GetEnumerator())
 		{
 			while (enumerator.MoveNext())
@@ -56,10 +56,10 @@ public class DanceSubtitleMgr : PartsMgrBase
 				else if (data.StartTime <= danceTimer && !data.IsExistUIObj)
 				{
 					bool create_success = false;
-					Action<Product.JQOVNMDS> action = delegate(Product.JQOVNMDS langage)
+					Action<Product.Language> action = delegate(Product.Language langage)
 					{
 						string term = sheet_name + data.TranslationKey;
-						string translation = LocalizationManager.GetTranslation(term, true, 0, true, false, null, Product.EnumConvert.FEWQAVASV(langage));
+						string translation = LocalizationManager.GetTranslation(term, true, 0, true, false, null, Product.EnumConvert.ToI2LocalizeLanguageName(langage));
 						if (string.IsNullOrEmpty(translation))
 						{
 							return;
@@ -77,25 +77,25 @@ public class DanceSubtitleMgr : PartsMgrBase
 						}
 						create_success |= true;
 					};
-					if (Product.AEWDA)
+					if (Product.supportMultiLanguage)
 					{
 						switch (DanceSetting.Settings.SubtitleType)
 						{
 						case SubtitleDisplayManager.DisplayType.OriginalAndSubtitle:
-							action(Product.JQOVNMDS.P0L);
-							action(ouiwehva);
+							action(Product.Language.Japanese);
+							action(systemLanguage);
 							break;
 						case SubtitleDisplayManager.DisplayType.Subtitle:
-							action(ouiwehva);
+							action(systemLanguage);
 							break;
 						case SubtitleDisplayManager.DisplayType.Original:
-							action(Product.JQOVNMDS.P0L);
+							action(Product.Language.Japanese);
 							break;
 						}
 					}
 					else
 					{
-						action(Product.JQOVNMDS.P0L);
+						action(Product.Language.Japanese);
 					}
 					if (create_success)
 					{
@@ -135,9 +135,9 @@ public class DanceSubtitleMgr : PartsMgrBase
 			}
 		}
 
-		public void SetUIObj(Product.JQOVNMDS langage_code, GameObject ui_obj)
+		public void SetUIObj(Product.Language langage_code, GameObject ui_obj)
 		{
-			if (langage_code == Product.JQOVNMDS.P0L)
+			if (langage_code == Product.Language.Japanese)
 			{
 				this.OrijinalUI = ui_obj;
 			}

+ 2 - 2
Assembly-CSharp/DeskManager.cs

@@ -143,7 +143,7 @@ internal class DeskManager
 	public static void SerializeSingleSaveData(BinaryWriter binary)
 	{
 		binary.Write("CM3D2_DeskCustomize");
-		binary.Write(1280);
+		binary.Write(1290);
 		binary.Write(DeskManager.item_inst_data_.Count);
 		for (int i = 0; i < DeskManager.item_inst_data_.Count; i++)
 		{
@@ -317,7 +317,7 @@ internal class DeskManager
 		{
 			get
 			{
-				return !Product.AEWDA && this.seasonal_;
+				return !Product.supportMultiLanguage && this.seasonal_;
 			}
 		}
 

+ 3 - 3
Assembly-CSharp/DynamicBone.cs

@@ -30,7 +30,7 @@ public class DynamicBone : MonoBehaviour
 			return false;
 		};
 		f_bw.Write("CM3D21_PHY");
-		f_bw.Write(1280);
+		f_bw.Write(1290);
 		if (this.m_Root == null)
 		{
 			NDebug.MessageBox("エラー", "×物理ルートボーンが設定されていません。");
@@ -94,7 +94,7 @@ public class DynamicBone : MonoBehaviour
 	public bool SerializeWriteCollider(BinaryWriter f_bw, string f_strFileName)
 	{
 		f_bw.Write("CM3D21_COL");
-		f_bw.Write(1280);
+		f_bw.Write(1290);
 		if (this.m_Colliders == null || this.m_Colliders.Count == 0)
 		{
 			NDebug.MessageBox("エラー", "×物理Collidersは空です。");
@@ -110,7 +110,7 @@ public class DynamicBone : MonoBehaviour
 			else
 			{
 				f_bw.Write(this.m_Colliders[i].TypeName);
-				this.m_Colliders[i].Serialize(f_bw, 1280);
+				this.m_Colliders[i].Serialize(f_bw, 1290);
 			}
 		}
 		this.m_ColliderFileName = f_strFileName;

+ 1 - 1
Assembly-CSharp/DynamicSkirtBone.cs

@@ -18,7 +18,7 @@ public class DynamicSkirtBone : MonoBehaviour
 	public bool SerializeWrite(BinaryWriter f_bw)
 	{
 		f_bw.Write("CM3D21_PSK");
-		f_bw.Write(1280);
+		f_bw.Write(1290);
 		f_bw.Write(this.m_fPanierRadius);
 		this.SerializeWriteAnimationCurve(f_bw, this.m_PanierRadiusDistrib);
 		int num = (this.m_PanierRadiusDistribGroup == null) ? 0 : this.m_PanierRadiusDistribGroup.Length;

+ 3 - 3
Assembly-CSharp/Edit/MaidProfile.cs

@@ -19,10 +19,10 @@ namespace Edit
 					return string.Empty;
 				}
 				string result = termSuffix;
-				if (Product.AEWDA)
+				if (Product.supportMultiLanguage)
 				{
 					string empty = string.Empty;
-					if (LocalizationManager.TryGetTranslation("ProfileComment/" + termSuffix, out empty, true, 0, true, false, null, Product.EnumConvert.FEWQAVASV(Product.POEWBBA)))
+					if (LocalizationManager.TryGetTranslation("ProfileComment/" + termSuffix, out empty, true, 0, true, false, null, Product.EnumConvert.ToI2LocalizeLanguageName(Product.defaultLanguage)))
 					{
 						result = empty;
 					}
@@ -223,7 +223,7 @@ namespace Edit
 				}
 			}
 			text = "profile_comment_4.nei";
-			if (!Product.FDAWBW)
+			if (!Product.isPublic)
 			{
 				using (AFileBase afileBase4 = GameUty.FileSystem.FileOpen(text))
 				{

+ 1 - 1
Assembly-CSharp/EditMod.cs

@@ -303,7 +303,7 @@ public class EditMod : MonoBehaviour
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("CM3D2_MOD");
-		binaryWriter.Write(1280);
+		binaryWriter.Write(1290);
 		binaryWriter.Write(value);
 		binaryWriter.Write(text2.ToLower());
 		binaryWriter.Write(value2);

+ 1 - 1
Assembly-CSharp/EmpireLifeModeManager.cs

@@ -477,7 +477,7 @@ public class EmpireLifeModeManager : MonoBehaviour
 	public bool Serialize(BinaryWriter brWrite)
 	{
 		brWrite.Write("CM3D21_LIFE_MODE_MGR");
-		brWrite.Write(1280);
+		brWrite.Write(1290);
 		brWrite.Write("2");
 		DataArray<int, byte> saveDataScenarioExecuteCountArray = this.m_SaveDataScenarioExecuteCountArray;
 		if (EmpireLifeModeManager.<>f__mg$cache1 == null)

+ 1 - 1
Assembly-CSharp/ExChangeUI.cs

@@ -29,7 +29,7 @@ public class ExChangeUI : MonoBehaviour
 		moneySetting.ValueUpdateAction = (MoneySetttingUI.ValueUpdateMethod)Delegate.Combine(moneySetting.ValueUpdateAction, new MoneySetttingUI.ValueUpdateMethod(this.UIStateUpdate));
 		this.m_MyCanvas = base.GetComponent<CanvasGroup>();
 		this.m_RateText.text = string.Format("コイン1枚 = {0}CR", Utility.ConvertMoneyText(this.m_CoinRate));
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			Localize localize = this.m_RateText.gameObject.AddComponent<Localize>();
 			localize.TermArgs = new Localize.ArgsPair[]

+ 2 - 2
Assembly-CSharp/FaceWindow.cs

@@ -25,7 +25,7 @@ public class FaceWindow : BaseMaidPhotoWindow
 				dictionary[keyValuePair.Key].Add(keyValuePair.Value[i].termName);
 			}
 		}
-		if (!Product.AEWDA)
+		if (!Product.supportMultiLanguage)
 		{
 			dictionary = null;
 		}
@@ -448,7 +448,7 @@ public class FaceWindow : BaseMaidPhotoWindow
 			}
 			Dictionary<string, string> maidStoreData = base.GetMaidStoreData(maid);
 			PhotoFaceData photoFaceData = PhotoFaceData.Get(long.Parse(maidStoreData["id"]));
-			this.PopupAndTabList.popup_term_list = ((!Product.AEWDA) ? null : PhotoFaceData.popup_category_term_list);
+			this.PopupAndTabList.popup_term_list = ((!Product.supportMultiLanguage) ? null : PhotoFaceData.popup_category_term_list);
 			this.PopupAndTabList.popup_value_list = PhotoFaceData.popup_category_list;
 			this.PopupAndTabList.SetPopupValue(photoFaceData.category);
 			this.PopupAndTabList.SetSelectButton(photoFaceData, false);

+ 1 - 1
Assembly-CSharp/Facility.cs

@@ -15,7 +15,7 @@ public class Facility : MonoBehaviour
 		Facility.FacilityStatus facilityStatus = FacilityDataTable.GetFacilityStatus(facilityTypeID, true);
 		this.param.typeID = facilityStatus.typeID;
 		this.param.name = facilityStatus.name;
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			string translation = LocalizationManager.GetTranslation(facilityStatus.termName, true, 0, true, false, null, null);
 			if (!string.IsNullOrEmpty(translation))

+ 1 - 1
Assembly-CSharp/FacilityInfoUI.cs

@@ -339,7 +339,7 @@ public class FacilityInfoUI : MonoBehaviour
 		}
 		if (image != null)
 		{
-			if (!Product.AEWDA)
+			if (!Product.supportMultiLanguage)
 			{
 				image.sprite = this.GetViewTypePlate(this.m_ViewType);
 			}

+ 1 - 1
Assembly-CSharp/FacilityManager.cs

@@ -657,7 +657,7 @@ public class FacilityManager : MonoBehaviour
 		Stopwatch stopwatch = new Stopwatch();
 		stopwatch.Start();
 		brWrite.Write("CM3D21_FACILITY_MGR");
-		brWrite.Write(1280);
+		brWrite.Write(1290);
 		brWrite.Write("5");
 		int num = 0;
 		for (int i = 0; i < this.m_FacilityArray.Count; i++)

+ 1 - 1
Assembly-CSharp/FacilityUIPowerUpMaterialList.cs

@@ -50,7 +50,7 @@ public class FacilityUIPowerUpMaterialList : MonoBehaviour
 			componentInChildren.ClearOptions();
 			Facility.PowerUpMaterial[] materialArray = <SetupFacilityPowerUpMaterialListDropDown>c__AnonStorey.$this.FacilityMgr.GetFacilityPowerUpItemEnableArray(num);
 			LocalizeDropdown localizeDropdown = null;
-			if (Product.AEWDA)
+			if (Product.supportMultiLanguage)
 			{
 				localizeDropdown = componentInChildren.GetComponent<LocalizeDropdown>();
 				if (localizeDropdown != null)

+ 1 - 1
Assembly-CSharp/GameInShopMain.cs

@@ -60,7 +60,7 @@ public class GameInShopMain : WfScreenChildren
 			UILabel component = UTY.GetChildObject(gameObject, "Label", false).GetComponent<UILabel>();
 			component.text = gameObject.name;
 			Localize component2 = component.GetComponent<Localize>();
-			if (Product.AEWDA && component2 != null)
+			if (Product.supportMultiLanguage && component2 != null)
 			{
 				string[] array = new string[]
 				{

+ 7 - 7
Assembly-CSharp/GameMain.cs

@@ -676,9 +676,9 @@ public class GameMain : MonoSingleton<GameMain>
 		serializeHeader.strPlayerName = this.m_CharacterMgr.status.playerName;
 		serializeHeader.nMaidNum = this.m_CharacterMgr.GetStockMaidCount();
 		serializeHeader.strComment = f_strComment;
-		serializeHeader.productTypeID = (int)Product.FEA;
+		serializeHeader.productTypeID = (int)Product.type;
 		binaryWriter.Write("COM3D2_SAVE");
-		binaryWriter.Write(1280);
+		binaryWriter.Write(1290);
 		this.SerializeWriteHeader(binaryWriter, serializeHeader);
 		binaryWriter.Write("bookmark_kk_01");
 		GameMain.BinaryBookmark binaryBookmark = new GameMain.BinaryBookmark(binaryWriter);
@@ -796,7 +796,7 @@ public class GameMain : MonoSingleton<GameMain>
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("COM3D2_SAVE");
-		binaryWriter.Write(1280);
+		binaryWriter.Write(1290);
 		this.SerializeWriteHeader(binaryWriter, saveDataHeader);
 		binaryWriter.Write(array, (int)saveDataHeader.lHeaderSize, (int)((long)array.Length - saveDataHeader.lHeaderSize));
 		File.WriteAllBytes(path, memoryStream.ToArray());
@@ -1283,19 +1283,19 @@ public class GameMain : MonoSingleton<GameMain>
 
 	private void Update()
 	{
-		if (Product.AEWDA && (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) && Input.GetKeyDown(KeyCode.F6))
+		if (Product.supportMultiLanguage && (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) && Input.GetKeyDown(KeyCode.F6))
 		{
-			string[] names = Enum.GetNames(typeof(Product.JQOVNMDS));
+			string[] names = Enum.GetNames(typeof(Product.Language));
 			for (int i = 0; i < names.Length; i++)
 			{
-				if (names[i] == Product.OUIWEHVA.ToString())
+				if (names[i] == Product.systemLanguage.ToString())
 				{
 					string value = names[0];
 					if (i + 1 < names.Length)
 					{
 						value = names[i + 1];
 					}
-					Product.OUIWEHVA = (Product.JQOVNMDS)Enum.Parse(typeof(Product.JQOVNMDS), value);
+					Product.systemLanguage = (Product.Language)Enum.Parse(typeof(Product.Language), value);
 					break;
 				}
 			}

+ 1 - 1
Assembly-CSharp/GameModeManager.cs

@@ -31,7 +31,7 @@ public static class GameModeManager
 	public static bool Serialize(BinaryWriter brWrite)
 	{
 		brWrite.Write("CM3D21_GAME_MODE_MGR");
-		brWrite.Write(1280);
+		brWrite.Write(1290);
 		brWrite.Write(1);
 		brWrite.Write((int)GameModeManager.m_NowGameModeType);
 		return true;

+ 390 - 9
Assembly-CSharp/GameUty.cs

@@ -38,7 +38,7 @@ public class GameUty
 	{
 		get
 		{
-			return 0 < GameUty.PathListOld.Count && Product.FEA == Product.PAWCAQ.IKD;
+			return 0 < GameUty.PathListOld.Count && Product.type == Product.Type.JpAdult;
 		}
 	}
 
@@ -390,9 +390,9 @@ public class GameUty
 		{
 			Debug.Log(str2 + " GameVersion " + GameUty.GetLegacyGameVersionText());
 		}
-		if (Product.FEA != Product.PAWCAQ.IKD)
+		if (Product.type != Product.Type.JpAdult)
 		{
-			GameUty.iwjkq();
+			GameUty.UpdateFileSystemPathToNewProduct();
 		}
 		else
 		{
@@ -653,7 +653,7 @@ public class GameUty
 					}
 				}
 			}
-			if (Product.DOPLGBNE && !Product.FDAWBW)
+			if (Product.isEnglish && !Product.isPublic)
 			{
 				string text22 = "bg-en";
 				NDebug.Assert(AddFolderOrArchive(text22), str + text22);
@@ -742,9 +742,9 @@ public class GameUty
 				}
 			}
 		}
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
-			list = GameUty.m_FileSystem.GetList("languagesource", AFileSystemBase.ListType.AllFile);
+			list = GameUty.m_FileSystem.GetList("language", AFileSystemBase.ListType.AllFile);
 			if (list != null && 0 < list.Length)
 			{
 				foreach (string path2 in list)
@@ -830,8 +830,389 @@ public class GameUty
 		}
 	}
 
-	public static void iwjkq()
+	public static void UpdateFileSystemPathToNewProduct()
 	{
+		string fullPath = Path.GetFullPath(".\\");
+		string gameDataPath = "GameData";
+		string str = string.Empty;
+		str = "必用アーカイブがありません。GameData" + Product.gameDataPath + "\\";
+		int check_ver_no = 3;
+		Func<string, bool> AddFolderOrArchive = delegate(string name)
+		{
+			string gameDataPath = gameDataPath;
+			bool flag2 = GameUty.m_FileSystem.AddArchive(gameDataPath + "\\" + name + ".arc");
+			if (flag2)
+			{
+				Debug.Log(string.Concat(new string[]
+				{
+					"[",
+					gameDataPath,
+					"\\",
+					name,
+					".arc]を読み込みました"
+				}));
+			}
+			if (flag2)
+			{
+				GameUty.loadArchiveList.Add(name.ToLower());
+			}
+			return flag2;
+		};
+		Action<string> action = delegate(string name)
+		{
+			foreach (string text27 in GameUty.PathList)
+			{
+				string arg5 = name + "_" + text27;
+				bool flag2 = AddFolderOrArchive(arg5);
+				if (flag2)
+				{
+					if (name == "csv")
+					{
+						GameUty.ExistCsvPathList.Add(text27);
+					}
+					for (int num10 = 2; num10 <= check_ver_no; num10++)
+					{
+						AddFolderOrArchive(string.Concat(new object[]
+						{
+							name,
+							"_",
+							text27,
+							"_",
+							num10
+						}));
+					}
+				}
+			}
+		};
+		Action<string> action2 = delegate(string name)
+		{
+			foreach (string text27 in GameUty.PathList)
+			{
+				if (AddFolderOrArchive(name + "_" + text27))
+				{
+					if (name == "csv")
+					{
+						GameUty.ExistCsvPathList.Add(text27);
+					}
+					for (int num10 = 2; num10 <= check_ver_no; num10++)
+					{
+						AddFolderOrArchive(string.Concat(new object[]
+						{
+							name,
+							"_",
+							text27,
+							"_",
+							num10
+						}));
+					}
+				}
+			}
+		};
+		StopWatch stopWatch = new StopWatch();
+		Debug.Log("■■■■■■■■ Archive Log[2.1 Compatibility] (GameData_20) ■■■■■■■■");
+		gameDataPath = "GameData_20";
+		GameUty.m_FileSystem.SetBaseDirectory(fullPath);
+		GameUty.PathList = GameUty.ReadAutoPathFile("[2.1Compatibility]", fullPath + gameDataPath + "\\paths.dat");
+		if (GameUty.PathList != null && 0 < GameUty.PathList.Count)
+		{
+			foreach (string text in GameUty.PathList)
+			{
+				string text2 = "material";
+				if (text == "denkigai2015wTowelR")
+				{
+					AddFolderOrArchive(text2 + "_denkigai2015wTowel");
+				}
+				string arg = text2 + "_" + text;
+				bool flag = AddFolderOrArchive(arg);
+				if (flag)
+				{
+					for (int i = 2; i <= check_ver_no; i++)
+					{
+						AddFolderOrArchive(string.Concat(new object[]
+						{
+							text2,
+							"_",
+							text,
+							"_",
+							i
+						}));
+					}
+				}
+			}
+			action("menu");
+			action("model");
+			action("texture");
+			AddFolderOrArchive("prioritymaterial");
+			List<string> pathList = GameUty.PathList;
+			GameUty.PathList = new List<string>();
+			GameUty.PathList.Add("vp001");
+			action("bg");
+			action("motion");
+			GameUty.PathList = pathList;
+		}
+		Debug.Log("■■■■■■■■■■■■■■■■■■■■");
+		Debug.Log("■■■■■■■■ Archive Log[2.1] (GameData) ■■■■■■■■");
+		gameDataPath = "GameData";
+		GameUty.PathList = GameUty.ReadAutoPathFile("[2.1]", fullPath + gameDataPath + "\\paths.dat");
+		if (GameUty.PathList == null)
+		{
+			GameUty.PathList = new List<string>();
+			NDebug.Assert("paths.datを読み込めませんでした", false);
+		}
+		GameUty.PathList.Add(Product.gameDataPath.Replace("_", string.Empty));
+		AddFolderOrArchive("csv");
+		foreach (string text3 in GameUty.PathList)
+		{
+			string text4 = "csv";
+			if (AddFolderOrArchive(text4 + "_" + text3))
+			{
+				for (int j = 2; j <= check_ver_no; j++)
+				{
+					AddFolderOrArchive(string.Concat(new object[]
+					{
+						text4,
+						"_",
+						text3,
+						"_",
+						j
+					}));
+				}
+			}
+		}
+		AddFolderOrArchive("prioritymaterial");
+		NDebug.Assert(AddFolderOrArchive("motion"), str + "motion");
+		foreach (string text5 in GameUty.PathList)
+		{
+			string text6 = "motion";
+			if (AddFolderOrArchive(text6 + "_" + text5))
+			{
+				for (int k = 2; k <= check_ver_no; k++)
+				{
+					AddFolderOrArchive(string.Concat(new object[]
+					{
+						text6,
+						"_",
+						text5,
+						"_",
+						k
+					}));
+				}
+			}
+		}
+		AddFolderOrArchive("motion2");
+		NDebug.Assert(AddFolderOrArchive("script"), str + "script");
+		foreach (string text7 in GameUty.PathList)
+		{
+			string text8 = "script";
+			if (AddFolderOrArchive(text8 + "_" + text7))
+			{
+				for (int l = 2; l <= check_ver_no; l++)
+				{
+					AddFolderOrArchive(string.Concat(new object[]
+					{
+						text8,
+						"_",
+						text7,
+						"_",
+						l
+					}));
+				}
+			}
+		}
+		AddFolderOrArchive("script_share");
+		foreach (string text9 in GameUty.PathList)
+		{
+			string text10 = "script_share";
+			if (AddFolderOrArchive(text10 + "_" + text9))
+			{
+				for (int m = 2; m <= check_ver_no; m++)
+				{
+					AddFolderOrArchive(string.Concat(new object[]
+					{
+						text10,
+						"_",
+						text9,
+						"_",
+						m
+					}));
+				}
+			}
+		}
+		AddFolderOrArchive("script_share2");
+		NDebug.Assert(AddFolderOrArchive("sound"), str + "sound");
+		foreach (string text11 in GameUty.PathList)
+		{
+			string text12 = "sound";
+			if (AddFolderOrArchive(text12 + "_" + text11))
+			{
+				for (int n = 2; n <= check_ver_no; n++)
+				{
+					AddFolderOrArchive(string.Concat(new object[]
+					{
+						text12,
+						"_",
+						text11,
+						"_",
+						n
+					}));
+				}
+			}
+		}
+		AddFolderOrArchive("sound2");
+		NDebug.Assert(AddFolderOrArchive("system"), str + "system");
+		foreach (string text13 in GameUty.PathList)
+		{
+			string text14 = "system";
+			if (AddFolderOrArchive(text14 + "_" + text13))
+			{
+				for (int num = 2; num <= check_ver_no; num++)
+				{
+					AddFolderOrArchive(string.Concat(new object[]
+					{
+						text14,
+						"_",
+						text13,
+						"_",
+						num
+					}));
+				}
+			}
+		}
+		AddFolderOrArchive("system2");
+		AddFolderOrArchive("language");
+		foreach (string text15 in GameUty.PathList)
+		{
+			string text16 = "language";
+			if (AddFolderOrArchive(text16 + "_" + text15))
+			{
+				for (int num2 = 2; num2 <= check_ver_no; num2++)
+				{
+					AddFolderOrArchive(string.Concat(new object[]
+					{
+						text16,
+						"_",
+						text15,
+						"_",
+						num2
+					}));
+				}
+			}
+		}
+		foreach (string text17 in GameUty.PathList)
+		{
+			string text18 = "bg";
+			if (AddFolderOrArchive(text18 + "_" + text17))
+			{
+				for (int num3 = 2; num3 <= check_ver_no; num3++)
+				{
+					AddFolderOrArchive(string.Concat(new object[]
+					{
+						text18,
+						"_",
+						text17,
+						"_",
+						num3
+					}));
+				}
+			}
+		}
+		if (Product.isEnglish && !Product.isPublic)
+		{
+			string text19 = "bg-en";
+			NDebug.Assert(AddFolderOrArchive(text19), str + text19);
+			foreach (string text20 in GameUty.PathList)
+			{
+				if (AddFolderOrArchive(text19 + "_" + text20))
+				{
+					for (int num4 = 2; num4 <= check_ver_no; num4++)
+					{
+						AddFolderOrArchive(string.Concat(new object[]
+						{
+							text19,
+							"_",
+							text20,
+							"_",
+							num4
+						}));
+					}
+				}
+			}
+			AddFolderOrArchive("bg-en2");
+		}
+		AddFolderOrArchive("voice");
+		for (int num5 = 0; num5 < 25; num5++)
+		{
+			string arg2 = "voice";
+			string arg3 = arg2 + "_" + (char)(97 + num5);
+			AddFolderOrArchive(arg3);
+		}
+		foreach (string text21 in GameUty.PathList)
+		{
+			string text22 = "voice";
+			if (AddFolderOrArchive(text22 + "_" + text21))
+			{
+				for (int num6 = 2; num6 <= check_ver_no; num6++)
+				{
+					AddFolderOrArchive(string.Concat(new object[]
+					{
+						text22,
+						"_",
+						text21,
+						"_",
+						num6
+					}));
+				}
+			}
+		}
+		for (int num7 = 2; num7 <= check_ver_no; num7++)
+		{
+			string arg4 = "voice";
+			AddFolderOrArchive(arg4 + num7);
+		}
+		string text23 = "parts";
+		NDebug.Assert(AddFolderOrArchive(text23), str + text23);
+		foreach (string text24 in GameUty.PathList)
+		{
+			if (AddFolderOrArchive(text23 + "_" + text24))
+			{
+				for (int num8 = 2; num8 <= check_ver_no; num8++)
+				{
+					AddFolderOrArchive(string.Concat(new object[]
+					{
+						text23,
+						"_",
+						text24,
+						"_",
+						num8
+					}));
+				}
+			}
+		}
+		AddFolderOrArchive("parts2");
+		if (Product.isEnglish && !Product.isPublic)
+		{
+			string text25 = "parts-en";
+			NDebug.Assert(AddFolderOrArchive(text25), str + text25);
+			foreach (string text26 in GameUty.PathList)
+			{
+				if (AddFolderOrArchive(text25 + "_" + text26))
+				{
+					for (int num9 = 2; num9 <= check_ver_no; num9++)
+					{
+						AddFolderOrArchive(string.Concat(new object[]
+						{
+							text25,
+							"_",
+							text26,
+							"_",
+							num9
+						}));
+					}
+				}
+			}
+			AddFolderOrArchive("parts-en2");
+		}
+		Debug.Log("■■■■■■■■■■■■■■■■■■■■" + stopWatch.Stop().ToString() + " ms");
 	}
 
 	public static void UpdateFileSystemPathOld()
@@ -1016,14 +1397,14 @@ public class GameUty
 
 	public static string GetBuildVersionText()
 	{
-		int num = 1280;
+		int num = 1290;
 		return (num >= 1000) ? ((float)num / 1000f).ToString("F2") : ((float)num / 100f).ToString("F2");
 	}
 
 	public static string GetGameVersionText()
 	{
 		string text = "COM3D2x64.exe";
-		int num = 1280;
+		int num = 1290;
 		string path = Path.GetFullPath(".\\") + "update.lst";
 		string[] array = new string[0];
 		if (File.Exists(path))

+ 2 - 2
Assembly-CSharp/HandSignShortcut.cs

@@ -506,7 +506,7 @@ public class HandSignShortcut : MonoBehaviour
 	{
 		public void OnBeforeSerialize()
 		{
-			this.m_nVersion = 1280;
+			this.m_nVersion = 1290;
 		}
 
 		public void OnAfterDeserialize()
@@ -815,7 +815,7 @@ public class HandSignShortcut : MonoBehaviour
 		private const string CONF_NAME = "MaidFingerDataList.json";
 
 		[SerializeField]
-		private int m_nVersion = 1280;
+		private int m_nVersion = 1290;
 
 		[SerializeField]
 		private List<HandSignShortcut.MaidFingerData> MaidFingerDataList = new List<HandSignShortcut.MaidFingerData>();

+ 4 - 1
Assembly-CSharp/I2/Loc/Localize.cs

@@ -63,7 +63,7 @@ namespace I2.Loc
 
 		public bool HasCallback()
 		{
-			return this.LocalizeCallBack.HasCallback() || this.LocalizeEvent.GetPersistentEventCount() > 0;
+			return this.LocalizeCallBack.HasCallback() || this.LocalizeEvent.GetPersistentEventCount() > 0 || this.LocalizeEventExecEnd.GetPersistentEventCount() > 0;
 		}
 
 		public void OnLocalize(bool Force = false)
@@ -178,6 +178,7 @@ namespace I2.Loc
 				Localize.MainTranslation = "LOC:" + this.FinalTerm;
 			}
 			this.mLocalizeTarget.DoLocalize(this, Localize.MainTranslation, Localize.SecondaryTranslation);
+			this.LocalizeEventExecEnd.Invoke();
 			Localize.CurrentLocalizeComponent = null;
 		}
 
@@ -448,6 +449,8 @@ namespace I2.Loc
 
 		public UnityEvent LocalizeEvent = new UnityEvent();
 
+		public UnityEvent LocalizeEventExecEnd = new UnityEvent();
+
 		public static string MainTranslation;
 
 		public static string SecondaryTranslation;

+ 2 - 3
Assembly-CSharp/Kasizuki/AppealData.cs

@@ -159,10 +159,9 @@ namespace Kasizuki
 				return null;
 			}
 
-			public Texture2D GetTexture(string languageCode)
+			public Texture2D GetTexture(string language)
 			{
-				string languageFromCode = LocalizationManager.GetLanguageFromCode(languageCode, true);
-				string termTranslation = LocalizationManager.GetTermTranslation(this.texNameTerm, true, 0, true, false, null, languageFromCode);
+				string termTranslation = LocalizationManager.GetTermTranslation(this.texNameTerm, true, 0, true, false, null, language);
 				if (!string.IsNullOrEmpty(termTranslation))
 				{
 					string f_strFileName = termTranslation + ".tex";

+ 84 - 0
Assembly-CSharp/Kasizuki/KasizukiMainMenu.cs

@@ -121,6 +121,90 @@ namespace Kasizuki
 								num += 4;
 								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男5, num, false);
 							}
+							else if (kasizukiMgr.GetNowManType() == 70)
+							{
+								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男6, false);
+								num += 4;
+								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男6, num, false);
+							}
+							else if (kasizukiMgr.GetNowManType() == 80)
+							{
+								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男7, false);
+								num += 4;
+								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男7, num, false);
+							}
+							else if (kasizukiMgr.GetNowManType() == 90)
+							{
+								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男8, false);
+								num += 4;
+								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男8, num, false);
+							}
+							else if (kasizukiMgr.GetNowManType() == 100)
+							{
+								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男9, false);
+								num += 4;
+								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男9, num, false);
+							}
+							else if (kasizukiMgr.GetNowManType() == 110)
+							{
+								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男10, false);
+								num += 4;
+								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男10, num, false);
+							}
+							else if (kasizukiMgr.GetNowManType() == 120)
+							{
+								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男11, false);
+								num += 4;
+								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男11, num, false);
+							}
+							else if (kasizukiMgr.GetNowManType() == 130)
+							{
+								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男12, false);
+								num += 4;
+								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男12, num, false);
+							}
+							else if (kasizukiMgr.GetNowManType() == 140)
+							{
+								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男13, false);
+								num += 4;
+								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男13, num, false);
+							}
+							else if (kasizukiMgr.GetNowManType() == 150)
+							{
+								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男14, false);
+								num += 4;
+								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男14, num, false);
+							}
+							else if (kasizukiMgr.GetNowManType() == 160)
+							{
+								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男15, false);
+								num += 4;
+								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男15, num, false);
+							}
+							else if (kasizukiMgr.GetNowManType() == 170)
+							{
+								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男16, false);
+								num += 4;
+								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男16, num, false);
+							}
+							else if (kasizukiMgr.GetNowManType() == 180)
+							{
+								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男17, false);
+								num += 4;
+								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男17, num, false);
+							}
+							else if (kasizukiMgr.GetNowManType() == 190)
+							{
+								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男18, false);
+								num += 4;
+								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男18, num, false);
+							}
+							else if (kasizukiMgr.GetNowManType() == 200)
+							{
+								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男19, false);
+								num += 4;
+								kasizukiMgr.SetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男19, num, false);
+							}
 						}
 					}
 					Debug.Log("プレイ回数を更新");

+ 59 - 3
Assembly-CSharp/Kasizuki/KasizukiManager.cs

@@ -638,7 +638,63 @@ namespace Kasizuki
 			{
 				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男4, false);
 			}
-			if (dataType != ManDataType.傅き男5)
+			if (dataType == ManDataType.傅き男5)
+			{
+				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男5, false);
+			}
+			if (dataType == ManDataType.傅き男6)
+			{
+				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男6, false);
+			}
+			if (dataType == ManDataType.傅き男7)
+			{
+				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男7, false);
+			}
+			if (dataType == ManDataType.傅き男8)
+			{
+				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男8, false);
+			}
+			if (dataType == ManDataType.傅き男9)
+			{
+				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男9, false);
+			}
+			if (dataType == ManDataType.傅き男10)
+			{
+				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男10, false);
+			}
+			if (dataType == ManDataType.傅き男11)
+			{
+				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男11, false);
+			}
+			if (dataType == ManDataType.傅き男12)
+			{
+				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男12, false);
+			}
+			if (dataType == ManDataType.傅き男13)
+			{
+				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男13, false);
+			}
+			if (dataType == ManDataType.傅き男14)
+			{
+				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男14, false);
+			}
+			if (dataType == ManDataType.傅き男15)
+			{
+				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男15, false);
+			}
+			if (dataType == ManDataType.傅き男16)
+			{
+				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男16, false);
+			}
+			if (dataType == ManDataType.傅き男17)
+			{
+				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男17, false);
+			}
+			if (dataType == ManDataType.傅き男18)
+			{
+				return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男18, false);
+			}
+			if (dataType != ManDataType.傅き男19)
 			{
 				NDebug.Assert("[KasizukiManager.GetMaidLikability] 男種類に不正な値が入りました", false);
 				Debug.LogErrorFormat("[KasizukiManager.GetMaidLikability] 男種類に不正な値が入りました\n男種類.{0}", new object[]
@@ -647,7 +703,7 @@ namespace Kasizuki
 				});
 				return -1;
 			}
-			return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男, false);
+			return this.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男19, false);
 		}
 
 		public bool TryGetMaidData<T>(Maid maid, string valueName, out T value)
@@ -808,7 +864,7 @@ namespace Kasizuki
 		public void Serialize(BinaryWriter bw)
 		{
 			bw.Write("COM3D2_KASIZUKI");
-			bw.Write(1280);
+			bw.Write(1290);
 			this.SerializeOriginHeader(bw);
 			foreach (KeyValuePair<int, KasizukiManager.SaveData> keyValuePair in this.m_SaveDataArray)
 			{

+ 5 - 5
Assembly-CSharp/Kasizuki/KasizukiSaveAndLoadCtrl.cs

@@ -271,7 +271,7 @@ namespace Kasizuki
 				dataUnit.labelDate.text = header.GetDateTime().ToString("yyyy.MM.dd HH:mm");
 				dataUnit.labelMaidCount.text = KasizukiManager.GetEnableMaidList().Count.ToString();
 				dataUnit.labelManName.text = data.drawName;
-				if (Product.AEWDA)
+				if (Product.supportMultiLanguage)
 				{
 					Localize localize = dataUnit.labelManName.GetComponent<Localize>();
 					if (localize == null)
@@ -346,7 +346,7 @@ namespace Kasizuki
 						if (GameMain.Instance.KasizukiMgr.IsExistSaveData(saveSlot))
 						{
 							msg = string.Format("{0}番に上書きして保存します。\n宜しいですか?", saveSlot);
-							if (Product.AEWDA)
+							if (Product.supportMultiLanguage)
 							{
 								msg = "SceneKasizukiMainMenu/ダイアログ/上書きして保存します。宜しいですか?";
 							}
@@ -354,12 +354,12 @@ namespace Kasizuki
 						else
 						{
 							msg = string.Format("{0}番にデータを保存しますか?", saveSlot);
-							if (Product.AEWDA)
+							if (Product.supportMultiLanguage)
 							{
 								msg = "SceneKasizukiMainMenu/ダイアログ/データを保存しますか?";
 							}
 						}
-						if (Product.AEWDA)
+						if (Product.supportMultiLanguage)
 						{
 							this.OpenDialogTerm(SystemDialog.TYPE.OK_CANCEL, msg, delegate
 							{
@@ -380,7 +380,7 @@ namespace Kasizuki
 				else
 				{
 					string msg = string.Format("{0}番のデータをロードしますか?", saveSlot);
-					if (Product.AEWDA)
+					if (Product.supportMultiLanguage)
 					{
 						this.OpenDialogTerm(SystemDialog.TYPE.OK_CANCEL, "Dialog/セーブロード/データをロードしますか?", delegate
 						{

+ 5 - 5
Assembly-CSharp/Kasizuki/MaidAppealComment.cs

@@ -36,10 +36,10 @@ namespace Kasizuki
 
 		private void Start()
 		{
-			if (Product.AEWDA)
+			if (Product.supportMultiLanguage)
 			{
-				this.appealLanguageSprites.Add(Product.JQOVNMDS.P0L.ToString(), this.m_ImageAppealComment);
-				string[] names = Enum.GetNames(typeof(Product.JQOVNMDS));
+				this.appealLanguageSprites.Add(Product.Language.Japanese.ToString(), this.m_ImageAppealComment);
+				string[] names = Enum.GetNames(typeof(Product.Language));
 				for (int i = 1; i < names.Length; i++)
 				{
 					GameObject gameObject = UnityEngine.Object.Instantiate<GameObject>(this.m_ImageAppealComment.gameObject);
@@ -60,13 +60,13 @@ namespace Kasizuki
 
 		public void OnLocalize()
 		{
-			if (!Product.AEWDA)
+			if (!Product.supportMultiLanguage)
 			{
 				return;
 			}
 			foreach (KeyValuePair<string, UI2DSprite> keyValuePair in this.appealLanguageSprites)
 			{
-				keyValuePair.Value.gameObject.SetActive(keyValuePair.Key == Product.OUIWEHVA.ToString());
+				keyValuePair.Value.gameObject.SetActive(keyValuePair.Key == Product.systemLanguage.ToString());
 			}
 		}
 

+ 14 - 0
Assembly-CSharp/Kasizuki/MaidDataType.cs

@@ -11,6 +11,20 @@ namespace Kasizuki
 		好感度\uFF3F傅き男3,
 		好感度\uFF3F傅き男4,
 		好感度\uFF3F傅き男5,
+		好感度\uFF3F傅き男6,
+		好感度\uFF3F傅き男7,
+		好感度\uFF3F傅き男8,
+		好感度\uFF3F傅き男9,
+		好感度\uFF3F傅き男10,
+		好感度\uFF3F傅き男11,
+		好感度\uFF3F傅き男12,
+		好感度\uFF3F傅き男13,
+		好感度\uFF3F傅き男14,
+		好感度\uFF3F傅き男15,
+		好感度\uFF3F傅き男16,
+		好感度\uFF3F傅き男17,
+		好感度\uFF3F傅き男18,
+		好感度\uFF3F傅き男19,
 		好感度\uFF3F本編,
 		仕事回数,
 		フリ\u30FCコメント,

+ 99 - 1
Assembly-CSharp/Kasizuki/MaidLikabilityCtrl.cs

@@ -62,7 +62,105 @@ namespace Kasizuki
 							{
 								if (manType != ManDataType.傅き男4)
 								{
-									if (manType == ManDataType.傅き男5)
+									if (manType != ManDataType.傅き男5)
+									{
+										if (manType != ManDataType.傅き男6)
+										{
+											if (manType != ManDataType.傅き男7)
+											{
+												if (manType != ManDataType.傅き男8)
+												{
+													if (manType != ManDataType.傅き男9)
+													{
+														if (manType != ManDataType.傅き男10)
+														{
+															if (manType != ManDataType.傅き男11)
+															{
+																if (manType != ManDataType.傅き男12)
+																{
+																	if (manType != ManDataType.傅き男13)
+																	{
+																		if (manType != ManDataType.傅き男14)
+																		{
+																			if (manType != ManDataType.傅き男15)
+																			{
+																				if (manType != ManDataType.傅き男16)
+																				{
+																					if (manType != ManDataType.傅き男17)
+																					{
+																						if (manType != ManDataType.傅き男18)
+																						{
+																							if (manType == ManDataType.傅き男19)
+																							{
+																								num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男19, false);
+																							}
+																						}
+																						else
+																						{
+																							num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男18, false);
+																						}
+																					}
+																					else
+																					{
+																						num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男17, false);
+																					}
+																				}
+																				else
+																				{
+																					num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男16, false);
+																				}
+																			}
+																			else
+																			{
+																				num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男15, false);
+																			}
+																		}
+																		else
+																		{
+																			num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男14, false);
+																		}
+																	}
+																	else
+																	{
+																		num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男13, false);
+																	}
+																}
+																else
+																{
+																	num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男12, false);
+																}
+															}
+															else
+															{
+																num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男11, false);
+															}
+														}
+														else
+														{
+															num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男10, false);
+														}
+													}
+													else
+													{
+														num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男9, false);
+													}
+												}
+												else
+												{
+													num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男8, false);
+												}
+											}
+											else
+											{
+												num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男7, false);
+											}
+										}
+										else
+										{
+											num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男6, false);
+										}
+									}
+									else
 									{
 										num = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男5, false);
 									}

+ 3 - 3
Assembly-CSharp/Kasizuki/MaidMiniStatusCtrl.cs

@@ -38,7 +38,7 @@ namespace Kasizuki
 			}));
 			UIInput uiinput = base.CacheChildObject<UIInput>("FreeCommentWindow/FreeComment", "FreeComment");
 			EventDelegate.Add(uiinput.onChange, new EventDelegate.Callback(this.OnChangeFreeComment));
-			if (Product.DOPLGBNE)
+			if (Product.isEnglish)
 			{
 				Vector3 position = base.GetCache<Transform>("FirstNameTitle").position;
 				base.GetCache<Transform>("FirstNameTitle").position = base.GetCache<Transform>("LastNameTitle").position;
@@ -124,10 +124,10 @@ namespace Kasizuki
 		private void SetAppealImage(AppealData.Data data)
 		{
 			MaidAppealComment cache = base.GetCache<MaidAppealComment>("Appeal");
-			if (Product.AEWDA)
+			if (Product.supportMultiLanguage)
 			{
 				Dictionary<string, Texture2D> dictionary = new Dictionary<string, Texture2D>();
-				foreach (string text in LocalizationManager.GetAllLanguagesCode(true, true))
+				foreach (string text in LocalizationManager.GetAllLanguages(true))
 				{
 					dictionary.Add(text, data.GetTexture(text));
 				}

+ 16 - 1
Assembly-CSharp/Kasizuki/ManDataType.cs

@@ -2,6 +2,7 @@
 
 namespace Kasizuki
 {
+	[Obsolete]
 	public enum ManDataType
 	{
 		主人公 = 10,
@@ -9,6 +10,20 @@ namespace Kasizuki
 		傅き男2 = 30,
 		傅き男3 = 40,
 		傅き男4 = 50,
-		傅き男5 = 60
+		傅き男5 = 60,
+		傅き男6 = 70,
+		傅き男7 = 80,
+		傅き男8 = 90,
+		傅き男9 = 100,
+		傅き男10 = 110,
+		傅き男11 = 120,
+		傅き男12 = 130,
+		傅き男13 = 140,
+		傅き男14 = 150,
+		傅き男15 = 160,
+		傅き男16 = 170,
+		傅き男17 = 180,
+		傅き男18 = 190,
+		傅き男19 = 200
 	}
 }

+ 2 - 2
Assembly-CSharp/Kasizuki/PlayData.cs

@@ -320,8 +320,8 @@ namespace Kasizuki
 						}
 						this.strEnablePersonalArray = array3;
 						Dictionary<ManDataType, bool> dictionary = new Dictionary<ManDataType, bool>();
-						int num = Enum.GetNames(typeof(ManDataType)).Length;
-						for (int n = 0; n < num; n++)
+						int count = ManData.Count;
+						for (int n = 0; n < count; n++)
 						{
 							string cellAsString9 = csv.GetCellAsString(cell_x, 0);
 							ManDataType manType = ManData.GetData(cellAsString9).manType;

+ 2 - 2
Assembly-CSharp/Kasizuki/RoomData.cs

@@ -196,8 +196,8 @@ namespace Kasizuki
 							}
 						}
 						Dictionary<ManDataType, bool> dictionary = new Dictionary<ManDataType, bool>();
-						int num2 = Enum.GetNames(typeof(ManDataType)).Length;
-						for (int k = 0; k < num2; k++)
+						int count = ManData.Count;
+						for (int k = 0; k < count; k++)
 						{
 							string cellAsString2 = csv.GetCellAsString(num, 0);
 							ManDataType manType = ManData.GetData(cellAsString2).manType;

+ 82 - 7
Assembly-CSharp/KupaCtrl.cs

@@ -10,7 +10,7 @@ public class KupaCtrl
 		this.m_body0 = body0;
 		for (int i = 0; i < this.m_morphId.Length; i++)
 		{
-			this.m_morphId[i] = -1;
+			this.m_morphMozaId[i] = (this.m_morphId[i] = -1);
 		}
 		if (this.m_morph.hash.ContainsKey("openkupa"))
 		{
@@ -49,6 +49,31 @@ public class KupaCtrl
 		}
 	}
 
+	public void AddMozaMorph(TMorph morphMoza)
+	{
+		this.m_morphMoza = morphMoza;
+		if (this.m_morphMoza.hash.ContainsKey("openkupa"))
+		{
+			this.m_morphMozaId[0] = (int)this.m_morphMoza.hash["openkupa"];
+		}
+		if (this.m_morphMoza.hash.ContainsKey("openvagina"))
+		{
+			this.m_morphMozaId[1] = (int)this.m_morphMoza.hash["openvagina"];
+		}
+		if (this.m_morphMoza.hash.ContainsKey("openanal"))
+		{
+			this.m_morphMozaId[2] = (int)this.m_morphMoza.hash["openanal"];
+		}
+		if (this.m_morphMoza.hash.ContainsKey("chinkos"))
+		{
+			this.m_morphMozaId[3] = (int)this.m_morphMoza.hash["chinkos"];
+		}
+		if (this.m_morphMoza.hash.ContainsKey("chinkof"))
+		{
+			this.m_morphMozaId[4] = (int)this.m_morphMoza.hash["chinkof"];
+		}
+	}
+
 	public void FinishAll()
 	{
 		for (int i = 0; i < this.m_taskList.Count; i++)
@@ -57,6 +82,10 @@ public class KupaCtrl
 		}
 		this.m_taskList.Clear();
 		this.m_morph.FixBlendValues();
+		if (this.m_morphMoza != null)
+		{
+			this.m_morphMoza.FixBlendValues();
+		}
 	}
 
 	public void ResetAll()
@@ -66,10 +95,18 @@ public class KupaCtrl
 			if (this.m_morphId[i] != -1)
 			{
 				this.m_morph.SetBlendValues(this.m_morphId[i], 0f);
+				if (this.m_morphMoza != null && this.m_morphMozaId[i] != -1)
+				{
+					this.m_morphMoza.SetBlendValues(this.m_morphMozaId[i], 0f);
+				}
 			}
 		}
 		this.m_taskList.Clear();
 		this.m_morph.FixBlendValues();
+		if (this.m_morphMoza != null)
+		{
+			this.m_morphMoza.FixBlendValues();
+		}
 	}
 
 	public void KupaStart(KupaCtrl.OPEN reg, float trans, float delay, float val, bool add = false)
@@ -80,7 +117,7 @@ public class KupaCtrl
 		}
 		if (this.m_morphId[(int)reg] != -1)
 		{
-			this.m_taskList.Add(new KupaCtrl.Task(this.m_morph, this.m_morphId[(int)reg], reg, trans, delay, val));
+			this.m_taskList.Add(new KupaCtrl.Task(this.m_morph, this.m_morphMoza, this.m_morphId[(int)reg], this.m_morphMozaId[(int)reg], reg, trans, delay, val));
 		}
 	}
 
@@ -103,7 +140,7 @@ public class KupaCtrl
 			array[2] = array[1].Find("chinko_nub");
 			if (this.m_morphId[(int)reg] != -1)
 			{
-				this.m_taskList.Add(new KupaCtrl.Target(this.m_morph, this.m_morphId[(int)reg], reg, this.m_trans[(int)reg], array, val, speedIn, sppedOut, outVal, lengthRatio));
+				this.m_taskList.Add(new KupaCtrl.Target(this.m_morph, this.m_morphMoza, this.m_morphId[(int)reg], this.m_morphMozaId[(int)reg], reg, this.m_trans[(int)reg], array, val, speedIn, sppedOut, outVal, lengthRatio));
 			}
 		}
 	}
@@ -128,7 +165,7 @@ public class KupaCtrl
 			Transform src = CMT.SearchObjName(targetMaid.body0.m_trBones, this.m_targetBoneName[(int)target], true);
 			if (this.m_morphId[(int)reg] != -1)
 			{
-				this.m_taskList.Add(new KupaCtrl.Target(this.m_morph, this.m_morphId[(int)reg], reg, src, array, destVal, speedIn, sppedOut, outVal, lengthRatio));
+				this.m_taskList.Add(new KupaCtrl.Target(this.m_morph, this.m_morphMoza, this.m_morphId[(int)reg], this.m_morphMozaId[(int)reg], reg, src, array, destVal, speedIn, sppedOut, outVal, lengthRatio));
 			}
 		}
 	}
@@ -151,6 +188,10 @@ public class KupaCtrl
 		if (this.m_morphId[(int)reg] != -1)
 		{
 			this.m_morph.SetBlendValues(this.m_morphId[(int)reg], 0f);
+			if (this.m_morphMoza != null && this.m_morphMozaId[(int)reg] != -1)
+			{
+				this.m_morphMoza.SetBlendValues(this.m_morphMozaId[(int)reg], 0f);
+			}
 		}
 		this.m_taskList.RemoveAll((KupaCtrl.ATask i) => i.m_reg == reg);
 	}
@@ -165,16 +206,24 @@ public class KupaCtrl
 		if (flag)
 		{
 			this.m_morph.FixBlendValues();
+			if (this.m_morphMoza != null)
+			{
+				this.m_morphMoza.FixBlendValues();
+			}
 		}
 		this.m_taskList.RemoveAll((KupaCtrl.ATask i) => !i.IsVisible());
 	}
 
 	public TMorph m_morph;
 
+	public TMorph m_morphMoza;
+
 	public TBody m_body0;
 
 	private int[] m_morphId = new int[5];
 
+	private int[] m_morphMozaId = new int[5];
+
 	private string[] m_targetBoneName = new string[]
 	{
 		"Mouth",
@@ -206,10 +255,12 @@ public class KupaCtrl
 
 	private abstract class ATask
 	{
-		public ATask(TMorph morph, int id, KupaCtrl.OPEN reg)
+		public ATask(TMorph morph, TMorph morphMoza, int id, int mozaId, KupaCtrl.OPEN reg)
 		{
 			this.m_morph = morph;
+			this.m_morphMoza = morphMoza;
 			this.m_id = id;
+			this.m_mozaId = mozaId;
 			this.m_reg = reg;
 		}
 
@@ -223,6 +274,10 @@ public class KupaCtrl
 		public virtual void ForceReset()
 		{
 			this.m_morph.SetBlendValues(this.m_id, 0f);
+			if (this.m_morphMoza != null && this.m_mozaId != -1)
+			{
+				this.m_morphMoza.SetBlendValues(this.m_mozaId, 0f);
+			}
 			this.m_visible = false;
 		}
 
@@ -230,8 +285,12 @@ public class KupaCtrl
 
 		protected TMorph m_morph;
 
+		protected TMorph m_morphMoza;
+
 		protected int m_id;
 
+		protected int m_mozaId;
+
 		public KupaCtrl.OPEN m_reg;
 
 		protected bool m_visible;
@@ -239,7 +298,7 @@ public class KupaCtrl
 
 	private class Task : KupaCtrl.ATask
 	{
-		public Task(TMorph morph, int id, KupaCtrl.OPEN reg, float trans, float delay, float val) : base(morph, id, reg)
+		public Task(TMorph morph, TMorph morphMoza, int id, int mozaId, KupaCtrl.OPEN reg, float trans, float delay, float val) : base(morph, morphMoza, id, mozaId, reg)
 		{
 			this.m_transTime = trans;
 			this.m_delayTime = delay;
@@ -257,6 +316,10 @@ public class KupaCtrl
 		public override void ForceFinish()
 		{
 			this.m_morph.SetBlendValues(this.m_id, this.m_distVal);
+			if (this.m_morphMoza != null && this.m_mozaId != -1)
+			{
+				this.m_morphMoza.SetBlendValues(this.m_mozaId, this.m_distVal);
+			}
 			this.m_visible = false;
 		}
 
@@ -297,6 +360,10 @@ public class KupaCtrl
 			if (num4 != this.m_morph.GetBlendValues(this.m_id))
 			{
 				this.m_morph.SetBlendValues(this.m_id, num4);
+				if (this.m_morphMoza != null && this.m_mozaId != -1)
+				{
+					this.m_morphMoza.SetBlendValues(this.m_mozaId, num4);
+				}
 				return true;
 			}
 			return false;
@@ -321,7 +388,7 @@ public class KupaCtrl
 
 	private class Target : KupaCtrl.ATask
 	{
-		public Target(TMorph morph, int id, KupaCtrl.OPEN reg, Transform src, Transform[] target, float val = 1f, float speedIn = 5f, float sppedOut = 5f, float outVal = 0f, float lengthRatio = 1f) : base(morph, id, reg)
+		public Target(TMorph morph, TMorph morphMoza, int id, int mozaId, KupaCtrl.OPEN reg, Transform src, Transform[] target, float val = 1f, float speedIn = 5f, float sppedOut = 5f, float outVal = 0f, float lengthRatio = 1f) : base(morph, morphMoza, id, mozaId, reg)
 		{
 			this.m_src = src;
 			this.m_target = target;
@@ -343,6 +410,10 @@ public class KupaCtrl
 		public override void ForceReset()
 		{
 			this.m_morph.SetBlendValues(this.m_id, 0f);
+			if (this.m_morphMoza != null && this.m_mozaId != -1)
+			{
+				this.m_morphMoza.SetBlendValues(this.m_mozaId, 0f);
+			}
 			this.m_visible = false;
 		}
 
@@ -431,6 +502,10 @@ public class KupaCtrl
 			if (num13 != this.m_morph.GetBlendValues(this.m_id))
 			{
 				this.m_morph.SetBlendValues(this.m_id, num13);
+				if (this.m_morphMoza != null && this.m_mozaId != -1)
+				{
+					this.m_morphMoza.SetBlendValues(this.m_mozaId, num13);
+				}
 				return true;
 			}
 			return false;

+ 7 - 7
Assembly-CSharp/Maid.cs

@@ -193,7 +193,7 @@ public class Maid : MonoBehaviour
 		else
 		{
 			this.SetUpModel("_I_default.menu");
-			if (Product.FDAWBW)
+			if (Product.isPublic)
 			{
 				this.SetProp(MPN.bra, "bra030_i_.menu", 0, false, false);
 				this.SetProp(MPN.panz, "Pants030_i_.menu", 0, false, false);
@@ -657,7 +657,7 @@ public class Maid : MonoBehaviour
 			mp.m_dicTBodyAttachPos.Clear();
 			mp.m_dicMaterialProp.Clear();
 			mp.m_dicBoneLength.Clear();
-			if (Product.FDAWBW)
+			if (Product.isPublic)
 			{
 				f_nFileNameRID = mp.nFileNameRID;
 				if (filename.Contains("_del"))
@@ -1203,7 +1203,7 @@ public class Maid : MonoBehaviour
 		}
 		else if (mp.type == 3)
 		{
-			if (Product.FDAWBW && (mp.boTempDut || mp.boDut) && (mp.idx == 44 || mp.idx == 55 || mp.idx == 62 || mp.idx == 63 || mp.idx == 44 || mp.idx == 82 || mp.idx == 90 || mp.idx == 91 || mp.idx == 93))
+			if (Product.isPublic && (mp.boTempDut || mp.boDut) && (mp.idx == 44 || mp.idx == 55 || mp.idx == 62 || mp.idx == 63 || mp.idx == 44 || mp.idx == 82 || mp.idx == 90 || mp.idx == 91 || mp.idx == 93))
 			{
 				mp.boDut = false;
 				mp.boTempDut = false;
@@ -1343,7 +1343,7 @@ public class Maid : MonoBehaviour
 	public bool SerializeProp(BinaryWriter f_bwWrite)
 	{
 		f_bwWrite.Write("CM3D2_MPROP_LIST");
-		f_bwWrite.Write(1280);
+		f_bwWrite.Write(1290);
 		f_bwWrite.Write(this.m_dicMaidProp.Count);
 		int num = 0;
 		foreach (KeyValuePair<string, MaidProp> keyValuePair in this.m_dicMaidProp)
@@ -1377,7 +1377,7 @@ public class Maid : MonoBehaviour
 	public bool SerializeMisc(BinaryWriter f_bwWrite)
 	{
 		f_bwWrite.Write("CM3D2_MAID_MISC");
-		f_bwWrite.Write(1280);
+		f_bwWrite.Write(1290);
 		f_bwWrite.Write(this.m_nActiveSlotNo);
 		if (this.m_texIcon != null)
 		{
@@ -1402,7 +1402,7 @@ public class Maid : MonoBehaviour
 	public bool SerializeBody(BinaryWriter f_bwWrite)
 	{
 		f_bwWrite.Write("CM3D2_MAID_BODY");
-		f_bwWrite.Write(1280);
+		f_bwWrite.Write(1290);
 		return true;
 	}
 
@@ -1434,7 +1434,7 @@ public class Maid : MonoBehaviour
 			MaidProp prop4 = this.GetProp(MPN.EyeSclY);
 			prop4.value = prop2.value;
 		}
-		if (!this.boMAN && Product.FDAWBW)
+		if (!this.boMAN && Product.isPublic)
 		{
 			this.SetProp(MPN.bra, "bra030_i_.menu", 0, false, false);
 			this.SetProp(MPN.panz, "Pants030_i_.menu", 0, false, false);

+ 2 - 2
Assembly-CSharp/MaidManagementMain.cs

@@ -27,7 +27,7 @@ public class MaidManagementMain : WfScreenChildren
 		}
 		this.yotogi_skill_list_mgr_ = UTY.GetChildObject(this.yotogi_info_object_, "YotogiSkillList", false).GetComponent<YotogiSkillListManager>();
 		this.yotogi_class_list_mgr_ = UTY.GetChildObject(this.yotogi_info_object_, "YotogiClassList", false).GetComponent<YotogiClassListManager>();
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			this.status_panel_ = UTY.GetChildObject(base.root_obj, "StatusPanel_localize", false);
 		}
@@ -169,7 +169,7 @@ public class MaidManagementMain : WfScreenChildren
 		{
 			this.button_dic_["移籍"].isEnabled = (GameMain.Instance.CharacterMgr.status.isAvailableTransfer && this.GetMaidNumber() < 200);
 		}
-		if (Product.FDAWBW)
+		if (Product.isPublic)
 		{
 			this.button_dic_["移籍"].gameObject.SetActive(false);
 			this.button_dic_["夜伽スキル"].gameObject.SetActive(false);

+ 1 - 1
Assembly-CSharp/MaidParts.cs

@@ -37,7 +37,7 @@ public class MaidParts : MonoBehaviour
 	public unsafe bool Serialize(BinaryWriter f_bwWrite)
 	{
 		f_bwWrite.Write("CM3D2_MULTI_COL");
-		f_bwWrite.Write(1280);
+		f_bwWrite.Write(1290);
 		f_bwWrite.Write(this.m_aryPartsColor.Length);
 		for (int i = 0; i < this.m_aryPartsColor.Length; i++)
 		{

+ 3 - 3
Assembly-CSharp/MaidPlate.cs

@@ -55,7 +55,7 @@ public class MaidPlate : MonoBehaviour
 
 	private void Start()
 	{
-		if (Product.FDAWBW && this.left_plate_.contract_type_label != null)
+		if (Product.isPublic && this.left_plate_.contract_type_label != null)
 		{
 			this.left_plate_.contract_type_label.gameObject.SetActive(false);
 			GameObject childObject = UTY.GetChildObject(this.left_plate_.main, "FrameBaseData/FixText2", true);
@@ -68,7 +68,7 @@ public class MaidPlate : MonoBehaviour
 				this.left_plate_.heroineTypeLocalize.transform.parent.gameObject.SetActive(true);
 			}
 		}
-		if (!Product.FDAWBW && !Product.QOPZX)
+		if (!Product.isPublic && !Product.isJapan)
 		{
 			Vector3 localPosition = this.left_plate_.contract_type_label.transform.localPosition;
 			this.left_plate_.contract_type_label.transform.localPosition = new Vector3(78f, localPosition.y, localPosition.z);
@@ -177,7 +177,7 @@ public class MaidPlate : MonoBehaviour
 			this.left_plate_.contract_type_label.text = status.subCharaStatus.contractText;
 			Utility.SetLocalizeTerm(this.left_plate_.contract_type_label, status.subCharaStatus.contractTextTerm, false);
 		}
-		if (Product.FDAWBW && this.left_plate_.heroineTypeLocalize != null)
+		if (Product.isPublic && this.left_plate_.heroineTypeLocalize != null)
 		{
 			if (maid.status.heroineType == HeroineType.Sub && maid.status.subCharaStatus != null)
 			{

+ 1 - 1
Assembly-CSharp/MaidProp.cs

@@ -8,7 +8,7 @@ public class MaidProp
 	public bool Serialize(BinaryWriter f_bwWrite)
 	{
 		f_bwWrite.Write("CM3D2_MPROP");
-		f_bwWrite.Write(1280);
+		f_bwWrite.Write(1290);
 		f_bwWrite.Write(this.idx);
 		f_bwWrite.Write(this.name);
 		f_bwWrite.Write(this.type);

+ 3 - 3
Assembly-CSharp/MaidRandomName.cs

@@ -5,7 +5,7 @@ internal static class MaidRandomName
 {
 	public static string GetLastName()
 	{
-		if (Product.DOPLGBNE)
+		if (Product.isEnglish)
 		{
 			return MaidRandomName.last_name_array_en[UnityEngine.Random.Range(0, MaidRandomName.last_name_array_en.Length)];
 		}
@@ -14,7 +14,7 @@ internal static class MaidRandomName
 
 	public static string GetFirstName()
 	{
-		if (Product.DOPLGBNE)
+		if (Product.isEnglish)
 		{
 			return MaidRandomName.first_name_array_en[UnityEngine.Random.Range(0, MaidRandomName.first_name_array_en.Length)];
 		}
@@ -23,7 +23,7 @@ internal static class MaidRandomName
 
 	public static string GetPlayerName()
 	{
-		if (Product.DOPLGBNE)
+		if (Product.isEnglish)
 		{
 			return MaidRandomName.player_name_array_en[UnityEngine.Random.Range(0, MaidRandomName.player_name_array_en.Length)];
 		}

+ 4 - 4
Assembly-CSharp/MaidStatus/Status.cs

@@ -55,7 +55,7 @@ namespace MaidStatus
 		{
 			get
 			{
-				return (!Product.DOPLGBNE) ? 8 : 11;
+				return (!Product.isEnglish) ? 8 : 11;
 			}
 		}
 
@@ -141,7 +141,7 @@ namespace MaidStatus
 		{
 			get
 			{
-				NamePair result = new NamePair((!Product.DOPLGBNE) ? this.lastName : this.firstName, (!Product.DOPLGBNE) ? this.firstName : this.lastName);
+				NamePair result = new NamePair((!Product.isEnglish) ? this.lastName : this.firstName, (!Product.isEnglish) ? this.firstName : this.lastName);
 				return result;
 			}
 		}
@@ -241,7 +241,7 @@ namespace MaidStatus
 			}
 			set
 			{
-				if (Product.FD && (this.personal.uniqueName == "Muku" || this.personal.uniqueName == "Majime" || this.personal.uniqueName == "Rindere"))
+				if (Product.enabeldAdditionalRelation && (this.personal.uniqueName == "Muku" || this.personal.uniqueName == "Majime" || this.personal.uniqueName == "Rindere"))
 				{
 					this.additionalRelation_ = value;
 				}
@@ -1316,7 +1316,7 @@ namespace MaidStatus
 		public void Serialize(BinaryWriter binary)
 		{
 			binary.Write("CM3D2_MAID_STATUS");
-			binary.Write(1280);
+			binary.Write(1290);
 			binary.Write(this.guid);
 			binary.Write(this.creationTime);
 			binary.Write((short)this.heroineType);

+ 9 - 7
Assembly-CSharp/MaidStatus/SubMaid.cs

@@ -134,7 +134,7 @@ namespace MaidStatus
 						this.uniqueName = basicCsv.GetCellAsString(num++, i);
 						this.replaceText = basicCsv.GetCellAsString(num++, i);
 						this.isEditPossible = (basicCsv.GetCellAsString(num++, i) == "〇");
-						this.status = new SubMaid.Data.CharacterStatus(this.id, false, basicCsv, i);
+						this.status = new SubMaid.Data.CharacterStatus(this.id, this.uniqueName, false, basicCsv, i);
 						break;
 					}
 				}
@@ -142,7 +142,7 @@ namespace MaidStatus
 				{
 					if (kissSideCsv.IsCellToExistData(0, j) && kissSideCsv.GetCellAsInteger(0, j) == id)
 					{
-						this.secondStatus = new SubMaid.Data.CharacterStatus(this.id, true, kissSideCsv, j);
+						this.secondStatus = new SubMaid.Data.CharacterStatus(this.id, this.uniqueName, true, kissSideCsv, j);
 						break;
 					}
 				}
@@ -263,7 +263,7 @@ namespace MaidStatus
 
 			public class CharacterStatus
 			{
-				public CharacterStatus(int id, bool kissSideNPC, CsvParser basicCsv, int lineY)
+				public CharacterStatus(int id, string uniqueName, bool kissSideNPC, CsvParser basicCsv, int lineY)
 				{
 					this.id = id;
 					this.kissSideNPC = kissSideNPC;
@@ -319,7 +319,7 @@ namespace MaidStatus
 				{
 					get
 					{
-						return "SubMaid/" + this.id.ToString() + "/苗字";
+						return "SubMaid/" + this.uniqueName + "/苗字";
 					}
 				}
 
@@ -327,7 +327,7 @@ namespace MaidStatus
 				{
 					get
 					{
-						return "SubMaid/" + this.id.ToString() + "/名前";
+						return "SubMaid/" + this.uniqueName + "/名前";
 					}
 				}
 
@@ -343,7 +343,7 @@ namespace MaidStatus
 				{
 					get
 					{
-						return "SubMaid/" + this.id.ToString() + "/性格";
+						return "SubMaid/" + this.uniqueName + "/性格";
 					}
 				}
 
@@ -351,12 +351,14 @@ namespace MaidStatus
 				{
 					get
 					{
-						return "SubMaid/" + this.id.ToString() + "/状態";
+						return "SubMaid/" + this.uniqueName + "/状態";
 					}
 				}
 
 				public readonly int id;
 
+				public readonly string uniqueName;
+
 				public readonly bool kissSideNPC;
 
 				public readonly string lastName;

+ 1 - 1
Assembly-CSharp/Menu.cs

@@ -911,7 +911,7 @@ public class Menu : MonoBehaviour
 			Directory.CreateDirectory(text);
 		}
 		StreamWriter streamWriter = new StreamWriter(text + "\\" + text2 + ".txt", false, Encoding.UTF8);
-		streamWriter.WriteLine("出力バージョン\t" + 1280);
+		streamWriter.WriteLine("出力バージョン\t" + 1290);
 		streamWriter.WriteLine("基本アイテム\t" + filename.Replace(" ", ":"));
 		try
 		{

+ 3 - 3
Assembly-CSharp/MessageClass.cs

@@ -18,7 +18,7 @@ public class MessageClass
 		this.hitret_sprite_.alpha = 0f;
 		this.mainTextAnimation = new MessageClass.TextAnimation();
 		this.subTextAnimation = new MessageClass.TextAnimation();
-		if (!Product.AEWDA)
+		if (!Product.supportMultiLanguage)
 		{
 			this.subtitles_manager_.visible = false;
 			this.subtitles_manager_ = null;
@@ -48,7 +48,7 @@ public class MessageClass
 				return new KeyValuePair<string, string>(baseText, string.Empty);
 			}
 		}
-		if (!Product.AEWDA)
+		if (!Product.supportMultiLanguage)
 		{
 			return new KeyValuePair<string, string>(baseText.Substring(0, num), string.Empty);
 		}
@@ -289,7 +289,7 @@ public class MessageClass
 		{
 			get
 			{
-				if (!Product.AEWDA)
+				if (!Product.supportMultiLanguage)
 				{
 					return (int)((100f - (float)GameMain.Instance.CMSystem.MsgTextSpeed) * 1.5f);
 				}

+ 2 - 2
Assembly-CSharp/MessageWindowCtrl.cs

@@ -33,7 +33,7 @@ public class MessageWindowCtrl : MonoBehaviour
 	{
 		UTY.GetChildObject(this.m_goSelectorViewer, "Scroll Bar/Down", false).GetComponent<UISprite>().enabled = true;
 		UTY.GetChildObject(this.m_goSelectorViewer, "Scroll Bar/Up", false).GetComponent<UISprite>().enabled = true;
-		string text = (!Product.AEWDA) ? "SystemUI/MessageWindow/Main/Prefabs/SelectButton" : "SystemUI/MessageWindow/Main/Prefabs/SelectButtonDouble";
+		string text = (!Product.supportMultiLanguage) ? "SystemUI/MessageWindow/Main/Prefabs/SelectButton" : "SystemUI/MessageWindow/Main/Prefabs/SelectButtonDouble";
 		UnityEngine.Object @object = Resources.Load(text);
 		if (@object == null)
 		{
@@ -53,7 +53,7 @@ public class MessageWindowCtrl : MonoBehaviour
 	public void CreateBacklog(List<BacklogCtrl.BacklogUnit> dicBacklog)
 	{
 		string path;
-		if (!Product.AEWDA)
+		if (!Product.supportMultiLanguage)
 		{
 			path = "SystemUI/MessageWindow/Backlog/Prefabs/BacklogUnit";
 		}

+ 7 - 1
Assembly-CSharp/Misc.cs

@@ -2,7 +2,7 @@
 
 public class Misc
 {
-	public const int GAME_VERSION = 1280;
+	public const int GAME_VERSION = 1290;
 
 	public const string GAME_DATA_PATH = "GameData";
 
@@ -32,6 +32,12 @@ public class Misc
 
 	public const string SHOP_URL = "https://com3d2-shop.s-court.me/?ctv=1";
 
+	public const string SHOP_URL_PUBLIC = "";
+
+	public const string SHOP_URL_EN = "";
+
+	public const string SHOP_URL_EN_PUBLIC = "";
+
 	public const string LAUNCHER_EXE = "COM3D2.exe";
 
 	public const string AUTO_PATH = "paths.dat";

+ 1 - 1
Assembly-CSharp/ModCompile.cs

@@ -604,7 +604,7 @@ public class ModCompile : MonoBehaviour
 		MemoryStream memoryStream = new MemoryStream();
 		BinaryWriter binaryWriter = new BinaryWriter(memoryStream);
 		binaryWriter.Write("CM3D2_MESH");
-		binaryWriter.Write(1280);
+		binaryWriter.Write(1290);
 		string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(f_strMqoFile);
 		binaryWriter.Write(fileNameWithoutExtension);
 		binaryWriter.Write(exObjIn2.strName);

+ 2 - 2
Assembly-CSharp/MotionWindow.cs

@@ -25,7 +25,7 @@ public class MotionWindow : BaseMaidPhotoWindow
 				dictionary[keyValuePair.Key].Add(keyValuePair.Value[i].nameTerm);
 			}
 		}
-		if (!Product.AEWDA)
+		if (!Product.supportMultiLanguage)
 		{
 			dictionary = null;
 		}
@@ -217,7 +217,7 @@ public class MotionWindow : BaseMaidPhotoWindow
 			UTY.GetChildObject(this.content_game_object, "ListParent/DragMat", false).GetComponent<BoxCollider>().enabled = true;
 			Dictionary<string, string> maidStoreData = base.GetMaidStoreData(maid);
 			PhotoMotionData photoMotionData = PhotoMotionData.Get(long.Parse(maidStoreData["id"]));
-			this.PopupAndTabList.popup_term_list = ((!Product.AEWDA) ? null : (maid.boMAN ? PhotoMotionData.popup_category_term_list_for_man : PhotoMotionData.popup_category_term_list));
+			this.PopupAndTabList.popup_term_list = ((!Product.supportMultiLanguage) ? null : (maid.boMAN ? PhotoMotionData.popup_category_term_list_for_man : PhotoMotionData.popup_category_term_list));
 			this.PopupAndTabList.popup_value_list = (maid.boMAN ? PhotoMotionData.popup_category_list_for_man : PhotoMotionData.popup_category_list);
 			this.PopupAndTabList.SetPopupValue(photoMotionData.category);
 			this.PopupAndTabList.SetSelectButton(photoMotionData, false);

+ 1 - 1
Assembly-CSharp/MyRoomCustom/CreativeRoom.cs

@@ -581,7 +581,7 @@ namespace MyRoomCustom
 
 		private void UpdateRoomSizeText()
 		{
-			if (!Product.AEWDA)
+			if (!Product.supportMultiLanguage)
 			{
 				this.m_UITextRoomSizeX.text = "横幅:" + string.Format("{0:#0.##}", (float)this.mapSizeX * this.unitSize) + "m";
 				this.m_UITextRoomSizeZ.text = "奥行:" + string.Format("{0:#0.##}", (float)this.mapSizeZ * this.unitSize) + "m";

+ 1 - 1
Assembly-CSharp/NGUIText.cs

@@ -844,7 +844,7 @@ public static class NGUIText
 		while (i < length)
 		{
 			char c = text[i];
-			if (Product.AEWDA)
+			if (Product.supportMultiLanguage)
 			{
 				flag3 = false;
 			}

+ 1 - 1
Assembly-CSharp/ObjectManagerWindow.cs

@@ -48,7 +48,7 @@ public class ObjectManagerWindow : BaseMaidPhotoWindow
 		this.AttachPointWindow.onStateTextChangeEvent = delegate(string text)
 		{
 			this.AttachPointStateLabel.text = text;
-			if (Product.AEWDA)
+			if (Product.supportMultiLanguage)
 			{
 				string termPrefix = string.Empty;
 				string term;

+ 2 - 2
Assembly-CSharp/OnHoverTaskIcon.cs

@@ -53,7 +53,7 @@ public class OnHoverTaskIcon : MonoBehaviour
 	public void SetText(string message, int needNum = -1)
 	{
 		UISprite component = this.m_goNamePlate.GetComponent<UISprite>();
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			string text = message;
 			if (message.IndexOf('\n') != -1)
@@ -113,7 +113,7 @@ public class OnHoverTaskIcon : MonoBehaviour
 		{
 			if (this.m_goNamePlate != null)
 			{
-				if (Product.AEWDA)
+				if (Product.supportMultiLanguage)
 				{
 					this.SetText(this.taskName, -1);
 				}

+ 1 - 1
Assembly-CSharp/OvrHandItemMgr.cs

@@ -50,7 +50,7 @@ public class OvrHandItemMgr : MonoBehaviour
 
 	public void ChangeModel(int f_nType)
 	{
-		if (Product.FDAWBW)
+		if (Product.isPublic)
 		{
 			f_nType = 0;
 		}

+ 2 - 2
Assembly-CSharp/OvrIK.cs

@@ -1568,7 +1568,7 @@ public class OvrIK : MonoBehaviour
 	{
 		public void OnBeforeSerialize()
 		{
-			this.m_nVersion = 1280;
+			this.m_nVersion = 1290;
 		}
 
 		public void OnAfterDeserialize()
@@ -1628,7 +1628,7 @@ public class OvrIK : MonoBehaviour
 		private const string CONF_NAME = "OvrIK.json";
 
 		[SerializeField]
-		private int m_nVersion = 1280;
+		private int m_nVersion = 1290;
 
 		[SerializeField]
 		private float solver_locomotion_weight = 1f;

+ 1 - 1
Assembly-CSharp/PhotoModeSaveAndLoad.cs

@@ -450,7 +450,7 @@ public class PhotoModeSaveAndLoad : MonoBehaviour
 	private XElement CreateCommonData(string title, string comment)
 	{
 		string value = DateTime.ParseExact(DateTime.Now.ToString("yyyyMMddHHmmss"), "yyyyMMddHHmmss", null).ToString("yyyy.MM.dd HH:mm");
-		XElement xelement = new XElement("GameVersion", 1280);
+		XElement xelement = new XElement("GameVersion", 1290);
 		XElement xelement2 = new XElement("SaveTime", value);
 		XElement xelement3 = new XElement("Title", title);
 		XElement xelement4 = new XElement("Comment", comment);

+ 2 - 2
Assembly-CSharp/PlayerStatus/Status.cs

@@ -15,7 +15,7 @@ namespace PlayerStatus
 			Trophy.CreateData();
 			this.playerName_ = MaidRandomName.GetPlayerName();
 			this.clubName_ = "エンパイアクラブ";
-			if (Product.DOPLGBNE)
+			if (Product.isEnglish)
 			{
 				this.clubName_ = "EmpireClub";
 			}
@@ -831,7 +831,7 @@ namespace PlayerStatus
 		public void Serialize(BinaryWriter binary)
 		{
 			binary.Write("CM3D2_PLAYER_STATUS");
-			binary.Write(1280);
+			binary.Write(1290);
 			binary.Write(this.playerName_);
 			binary.Write(this.days_);
 			binary.Write(this.totalPurchasePrice_);

+ 1 - 1
Assembly-CSharp/PopupAndButtonList.cs

@@ -146,7 +146,7 @@ public class PopupAndButtonList : MonoBehaviour
 			gameObject.SetActive(true);
 			gameObject.name = list[k].guid.ToString();
 			gameObject.GetComponentInChildren<UILabel>().text = list[k].draw_title;
-			if (Product.AEWDA)
+			if (Product.supportMultiLanguage)
 			{
 				Localize componentInChildren = gameObject.GetComponentInChildren<Localize>();
 				if (componentInChildren != null)

+ 1 - 1
Assembly-CSharp/PopupAndTabList.cs

@@ -169,7 +169,7 @@ public class PopupAndTabList : MonoBehaviour
 			gameObject.SetActive(true);
 			gameObject.name = list[k].guid.ToString();
 			gameObject.GetComponentInChildren<UILabel>().text = list[k].draw_title;
-			if (Product.AEWDA)
+			if (Product.supportMultiLanguage)
 			{
 				Localize componentInChildren = gameObject.GetComponentInChildren<Localize>();
 				if (componentInChildren != null)

+ 2 - 2
Assembly-CSharp/PositionStoreForLocalize.cs

@@ -21,7 +21,7 @@ public class PositionStoreForLocalize : UIWFPositionStore
 
 	protected void OnLocalize()
 	{
-		if (!base.gameObject.activeInHierarchy || this.targetLanguage != Product.OUIWEHVA)
+		if (!base.gameObject.activeInHierarchy || this.targetLanguage != Product.systemLanguage)
 		{
 			return;
 		}
@@ -29,5 +29,5 @@ public class PositionStoreForLocalize : UIWFPositionStore
 	}
 
 	[SerializeField]
-	protected Product.JQOVNMDS targetLanguage;
+	protected Product.Language targetLanguage;
 }

+ 1 - 1
Assembly-CSharp/PresetCtrl.cs

@@ -220,7 +220,7 @@ public class PresetCtrl : MonoBehaviour
 		{
 			CharacterMgr.Preset preset = presetButton.preset;
 			GameMain.Instance.CharacterMgr.PresetSet(this.m_maid, preset);
-			if (Product.FDAWBW)
+			if (Product.isPublic)
 			{
 				this.m_maid.AllProcProp();
 			}

+ 58 - 46
Assembly-CSharp/Product.cs

@@ -4,59 +4,59 @@ using UnityEngine;
 
 public static class Product
 {
-	public static Product.PAWCAQ FEA { get; private set; }
+	public static Product.Type type { get; private set; }
 
-	public static bool AEWDA
+	public static bool supportMultiLanguage
 	{
 		get
 		{
-			return Product.FEA != Product.PAWCAQ.IKD && Product.FEA != Product.PAWCAQ.OQK;
+			return Product.type != Product.Type.JpAdult && Product.type != Product.Type.JpPublic;
 		}
 	}
 
-	public static bool FDAWBW
+	public static bool isPublic
 	{
 		get
 		{
-			return Product.FEA == Product.PAWCAQ.OQK || Product.FEA == Product.PAWCAQ.INA;
+			return Product.type == Product.Type.JpPublic || Product.type == Product.Type.EnPublic;
 		}
 	}
 
-	public static bool QOPZX
+	public static bool isJapan
 	{
 		get
 		{
-			return Product.FEA == Product.PAWCAQ.IKD || Product.FEA == Product.PAWCAQ.OQK;
+			return Product.type == Product.Type.JpAdult || Product.type == Product.Type.JpPublic;
 		}
 	}
 
-	public static bool DOPLGBNE
+	public static bool isEnglish
 	{
 		get
 		{
-			return Product.FEA == Product.PAWCAQ.CMS || Product.FEA == Product.PAWCAQ.INA;
+			return Product.type == Product.Type.EnAdult || Product.type == Product.Type.EnPublic;
 		}
 	}
 
-	public static Product.JQOVNMDS OUIWEHVA
+	public static Product.Language systemLanguage
 	{
 		get
 		{
-			if (!Product.AEWDA)
+			if (!Product.supportMultiLanguage)
 			{
-				return Product.JQOVNMDS.P0L;
+				return Product.Language.Japanese;
 			}
 			string currentLanguage = LocalizationManager.CurrentLanguage;
-			return (!(currentLanguage == "English")) ? Product.JQOVNMDS.P0L : Product.JQOVNMDS.AQC;
+			return (!(currentLanguage == "English")) ? Product.Language.Japanese : Product.Language.English;
 		}
 		set
 		{
-			if (!Product.AEWDA)
+			if (!Product.supportMultiLanguage)
 			{
-				LocalizationManager.CurrentLanguage = Product.EnumConvert.FEWQAVASV(Product.JQOVNMDS.P0L);
+				LocalizationManager.CurrentLanguage = Product.EnumConvert.ToI2LocalizeLanguageName(Product.Language.Japanese);
 				return;
 			}
-			LocalizationManager.CurrentLanguage = Product.EnumConvert.FEWQAVASV(value);
+			LocalizationManager.CurrentLanguage = Product.EnumConvert.ToI2LocalizeLanguageName(value);
 			foreach (LanguageSource languageSource in LocalizationManager.Sources)
 			{
 				languageSource.LoadAllLanguages(false);
@@ -64,11 +64,11 @@ public static class Product
 		}
 	}
 
-	public static Product.JQOVNMDS POEWBBA
+	public static Product.Language defaultLanguage
 	{
 		get
 		{
-			return (!Product.AEWDA) ? Product.JQOVNMDS.P0L : Product.JQOVNMDS.AQC;
+			return (!Product.supportMultiLanguage) ? Product.Language.Japanese : Product.Language.English;
 		}
 	}
 
@@ -76,8 +76,12 @@ public static class Product
 	{
 		get
 		{
-			string term = "System/カスタムオーダーメイド3D 2";
-			return LocalizationManager.GetTranslation(term, true, 0, true, false, null, Product.EnumConvert.FEWQAVASV(Product.OUIWEHVA));
+			string text = "System/カスタムオーダーメイド3D 2";
+			if (Product.isPublic)
+			{
+				text += "全年齢";
+			}
+			return LocalizationManager.GetTranslation(text, true, 0, true, false, null, Product.EnumConvert.ToI2LocalizeLanguageName(Product.systemLanguage));
 		}
 	}
 
@@ -85,8 +89,16 @@ public static class Product
 	{
 		get
 		{
-			string gameTitle = Product.gameTitle;
-			return "CUSTOM ORDER MAID 3D 2";
+			string text = Product.gameTitle;
+			if (Product.isJapan)
+			{
+				text = "CUSTOM ORDER MAID 3D 2";
+				if (Product.isPublic)
+				{
+					text += " It's a Night Magic";
+				}
+			}
+			return text;
 		}
 	}
 
@@ -94,16 +106,16 @@ public static class Product
 	{
 		get
 		{
-			Product.PAWCAQ fea = Product.FEA;
-			if (fea == Product.PAWCAQ.OQK)
+			Product.Type type = Product.type;
+			if (type == Product.Type.JpPublic)
 			{
 				return "_public";
 			}
-			if (fea == Product.PAWCAQ.CMS)
+			if (type == Product.Type.EnAdult)
 			{
 				return "_en";
 			}
-			if (fea != Product.PAWCAQ.INA)
+			if (type != Product.Type.EnPublic)
 			{
 				return string.Empty;
 			}
@@ -111,66 +123,66 @@ public static class Product
 		}
 	}
 
-	public static bool FD
+	public static bool enabeldAdditionalRelation
 	{
 		get
 		{
-			return Product.FEA != Product.PAWCAQ.IKD;
+			return Product.type != Product.Type.JpAdult;
 		}
 	}
 
 	public static void Initialize(AFileSystemBase fileSystem)
 	{
-		Product.FEA = Product.PAWCAQ.IKD;
-		Debug.Log("ProductType:" + Product.FEA.ToString());
-		Product.OUIWEHVA = Product.POEWBBA;
+		Product.type = Product.Type.JpAdult;
+		Debug.Log("ProductType:" + Product.type.ToString());
+		Product.systemLanguage = Product.defaultLanguage;
 	}
 
 	public static void OnApplicationQuit()
 	{
 	}
 
-	public enum PAWCAQ
+	public enum Type
 	{
-		IKD,
-		OQK,
-		CMS,
-		INA
+		JpAdult,
+		JpPublic,
+		EnAdult,
+		EnPublic
 	}
 
-	public enum JQOVNMDS
+	public enum Language
 	{
-		P0L,
-		AQC
+		Japanese,
+		English
 	}
 
 	public static class EnumConvert
 	{
-		public static string GTREWVS(Product.JQOVNMDS p)
+		public static string GetString(Product.Language language)
 		{
-			if (p == Product.JQOVNMDS.P0L)
+			if (language == Product.Language.Japanese)
 			{
 				return "日本語";
 			}
 			return "英語";
 		}
 
-		public static string FEWQAVASV(Product.JQOVNMDS p)
+		public static string ToI2LocalizeLanguageName(Product.Language language)
 		{
-			if (p == Product.JQOVNMDS.P0L)
+			if (language == Product.Language.Japanese)
 			{
 				return "Japanese";
 			}
-			if (p != Product.JQOVNMDS.AQC)
+			if (language != Product.Language.English)
 			{
 				return "Japanese";
 			}
 			return "English";
 		}
 
-		public static string LAWEFV(Product.JQOVNMDS p)
+		public static string GetTerm(Product.Language language)
 		{
-			return "System/言語/" + Product.EnumConvert.GTREWVS(p);
+			return "System/言語/" + Product.EnumConvert.GetString(language);
 		}
 	}
 }

+ 7 - 7
Assembly-CSharp/ProfileCtrl.cs

@@ -31,7 +31,7 @@ public class ProfileCtrl : MonoBehaviour
 	{
 		get
 		{
-			return (!Product.DOPLGBNE) ? 8 : 11;
+			return (!Product.isEnglish) ? 8 : 11;
 		}
 	}
 
@@ -41,7 +41,7 @@ public class ProfileCtrl : MonoBehaviour
 		this.m_maidStatus = status;
 		string f_strObjName = "CharacterInfo/Name/FirstName";
 		string f_strObjName2 = "CharacterInfo/Name/LastName";
-		if (Product.DOPLGBNE)
+		if (Product.isEnglish)
 		{
 			UTY.GetChildObject(base.gameObject, "CharacterInfo/Name", false).SetActive(false);
 			UTY.GetChildObject(base.gameObject, "CharacterInfo/EnZone", false).SetActive(true);
@@ -130,7 +130,7 @@ public class ProfileCtrl : MonoBehaviour
 			}
 		}
 		this.m_pPersonal.items.Clear();
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			this.m_pPersonal.isLocalized = true;
 			ProfileCtrl.m_dicPersonal = new Dictionary<string, Personal.Data>();
@@ -188,7 +188,7 @@ public class ProfileCtrl : MonoBehaviour
 		this.m_inFreeComment = UTY.GetChildObject(this.m_goProfilePanel, "Comment/FreeCommentWindow/FreeComment", false).GetComponent<UIInput>();
 		EventDelegate.Add(this.m_inFreeComment.onChange, new EventDelegate.Callback(BaseMgr<ProfileMgr>.Instance.OnChangeFreeComment));
 		this.m_lProfileComment = UTY.GetChildObject(this.m_goProfilePanel, "Comment/ProfileCommentWindow/ProfileComment", false).GetComponent<UILabel>();
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			UILabel componentInChildren = this.m_inFreeComment.GetComponentInChildren<UILabel>();
 			if (componentInChildren != null)
@@ -291,7 +291,7 @@ public class ProfileCtrl : MonoBehaviour
 		this.LoadMaidParamData();
 		this.SetEnableInput(this.m_enabledInput, this.m_enabledPersonalityInput);
 		this.m_bInited = true;
-		if (Product.FDAWBW)
+		if (Product.isPublic)
 		{
 			UIWFPositionStore component2 = UTY.GetChildObject(base.gameObject, "Layout_public", false).GetComponent<UIWFPositionStore>();
 			if (component2 != null)
@@ -302,14 +302,14 @@ public class ProfileCtrl : MonoBehaviour
 			BoxCollider component3 = UTY.GetChildObject(base.gameObject, "UpperButton/Character", false).GetComponent<BoxCollider>();
 			component3.size = new Vector3(392f, component3.size.y, 0f);
 		}
-		if (Product.DOPLGBNE)
+		if (Product.isEnglish)
 		{
 			UIWFPositionStore component4 = UTY.GetChildObject(base.gameObject, "Layout_en", false).GetComponent<UIWFPositionStore>();
 			if (component4 != null)
 			{
 				component4.Apply();
 			}
-			if (Product.FDAWBW)
+			if (Product.isPublic)
 			{
 				UTY.GetChildObject(base.gameObject, "UpperButton", false).transform.localPosition = new Vector3(0f, -69f, 0f);
 				UTY.GetChildObject(base.gameObject, "Comment", false).transform.localPosition = new Vector3(UTY.GetChildObject(base.gameObject, "Comment", false).transform.localPosition.x, -42f, 0f);

+ 3 - 3
Assembly-CSharp/RandomPresetCtrl.cs

@@ -43,7 +43,7 @@ public class RandomPresetCtrl : MonoBehaviour
 		HashSet<int> hashSet = new HashSet<int>();
 		foreach (KeyValuePair<MPN, SceneEditInfo.CCateNameType> keyValuePair in this.m_dicPartsTypePair)
 		{
-			if (!Product.FDAWBW || (keyValuePair.Key != MPN.chikubicolor && keyValuePair.Key != MPN.underhair))
+			if (!Product.isPublic || (keyValuePair.Key != MPN.chikubicolor && keyValuePair.Key != MPN.underhair))
 			{
 				RandomPresetContent.MPNMapping mpnmapping;
 				if (RandomPresetContent.m_dicMPNMapping.TryGetValue(keyValuePair.Key, out mpnmapping))
@@ -103,7 +103,7 @@ public class RandomPresetCtrl : MonoBehaviour
 				}
 			}
 		}
-		if (Product.FDAWBW)
+		if (Product.isPublic)
 		{
 			UIButton[] componentsInChildren = UTY.GetChildObject(goRandomPresetPanel, "Contents", false).GetComponentsInChildren<UIButton>();
 			foreach (UIButton uibutton in componentsInChildren)
@@ -177,7 +177,7 @@ public class RandomPresetCtrl : MonoBehaviour
 
 	private void OnEnable()
 	{
-		if (!Product.FDAWBW)
+		if (!Product.isPublic)
 		{
 			return;
 		}

+ 2 - 2
Assembly-CSharp/SaveAndLoadCtrl.cs

@@ -164,7 +164,7 @@ public class SaveAndLoadCtrl : BaseCreateViewerCtrl
 			}
 			gameObject.name = key;
 			base.SetTransformInfo(gameObject);
-			if (Product.AEWDA)
+			if (Product.supportMultiLanguage)
 			{
 				UIWFPositionStore componentInChildren = gameObject.GetComponentInChildren<UIWFPositionStore>();
 				if (componentInChildren != null)
@@ -215,7 +215,7 @@ public class SaveAndLoadCtrl : BaseCreateViewerCtrl
 				GameObject childObject4 = UTY.GetChildObject(gameObject, "NotUsePanel", false);
 				if (childObject4 != null)
 				{
-					childObject4.SetActive(value.productTypeID != (int)Product.FEA);
+					childObject4.SetActive(value.productTypeID != (int)Product.type);
 				}
 			}
 		}

+ 1 - 1
Assembly-CSharp/SceneCasinoShop.cs

@@ -327,7 +327,7 @@ public class SceneCasinoShop : KasaSceneMgr<SceneCasinoShop>
 		{
 			item_data.Name
 		};
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			array[0] = LocalizationManager.GetTranslation(item_data.NameTerm, true, 0, true, false, null, null);
 		}

+ 8 - 8
Assembly-CSharp/SceneEdit.cs

@@ -31,7 +31,7 @@ public class SceneEdit : MonoBehaviour
 		{
 			return;
 		}
-		if (Product.FDAWBW)
+		if (Product.isPublic)
 		{
 			maid.AllProcProp();
 			if (SceneEdit.Instance != null)
@@ -444,7 +444,7 @@ public class SceneEdit : MonoBehaviour
 		this.m_dicColor.Clear();
 		base.StartCoroutine(this.InitMenuNative());
 		GameMain.Instance.TutorialPanel.SetImage(TutorialPanel.ImageSet.Edit, false);
-		if (PluginData.IsEnabled("GP001") || Product.FEA == Product.PAWCAQ.OQK)
+		if (PluginData.IsEnabled("GP001") || Product.type == Product.Type.JpPublic)
 		{
 			uGUITutorialPanel.OpenTutorial("SceneEditGP01", null, false);
 			GameMain.Instance.SysShortcut.strSceneHelpName = "SceneEditGP01";
@@ -1535,7 +1535,7 @@ public class SceneEdit : MonoBehaviour
 		for (int n = 0; n < f_cate.m_listPartsType.Count; n++)
 		{
 			SceneEdit.SPartsType spartsType = f_cate.m_listPartsType[n];
-			if (MPN.EarNone > spartsType.m_mpn || spartsType.m_mpn > MPN.EarScl || PluginData.IsEnabled("GP001") || Product.FEA == Product.PAWCAQ.OQK)
+			if (MPN.EarNone > spartsType.m_mpn || spartsType.m_mpn > MPN.EarScl || PluginData.IsEnabled("GP001") || Product.type == Product.Type.JpPublic)
 			{
 				UnityEngine.Object @object = Resources.Load("SceneEdit/MainMenu/Prefab/ButtonCate");
 				GameObject gameObject = NGUITools.AddChild(this.m_Panel_PartsType.goGrid, @object as GameObject);
@@ -1707,7 +1707,7 @@ public class SceneEdit : MonoBehaviour
 			{
 				if (!smenuItem2.m_requestNewFace || this.isNewFace)
 				{
-					if (!Product.FDAWBW || smenuItem2.m_mpn != MPN.MuneYawaraka)
+					if (!Product.isPublic || smenuItem2.m_mpn != MPN.MuneYawaraka)
 					{
 						SceneEdit.SliderItemSet sliderItemSet2;
 						if (smenuItem2.m_mpn == MPN.EarNone)
@@ -2664,7 +2664,7 @@ public class SceneEdit : MonoBehaviour
 		KeyValuePair<string, FFNameDialog.OnClick> keyValuePair = new KeyValuePair<string, FFNameDialog.OnClick>("Dialog/result/苗字で呼ぶ", value);
 		KeyValuePair<string, FFNameDialog.OnClick> keyValuePair2 = new KeyValuePair<string, FFNameDialog.OnClick>("Dialog/result/名前で呼ぶ", value2);
 		KeyValuePair<string, FFNameDialog.OnClick> keyValuePair3 = new KeyValuePair<string, FFNameDialog.OnClick>("Dialog/result/ニックネームで呼ぶ", value3);
-		if (Product.DOPLGBNE)
+		if (Product.isEnglish)
 		{
 			this.m_FFNameDlg.ShowFromLanguageTerm("Dialog/呼び方を選択してください", keyValuePair2.Key, keyValuePair2.Value, keyValuePair.Key, keyValuePair.Value, keyValuePair3.Key, keyValuePair3.Value);
 		}
@@ -2785,7 +2785,7 @@ public class SceneEdit : MonoBehaviour
 				KeyValuePair<string, FFNameDialog.OnClick> keyValuePair = new KeyValuePair<string, FFNameDialog.OnClick>("Dialog/result/苗字で呼ぶ", value);
 				KeyValuePair<string, FFNameDialog.OnClick> keyValuePair2 = new KeyValuePair<string, FFNameDialog.OnClick>("Dialog/result/名前で呼ぶ", value2);
 				KeyValuePair<string, FFNameDialog.OnClick> keyValuePair3 = new KeyValuePair<string, FFNameDialog.OnClick>("Dialog/result/ニックネームで呼ぶ", value3);
-				if (Product.DOPLGBNE)
+				if (Product.isEnglish)
 				{
 					this.m_FFNameDlg.ShowFromLanguageTerm("Dialog/呼び方を選択してください", keyValuePair2.Key, keyValuePair2.Value, keyValuePair.Key, keyValuePair.Value, keyValuePair3.Key, keyValuePair3.Value);
 				}
@@ -3415,7 +3415,7 @@ public class SceneEdit : MonoBehaviour
 		{
 			get
 			{
-				if (Product.OUIWEHVA == Product.JQOVNMDS.P0L)
+				if (Product.systemLanguage == Product.Language.Japanese)
 				{
 					return this.m_strMenuName;
 				}
@@ -3429,7 +3429,7 @@ public class SceneEdit : MonoBehaviour
 		{
 			get
 			{
-				if (Product.OUIWEHVA == Product.JQOVNMDS.P0L)
+				if (Product.systemLanguage == Product.Language.Japanese)
 				{
 					return this.m_strInfo;
 				}

+ 1 - 1
Assembly-CSharp/SceneEditInfo.cs

@@ -76,7 +76,7 @@ public static class SceneEditInfo
 									ccateNameType.m_strBtnPartsTypeName = array[1];
 								}
 								bool flag = csvParser.GetCellAsString(num++, i) == "×";
-								if (!flag || !Product.FDAWBW)
+								if (!flag || !Product.isPublic)
 								{
 									ccateNameType.m_requestNewFace = (csvParser.GetCellAsString(num++, i) == "〇");
 									NDebug.Assert(!SceneEditInfo.dicPartsTypePair_.ContainsKey(key), "MPN[" + key.ToString() + "]が重複しています");

+ 1 - 1
Assembly-CSharp/SceneEditNameSettingPanel.cs

@@ -14,7 +14,7 @@ public class SceneEditNameSettingPanel : MonoBehaviour
 
 	public void Awake()
 	{
-		if (Product.DOPLGBNE)
+		if (Product.isEnglish)
 		{
 			Vector3 localPosition = this.lastNameInput.transform.parent.localPosition;
 			Vector3 localPosition2 = this.firstNameInput.transform.parent.localPosition;

+ 4 - 4
Assembly-CSharp/SceneEditWindow/UndressWindow.cs

@@ -19,8 +19,8 @@ namespace SceneEditWindow
 		public override void Awake()
 		{
 			base.Awake();
-			bool fdawbw = Product.FDAWBW;
-			if (fdawbw)
+			bool isPublic = Product.isPublic;
+			if (isPublic)
 			{
 				this.WindowSize.x = 203f;
 				base.ResizeWindow();
@@ -28,10 +28,10 @@ namespace SceneEditWindow
 			for (int i = 0; i < UndressWindow.IconTexFileNames.Length; i++)
 			{
 				UndressWindow.UndressType undressType = (UndressWindow.UndressType)i;
-				if (undressType != UndressWindow.UndressType.Nude || !fdawbw)
+				if (undressType != UndressWindow.UndressType.Nude || !isPublic)
 				{
 					string textFileName = UndressWindow.IconTexFileNames[i];
-					if (i == 1 && Product.FDAWBW)
+					if (i == 1 && Product.isPublic)
 					{
 						textFileName = "cm3d2_edit_clothesicon_spats.tex";
 					}

+ 1 - 1
Assembly-CSharp/SceneFreeModeSelectManager.cs

@@ -123,7 +123,7 @@ public class SceneFreeModeSelectManager : WfScreenManager
 				childObject2.gameObject.SetActive(false);
 			}
 		}
-		if (Product.FDAWBW)
+		if (Product.isPublic)
 		{
 			childObject3.SetActive(false);
 			childObject4.SetActive(false);

+ 3 - 3
Assembly-CSharp/SceneLogo.cs

@@ -6,10 +6,10 @@ public class SceneLogo : MonoBehaviour
 {
 	private void Start()
 	{
-		if (Product.FEA == Product.PAWCAQ.OQK)
+		if (Product.type != Product.Type.JpAdult)
 		{
 			this.kissLogo.SetActive(false);
-			this.scortLogo.SetActive(true);
+			this.kissAndScortLogo.SetActive(true);
 		}
 		GameMain.Instance.MainCamera.FadeOut(0f, false, null, true, default(Color));
 		if (GameMain.Instance.VRMode)
@@ -143,7 +143,7 @@ public class SceneLogo : MonoBehaviour
 	private GameObject kissLogo;
 
 	[SerializeField]
-	private GameObject scortLogo;
+	private GameObject kissAndScortLogo;
 
 	private SceneLogo.Mode m_eMode;
 

+ 1 - 1
Assembly-CSharp/SceneNPCEdit/SaveData.cs

@@ -10,7 +10,7 @@ namespace SceneNPCEdit
 		public static void Serialize(BinaryWriter binary)
 		{
 			binary.Write("CM3D2_NPCEDIT");
-			binary.Write(1280);
+			binary.Write(1290);
 			binary.Write(SaveData.presetData.Count);
 			foreach (KeyValuePair<int, byte[]> keyValuePair in SaveData.presetData)
 			{

+ 1 - 1
Assembly-CSharp/SceneNetorareCheck.cs

@@ -12,7 +12,7 @@ public class SceneNetorareCheck : BaseMgr<SceneNetorareCheck>
 		this.toggleDic.Add(SceneNetorareCheck.Type.IsComPlayer, UTY.GetChildObject(this.toggleParent, "Toggle_IsComPlayer/Toggle_On", false).GetComponent<UIToggle>());
 		EventDelegate.Add(this.buttonOk.onClick, new EventDelegate.Callback(this.EndNextScene));
 		this.uiTable = this.toggleParent.GetComponent<UITable>();
-		if (!Product.QOPZX)
+		if (!Product.isJapan)
 		{
 			UTY.GetChildObject(this.toggleParent, "Toggle_IsComPlayer", false).SetActive(false);
 			UTY.GetChildObject(this.toggleParent, "Toggle_LockUserDraftMaid", false).SetActive(false);

+ 7 - 1
Assembly-CSharp/SceneTrophyCardFade.cs

@@ -1,4 +1,5 @@
 using System;
+using I2.Loc;
 using UnityEngine;
 using wf;
 
@@ -30,7 +31,12 @@ public class SceneTrophyCardFade : WfFadeBehaviour
 		this.cardSprite.sprite2D = null;
 		if (!string.IsNullOrEmpty(tropheyData.cardTextureFileName))
 		{
-			Sprite sprite = Utility.CreateTextureSprite(tropheyData.cardTextureFileName);
+			string texturFileName = tropheyData.cardTextureFileName;
+			if (Product.supportMultiLanguage)
+			{
+				texturFileName = LocalizationManager.GetTranslation(tropheyData.cardTextureFileNameTerm, true, 0, true, false, null, Product.EnumConvert.ToI2LocalizeLanguageName(Product.defaultLanguage));
+			}
+			Sprite sprite = Utility.CreateTextureSprite(texturFileName);
 			this.cardSprite.sprite2D = sprite;
 			this.cardSprite.SetDimensions((int)sprite.rect.width, (int)sprite.rect.height);
 		}

+ 2 - 2
Assembly-CSharp/SceneWarning.cs

@@ -7,7 +7,7 @@ public class SceneWarning : MonoBehaviour
 	{
 		foreach (SceneWarning.WarningSet warningSet in this.wirningSet)
 		{
-			warningSet.displayObject.SetActive(warningSet.type == Product.FEA);
+			warningSet.displayObject.SetActive(warningSet.type == Product.type);
 		}
 	}
 
@@ -66,7 +66,7 @@ public class SceneWarning : MonoBehaviour
 	[Serializable]
 	private struct WarningSet
 	{
-		public Product.PAWCAQ type;
+		public Product.Type type;
 
 		public GameObject displayObject;
 	}

+ 1 - 1
Assembly-CSharp/Schedule/ResultYotogiTask.cs

@@ -60,7 +60,7 @@ namespace Schedule
 					this.successLv = ScheduleData.WorkSuccessLv.Miss;
 					this.commonSuccessLv = this.successLv;
 				}
-				if (Product.FDAWBW && ScheduleCSVData.YotogiData[base.id].yotogiType == ScheduleCSVData.YotogiType.HaveSex)
+				if (Product.isPublic && ScheduleCSVData.YotogiData[base.id].yotogiType == ScheduleCSVData.YotogiType.HaveSex)
 				{
 					this.successLvName = "CM3D2_work_result_mark_seikou";
 					this.commonSuccessLv = (this.successLv = ScheduleData.WorkSuccessLv.Success);

+ 1 - 1
Assembly-CSharp/Schedule/ScheduleCSVData.cs

@@ -1033,7 +1033,7 @@ namespace Schedule
 			for (int i = 1; i < max_cell_y; i++)
 			{
 				int num = csv.GetCellAsInteger(0, i);
-				if (Product.FDAWBW && num == 10000)
+				if (Product.isPublic && num == 10000)
 				{
 					num = 10003;
 				}

+ 3 - 3
Assembly-CSharp/ScheduleCtrl.cs

@@ -326,12 +326,12 @@ public class ScheduleCtrl : BaseCreateViewerCtrl
 			component5.text = unit.maidStatus.contractTypeName;
 			Utility.SetLocalizeTerm(component5, unit.maidStatus.contractTypeNameTerm, false);
 		}
-		if (!Product.FDAWBW && !Product.QOPZX)
+		if (!Product.isPublic && !Product.isJapan)
 		{
 			Vector3 localPosition = component5.transform.localPosition;
 			component5.transform.localPosition = new Vector3(182f, localPosition.y, localPosition.z);
 		}
-		if (Product.FDAWBW)
+		if (Product.isPublic)
 		{
 			UTY.GetChildObject(childObject, "ContractType", false).SetActive(false);
 			UTY.GetChildObject(childObject, "public", false).SetActive(true);
@@ -595,7 +595,7 @@ public class ScheduleCtrl : BaseCreateViewerCtrl
 		this.m_scheduleApi = scheduleApi;
 		string maidName = this.GetMaidName(buttonName);
 		this.m_deleteSlotNo = ScheduleCtrl.GetSlotByButtonName(buttonName).slotNo;
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			GameMain.Instance.SysDlg.ShowFromLanguageTerm("Dialog/スケジュールから削除して宜しいですか。", null, SystemDialog.TYPE.OK_CANCEL, new SystemDialog.OnClick(this.DeleteMaidAndReDraw), null);
 		}

+ 1 - 1
Assembly-CSharp/ScheduleMaidStatusUnit.cs

@@ -114,7 +114,7 @@ public class ScheduleMaidStatusUnit : MonoBehaviour
 			if (maidAssignedFacility != null)
 			{
 				int facilityIndex = GameMain.Instance.FacilityMgr.GetFacilityIndex(maidAssignedFacility);
-				if (Product.AEWDA)
+				if (Product.supportMultiLanguage)
 				{
 					string translation = LocalizationManager.GetTranslation("SceneFacilityManagement/施設名/" + maidAssignedFacility.facilityName, true, 0, true, false, null, null);
 					text = string.Concat(new string[]

+ 12 - 1
Assembly-CSharp/Score_Mgr.cs

@@ -2,6 +2,7 @@
 using System.Collections;
 using System.Collections.Generic;
 using System.Linq;
+using I2.Loc;
 using UnityEngine;
 using wf;
 
@@ -124,7 +125,17 @@ public class Score_Mgr : PartsMgrBase
 		}
 		if (score_ui.transform.Find("Text/NameText"))
 		{
-			score_ui.transform.Find("Text/NameText").GetComponent<UILabel>().text = this.m_CharaScoreList[chara_type].CharaName;
+			UILabel component = score_ui.transform.Find("Text/NameText").GetComponent<UILabel>();
+			component.text = this.m_CharaScoreList[chara_type].CharaName;
+			if (chara_type != DanceBattle_Mgr.CharaType.Player && Product.supportMultiLanguage)
+			{
+				Localize localize = component.GetComponent<Localize>();
+				if (localize == null)
+				{
+					localize = component.gameObject.AddComponent<Localize>();
+				}
+				Utility.SetLocalizeTerm(localize, DanceBattle_Mgr.EnemyData.NameTerm, false);
+			}
 		}
 	}
 

+ 114 - 2
Assembly-CSharp/ScriptManager.cs

@@ -2844,6 +2844,62 @@ public class ScriptManager : IDisposable
 		{
 			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男5, true);
 		}
+		else if (nowManType == ManDataType.傅き男6)
+		{
+			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男6, true);
+		}
+		else if (nowManType == ManDataType.傅き男7)
+		{
+			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男7, true);
+		}
+		else if (nowManType == ManDataType.傅き男8)
+		{
+			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男8, true);
+		}
+		else if (nowManType == ManDataType.傅き男9)
+		{
+			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男9, true);
+		}
+		else if (nowManType == ManDataType.傅き男10)
+		{
+			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男10, true);
+		}
+		else if (nowManType == ManDataType.傅き男11)
+		{
+			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男11, true);
+		}
+		else if (nowManType == ManDataType.傅き男12)
+		{
+			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男12, true);
+		}
+		else if (nowManType == ManDataType.傅き男13)
+		{
+			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男13, true);
+		}
+		else if (nowManType == ManDataType.傅き男14)
+		{
+			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男14, true);
+		}
+		else if (nowManType == ManDataType.傅き男15)
+		{
+			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男15, true);
+		}
+		else if (nowManType == ManDataType.傅き男16)
+		{
+			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男16, true);
+		}
+		else if (nowManType == ManDataType.傅き男17)
+		{
+			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男17, true);
+		}
+		else if (nowManType == ManDataType.傅き男18)
+		{
+			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男18, true);
+		}
+		else if (nowManType == ManDataType.傅き男19)
+		{
+			integer = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男19, true);
+		}
 		result.SetInteger(integer);
 	}
 
@@ -2881,6 +2937,62 @@ public class ScriptManager : IDisposable
 		{
 			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男5, true);
 		}
+		else if (nowManType == ManDataType.傅き男6)
+		{
+			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男6, true);
+		}
+		else if (nowManType == ManDataType.傅き男7)
+		{
+			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男7, true);
+		}
+		else if (nowManType == ManDataType.傅き男8)
+		{
+			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男8, true);
+		}
+		else if (nowManType == ManDataType.傅き男9)
+		{
+			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男9, true);
+		}
+		else if (nowManType == ManDataType.傅き男10)
+		{
+			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男10, true);
+		}
+		else if (nowManType == ManDataType.傅き男11)
+		{
+			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男11, true);
+		}
+		else if (nowManType == ManDataType.傅き男12)
+		{
+			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男12, true);
+		}
+		else if (nowManType == ManDataType.傅き男13)
+		{
+			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男13, true);
+		}
+		else if (nowManType == ManDataType.傅き男14)
+		{
+			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男14, true);
+		}
+		else if (nowManType == ManDataType.傅き男15)
+		{
+			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男15, true);
+		}
+		else if (nowManType == ManDataType.傅き男16)
+		{
+			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男16, true);
+		}
+		else if (nowManType == ManDataType.傅き男17)
+		{
+			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男17, true);
+		}
+		else if (nowManType == ManDataType.傅き男18)
+		{
+			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男18, true);
+		}
+		else if (nowManType == ManDataType.傅き男19)
+		{
+			likability = kasizukiMgr.GetMaidData<int>(maid, MaidDataType.好感度\uFF3F傅き男19, true);
+		}
 		string likabilityName = LikabilityReplace.GetLikabilityName(likability);
 		result.SetString(likabilityName);
 	}
@@ -2983,7 +3095,7 @@ public class ScriptManager : IDisposable
 		{
 			return;
 		}
-		result.SetBool(Product.FD);
+		result.SetBool(Product.enabeldAdditionalRelation);
 	}
 
 	public void TJSFuncGetRemainingDanceTime(TJSVariantRef[] tjs_param, TJSVariantRef result)
@@ -3105,7 +3217,7 @@ public class ScriptManager : IDisposable
 	public void Serialize(BinaryWriter binary)
 	{
 		binary.Write("CM3D2_SCRIPT");
-		binary.Write(1280);
+		binary.Write(1290);
 		this.adv_kag_.Serialize(binary);
 	}
 

+ 3 - 3
Assembly-CSharp/ShopItem.cs

@@ -145,7 +145,7 @@ public class ShopItem : MonoBehaviour
 			GameMain.Instance.SysDlg.ShowFromLanguageTerm("Dialog/ショップ/資金が不足しています。", null, SystemDialog.TYPE.OK, null, null);
 			return;
 		}
-		string text = Product.AEWDA ? LocalizationManager.GetTranslation("SceneShop/" + this.item_data_.id + "/名前", true, 0, true, false, null, null) : this.item_data_.name;
+		string text = Product.supportMultiLanguage ? LocalizationManager.GetTranslation("SceneShop/" + this.item_data_.id + "/名前", true, 0, true, false, null, null) : this.item_data_.name;
 		string[] args = new string[]
 		{
 			text,
@@ -160,7 +160,7 @@ public class ShopItem : MonoBehaviour
 		{
 			this.click_event_(this);
 		}
-		string text = Product.AEWDA ? LocalizationManager.GetTranslation("SceneShop/" + this.item_data_.id + "/名前", true, 0, true, false, null, null) : this.item_data_.name;
+		string text = Product.supportMultiLanguage ? LocalizationManager.GetTranslation("SceneShop/" + this.item_data_.id + "/名前", true, 0, true, false, null, null) : this.item_data_.name;
 		GameMain.Instance.SysDlg.ShowFromLanguageTerm("Dialog/ショップ/{0}を購入しました", new string[]
 		{
 			text
@@ -172,7 +172,7 @@ public class ShopItem : MonoBehaviour
 		Vector3 position = base.transform.position;
 		string f_strTitle = this.item_data_.name;
 		string text = this.item_data_.detail_text;
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			f_strTitle = LocalizationManager.GetTranslation("SceneShop/" + this.item_data_.id + "/名前", true, 0, true, false, null, null);
 			text = LocalizationManager.GetTranslation("SceneShop/" + this.item_data_.id + "/説明", true, 0, true, false, null, null);

+ 4 - 4
Assembly-CSharp/SimpleMaidPlate.cs

@@ -33,17 +33,17 @@ public class SimpleMaidPlate : MonoBehaviour
 			if (maid.ActiveSlotNo == 0)
 			{
 				this.first_name_label_.text = "主人公";
-				if (Product.AEWDA)
+				if (Product.supportMultiLanguage)
 				{
-					this.first_name_label_.text = LocalizationManager.GetTermTranslation("ScenePhotoMode/プレイヤー名/主人公", true, 0, true, false, null, Product.EnumConvert.FEWQAVASV(Product.POEWBBA));
+					this.first_name_label_.text = LocalizationManager.GetTermTranslation("ScenePhotoMode/プレイヤー名/主人公", true, 0, true, false, null, Product.EnumConvert.ToI2LocalizeLanguageName(Product.defaultLanguage));
 				}
 			}
 			else
 			{
 				this.first_name_label_.text = "男" + maid.ActiveSlotNo.ToString();
-				if (Product.AEWDA)
+				if (Product.supportMultiLanguage)
 				{
-					this.first_name_label_.text = LocalizationManager.GetTermTranslation("ScenePhotoMode/プレイヤー名/男", true, 0, true, false, null, Product.EnumConvert.FEWQAVASV(Product.POEWBBA)) + maid.ActiveSlotNo.ToString();
+					this.first_name_label_.text = LocalizationManager.GetTermTranslation("ScenePhotoMode/プレイヤー名/男", true, 0, true, false, null, Product.EnumConvert.ToI2LocalizeLanguageName(Product.defaultLanguage)) + maid.ActiveSlotNo.ToString();
 				}
 			}
 		}

+ 9 - 0
Assembly-CSharp/StaffRollImageCtrl.cs

@@ -5,6 +5,15 @@ public class StaffRollImageCtrl : MonoBehaviour
 {
 	private void Awake()
 	{
+		if (Product.type != Product.Type.JpAdult)
+		{
+			UITexture component = UTY.GetChildObject(base.gameObject, "Logo", false).GetComponent<UITexture>();
+			UITexture component2 = UTY.GetChildObject(base.gameObject, "LogoDouble", false).GetComponent<UITexture>();
+			if (component != null && component2 != null)
+			{
+				component.mainTexture = component2.mainTexture;
+			}
+		}
 		this.uiTexture.mainTexture = null;
 		this.spriteBack.enabled = false;
 		this.animator = base.GetComponent<Animator>();

+ 23 - 2
Assembly-CSharp/StaffRollScroll.cs

@@ -15,6 +15,14 @@ public class StaffRollScroll : MonoBehaviour
 
 	private void Awake()
 	{
+		if (Product.type == Product.Type.JpAdult)
+		{
+			GameObject childObject = UTY.GetChildObject(this.prefabLabelLogoScort, "Sprite_public", false);
+			if (childObject != null)
+			{
+				childObject.SetActive(false);
+			}
+		}
 		this.ReadCSVFile_Data();
 		this.ReadCSVFile_StaffName();
 	}
@@ -142,6 +150,10 @@ public class StaffRollScroll : MonoBehaviour
 						{
 							data.type = StaffRollScroll.Data.Type.Logo;
 						}
+						else if (a == "ロゴエスコート")
+						{
+							data.type = StaffRollScroll.Data.Type.LogoScort;
+						}
 					}
 					if (flag)
 					{
@@ -165,6 +177,10 @@ public class StaffRollScroll : MonoBehaviour
 				{
 					original = this.prefabLabelLogo;
 				}
+				else if (data.type == StaffRollScroll.Data.Type.LogoScort)
+				{
+					original = this.prefabLabelLogoScort;
+				}
 				else if (data.name == string.Empty || data.type == StaffRollScroll.Data.Type.Small1)
 				{
 					original = this.prefabLabelSmall1;
@@ -180,7 +196,7 @@ public class StaffRollScroll : MonoBehaviour
 				GameObject gameObject2 = UnityEngine.Object.Instantiate<GameObject>(original);
 				gameObject2.transform.parent = base.gameObject.transform;
 				gameObject2.transform.localScale = new Vector3(1f, 1f, 1f);
-				if (data.type != StaffRollScroll.Data.Type.Logo)
+				if (data.type != StaffRollScroll.Data.Type.Logo && data.type != StaffRollScroll.Data.Type.LogoScort)
 				{
 					UILabel component = gameObject2.GetComponent<UILabel>();
 					component.text = data.name;
@@ -200,6 +216,7 @@ public class StaffRollScroll : MonoBehaviour
 		this.prefabLabelSmall1.SetActive(false);
 		this.prefabLabelSmall2.SetActive(false);
 		this.prefabLabelLogo.SetActive(false);
+		this.prefabLabelLogoScort.SetActive(false);
 		this.table.Reposition();
 		if (gameObject != null)
 		{
@@ -223,6 +240,9 @@ public class StaffRollScroll : MonoBehaviour
 	private GameObject prefabLabelLogo;
 
 	[SerializeField]
+	private GameObject prefabLabelLogoScort;
+
+	[SerializeField]
 	private UITable table;
 
 	[SerializeField]
@@ -263,7 +283,8 @@ public class StaffRollScroll : MonoBehaviour
 			Normal,
 			Small1,
 			Small2,
-			Logo
+			Logo,
+			LogoScort
 		}
 	}
 }

+ 2 - 2
Assembly-CSharp/StatusCtrl.cs

@@ -9,7 +9,7 @@ public class StatusCtrl : MonoBehaviour
 	{
 		this.m_mgr = statusMgr;
 		this.m_goPanel = goStatusPanel;
-		if (Product.FDAWBW)
+		if (Product.isPublic)
 		{
 			UIWFPositionStore component = base.GetComponent<UIWFPositionStore>();
 			if (component != null)
@@ -190,7 +190,7 @@ public class StatusCtrl : MonoBehaviour
 		Utility.SetLocalizeTerm(this.m_lMaidClass, status.maidClassNameTerm, false);
 		Utility.SetLocalizeTerm(this.m_lRelation, status.relationTerm, false);
 		Utility.SetLocalizeTerm(this.m_lConditionText, status.conditionTextTerm, false);
-		if (!Product.AEWDA)
+		if (!Product.supportMultiLanguage)
 		{
 			UTY.GetChildObject(this.m_goPanel, "DaysOfEmployment/Title", false).GetComponent<UILabel>().text = "雇用日数";
 		}

+ 1 - 1
Assembly-CSharp/SystemShortcut.cs

@@ -78,7 +78,7 @@ public class SystemShortcut : MonoBehaviour
 		this.dicBGSizeType.Add(SystemShortcut.BGSizeType.Long, 380);
 		this.dicBGSizeType.Add(SystemShortcut.BGSizeType.Short, 340);
 		int num = 0;
-		if (Product.QOPZX)
+		if (Product.type != Product.Type.EnAdult)
 		{
 			GameObject childObject = UTY.GetChildObject(base.gameObject, this.m_aryObjPath[11], false);
 			if (childObject != null)

+ 4 - 4
Assembly-CSharp/TBody.cs

@@ -1500,12 +1500,12 @@ public class TBody : MonoBehaviour
 
 	public void SetMaskMode(TBody.MaskMode f_eMode)
 	{
-		if (Product.FDAWBW && f_eMode == TBody.MaskMode.Nude)
+		if (Product.isPublic && f_eMode == TBody.MaskMode.Nude)
 		{
 			f_eMode = TBody.MaskMode.Underwear;
 		}
 		this.m_eMaskMode = f_eMode;
-		if (Product.FDAWBW && f_eMode == TBody.MaskMode.Nude)
+		if (Product.isPublic && f_eMode == TBody.MaskMode.Nude)
 		{
 			this.m_eMaskMode = TBody.MaskMode.None;
 		}
@@ -1631,7 +1631,7 @@ public class TBody : MonoBehaviour
 		this.boVisible_WEAR = (this.goSlot[(int)TBody.hashSlotName["wear"]].RID != 0 & this.goSlot[(int)TBody.hashSlotName["wear"]].boVisible);
 		this.boMizugi_panz = this.goSlot[(int)TBody.hashSlotName["panz"]].boMizugi;
 		this.slotno_accXXX = (int)TBody.hashSlotName["accXXX"];
-		if (Product.FDAWBW)
+		if (Product.isPublic)
 		{
 			this.goSlot[(int)TBody.hashSlotName["chikubi"]].boVisible = false;
 			this.goSlot[(int)TBody.hashSlotName["underhair"]].boVisible = false;
@@ -1722,7 +1722,7 @@ public class TBody : MonoBehaviour
 
 	public void SetChinkoVisible(bool f_bVisible)
 	{
-		if (Product.FDAWBW)
+		if (Product.isPublic)
 		{
 			f_bVisible = false;
 		}

+ 26 - 2
Assembly-CSharp/TBodySkin.cs

@@ -501,10 +501,34 @@ public class TBodySkin
 				}
 			}
 		}
+		if (Product.isEnglish && !Product.isPublic)
+		{
+			foreach (Transform transform2 in gameObject.GetComponentsInChildren<Transform>(true))
+			{
+				Renderer component2 = transform2.GetComponent<Renderer>();
+				if (!(component2 == null) && component2.materials != null)
+				{
+					foreach (Material material2 in component2.materials)
+					{
+						if (material2.shader.name == "CM3D2/Mosaic")
+						{
+							material2.shader = Shader.Find("CM3D2/Mosaic_en");
+						}
+					}
+				}
+			}
+		}
 		this.morph.InitGameObject(gameObject);
-		if (Product.DOPLGBNE && !Product.FDAWBW && (mpn == MPN.body || mpn == MPN.moza))
+		if (Product.isEnglish && !Product.isPublic)
 		{
-			this.kupaCtrl = new KupaCtrl(this.body, this.morph);
+			if (mpn == MPN.body)
+			{
+				this.kupaCtrl = new KupaCtrl(this.body, this.morph);
+			}
+			else if (mpn == MPN.moza)
+			{
+				this.body.GetSlot(0).kupaCtrl.AddMozaMorph(this.morph);
+			}
 		}
 		gameObject.transform.parent = CMT.SearchObjName(srcbody, bonename, true);
 		Vector3 localPosition = gameObject.transform.localPosition;

+ 3 - 3
Assembly-CSharp/TaskUnit.cs

@@ -215,7 +215,7 @@ public class TaskUnit : MonoBehaviour
 		UTY.GetChildObject(obj, "ExpRatio", false).SetActive(active);
 		Transform transform = UTY.GetChildObject(obj, "Title", false).transform;
 		Vector3 localPosition = transform.localPosition;
-		if (!Product.AEWDA)
+		if (!Product.supportMultiLanguage)
 		{
 			localPosition.y = -27f;
 		}
@@ -231,9 +231,9 @@ public class TaskUnit : MonoBehaviour
 		{
 			if (ScheduleCSVData.faclilityPowerUpWorkId == this.schedule.id)
 			{
-				localPosition.y = (float)(Product.AEWDA ? -35 : -51);
+				localPosition.y = (float)(Product.supportMultiLanguage ? -35 : -51);
 			}
-			else if (Product.AEWDA)
+			else if (Product.supportMultiLanguage)
 			{
 				localPosition.y = -15f;
 			}

+ 1 - 1
Assembly-CSharp/TatooAlphaWindow.cs

@@ -103,7 +103,7 @@ public class TatooAlphaWindow : BasePhotoWindow
 								}
 							}
 							string f_name = smenuItem.m_strMenuName;
-							if (Product.OUIWEHVA != Product.JQOVNMDS.P0L)
+							if (Product.systemLanguage != Product.Language.Japanese)
 							{
 								string str = "parts/" + smenuItem.m_strCateName + "/" + Path.GetFileNameWithoutExtension(smenuItem.m_strMenuFileName).ToLower();
 								string translation = LocalizationManager.GetTranslation(str + "|name", true, 0, true, false, null, null);

+ 11 - 4
Assembly-CSharp/TitleCtrl.cs

@@ -2,7 +2,9 @@
 using System.Collections;
 using System.Collections.Generic;
 using com.workman.cm3d2.scene.dailyEtc;
+using I2.Loc;
 using UnityEngine;
+using wf;
 
 public class TitleCtrl : MonoBehaviour
 {
@@ -11,6 +13,11 @@ public class TitleCtrl : MonoBehaviour
 		this.m_titleMgr = titleMgr;
 		this.m_sceneMgr = sceneMgr;
 		this.m_goTitlePanel = goTitlePanel;
+		if (Product.isPublic)
+		{
+			Localize component = UTY.GetChildObject(goTitlePanel, "Title/TitleLogo", false).GetComponent<Localize>();
+			Utility.SetLocalizeTerm(component, "SceneTitle/タイトルロゴ_全年齢", true);
+		}
 		this.m_listButton = new List<GameObject>();
 		this.m_dicTitleButton = new Dictionary<TitleMgr.ButtonType, TitleCtrl.TitleButton>();
 		int num = 0;
@@ -33,7 +40,7 @@ public class TitleCtrl : MonoBehaviour
 					}
 					childObject.SetActive(true);
 				}
-				if (Product.FDAWBW && buttonType == TitleMgr.ButtonType.Guest)
+				if (Product.isPublic && buttonType == TitleMgr.ButtonType.Guest)
 				{
 					num += -61;
 					childObject.SetActive(false);
@@ -43,8 +50,8 @@ public class TitleCtrl : MonoBehaviour
 					Vector3 localPosition = childObject.transform.localPosition;
 					childObject.transform.localPosition = new Vector3(localPosition.x, localPosition.y - (float)num, localPosition.z);
 					childObject.AddComponent<TitleMouseOver>();
-					UIButton component = childObject.GetComponent<UIButton>();
-					EventDelegate.Add(component.onClick, new EventDelegate.Callback(BaseMgr<TitleMgr>.Instance.ClickButton));
+					UIButton component2 = childObject.GetComponent<UIButton>();
+					EventDelegate.Add(component2.onClick, new EventDelegate.Callback(BaseMgr<TitleMgr>.Instance.ClickButton));
 					GameObject childObject2 = UTY.GetChildObject(childObject, "SelectCursor", false);
 					titleButton.selectCursor = childObject2;
 					titleButton.name = buttonType;
@@ -77,7 +84,7 @@ public class TitleCtrl : MonoBehaviour
 				TitleMgr.ButtonType buttonType = (TitleMgr.ButtonType)obj;
 				if (buttonType != TitleMgr.ButtonType.Shop || GameMain.Instance.CMSystem.NetUse)
 				{
-					if (!Product.FDAWBW || buttonType != TitleMgr.ButtonType.Guest)
+					if (!Product.isPublic || buttonType != TitleMgr.ButtonType.Guest)
 					{
 						if (activeButton == buttonType)
 						{

+ 7 - 7
Assembly-CSharp/TouchAction_Mgr.cs

@@ -48,7 +48,7 @@ public class TouchAction_Mgr : PartsMgrBase
 		for (;;)
 		{
 			yield return null;
-			if (!Product.FDAWBW && !RhythmAction_Mgr.Instance.IsPause && RhythmAction_Mgr.Instance.DanceMaid.Count > 1)
+			if (!Product.isPublic && !RhythmAction_Mgr.Instance.IsPause && RhythmAction_Mgr.Instance.DanceMaid.Count > 1)
 			{
 				Maid vibeTarget = this.m_VibeTarget;
 				if (Input.GetKeyDown(KeyCode.LeftArrow) || Input.GetKeyDown(KeyCode.RightArrow))
@@ -121,7 +121,7 @@ public class TouchAction_Mgr : PartsMgrBase
 			{
 				if (!RhythmAction_Mgr.Instance.IsPause)
 				{
-					if (!Product.FDAWBW)
+					if (!Product.isPublic)
 					{
 						if (maid == this.m_VibeTarget)
 						{
@@ -148,7 +148,7 @@ public class TouchAction_Mgr : PartsMgrBase
 					foreach (KeyValuePair<TouchActionParam.TouchType, TouchActionParam.ActionParam> keyValuePair2 in this.m_ActionParam[maid].TouchParam)
 					{
 						bool flag4 = false;
-						if (keyValuePair2.Key == TouchActionParam.TouchType.セクハラ && !Product.FDAWBW)
+						if (keyValuePair2.Key == TouchActionParam.TouchType.セクハラ && !Product.isPublic)
 						{
 							if (this.m_ActionParam[maid].IsVibeOn)
 							{
@@ -220,7 +220,7 @@ public class TouchAction_Mgr : PartsMgrBase
 						this.m_TouchMgr.FrameEnd();
 					}
 				}
-				else if (!Product.FDAWBW)
+				else if (!Product.isPublic)
 				{
 					this.m_ActionParam[maid].VibeAudio.audiosource.Pause();
 				}
@@ -461,7 +461,7 @@ public class TouchAction_Mgr : PartsMgrBase
 				vibeUIInfo.Icon.height = (int)this.m_IconSetSpace;
 			}
 			this.m_ActionParam.Add(maid, new TouchActionParam());
-			if (!Product.FDAWBW)
+			if (!Product.isPublic)
 			{
 				GameObject gameObject2 = UnityEngine.Object.Instantiate<GameObject>(GameObject.Find("AudioSe(Clone)"));
 				this.m_ActionParam[maid].VibeAudio = gameObject2.GetComponent<AudioSourceMgr>();
@@ -474,14 +474,14 @@ public class TouchAction_Mgr : PartsMgrBase
 				previousUIInfo = vibeUIInfo;
 			}
 		}
-		this.m_SelectFrame.gameObject.SetActive(!Product.FDAWBW);
+		this.m_SelectFrame.gameObject.SetActive(!Product.isPublic);
 		base.StartCoroutine(this.ActionCheck());
 	}
 
 	public override void EndAction()
 	{
 		base.StopAllCoroutines();
-		if (!Product.FDAWBW)
+		if (!Product.isPublic)
 		{
 			foreach (Maid maid in RhythmAction_Mgr.Instance.DanceMaid)
 			{

+ 16 - 0
Assembly-CSharp/Trophy.cs

@@ -193,6 +193,22 @@ public static class Trophy
 			}
 		}
 
+		public string miniCardTextureFileNameTerm
+		{
+			get
+			{
+				return "SceneTrophy/" + this.id.ToString() + "/スプライトミニ";
+			}
+		}
+
+		public string cardTextureFileNameTerm
+		{
+			get
+			{
+				return "SceneTrophy/" + this.id.ToString() + "/スプライト";
+			}
+		}
+
 		public readonly int id;
 
 		public readonly Trophy.Data.Type type;

+ 1 - 1
Assembly-CSharp/TrophyAchieveEffect.cs

@@ -147,7 +147,7 @@ public class TrophyAchieveEffect : MonoBehaviour
 	{
 		this.trophy_image_.spriteName = trophy_data.trophySpriteName;
 		this.title_label_.text = "『" + trophy_data.name + "』";
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			Localize component = this.title_label_.GetComponent<Localize>();
 			if (component != null)

+ 7 - 1
Assembly-CSharp/TrophyInfo.cs

@@ -1,4 +1,5 @@
 using System;
+using I2.Loc;
 using UnityEngine;
 using wf;
 
@@ -41,7 +42,12 @@ public class TrophyInfo : MonoBehaviour
 		this.card_sprite_.sprite2D = null;
 		if (!string.IsNullOrEmpty(trophy_data.miniCardTextureFileName))
 		{
-			Sprite sprite2D = Utility.CreateTextureSprite(trophy_data.miniCardTextureFileName);
+			string texturFileName = trophy_data.miniCardTextureFileName;
+			if (Product.supportMultiLanguage)
+			{
+				texturFileName = LocalizationManager.GetTranslation(trophy_data.miniCardTextureFileNameTerm, true, 0, true, false, null, Product.EnumConvert.ToI2LocalizeLanguageName(Product.defaultLanguage));
+			}
+			Sprite sprite2D = Utility.CreateTextureSprite(texturFileName);
 			this.card_sprite_.sprite2D = sprite2D;
 		}
 	}

+ 5 - 5
Assembly-CSharp/UIStates.cs

@@ -212,7 +212,7 @@ public class UIStates : MonoBehaviour
 			{
 				BjVoiceMgr.Instance.PlayVoice("サレンダー終了", null, 0f);
 				this.m_GetMoneyText.text = "コインを" + BjPlayer.Instance.TotalWinnings.ToString() + "枚支払いました";
-				if (Product.AEWDA)
+				if (Product.supportMultiLanguage)
 				{
 					Localize component = this.m_GetMoneyText.GetComponent<Localize>();
 					component.TermArgs = new Localize.ArgsPair[]
@@ -226,7 +226,7 @@ public class UIStates : MonoBehaviour
 			else if (BjPlayer.Instance.ExistWinHand())
 			{
 				this.m_GetMoneyText.text = "コインを" + BjPlayer.Instance.TotalWinnings.ToString() + "枚手に入れました!!";
-				if (Product.AEWDA)
+				if (Product.supportMultiLanguage)
 				{
 					Localize component2 = this.m_GetMoneyText.GetComponent<Localize>();
 					component2.TermArgs = new Localize.ArgsPair[]
@@ -267,7 +267,7 @@ public class UIStates : MonoBehaviour
 				}
 				this.SetResultImage(Translations.Instance.PUSH);
 				this.m_GetMoneyText.text = "コイン" + BjPlayer.Instance.TotalWinnings.ToString() + "枚が手元に戻ってきます";
-				if (Product.AEWDA)
+				if (Product.supportMultiLanguage)
 				{
 					Localize component3 = this.m_GetMoneyText.GetComponent<Localize>();
 					component3.TermArgs = new Localize.ArgsPair[]
@@ -282,7 +282,7 @@ public class UIStates : MonoBehaviour
 				BjVoiceMgr.Instance.PlayVoice("負け", null, 0f);
 				this.SetResultImage(Translations.Instance.YOU_LOSE);
 				this.m_GetMoneyText.text = "コインを" + BjPlayer.Instance.MoneyDifference.ToString() + "枚失いました...";
-				if (Product.AEWDA)
+				if (Product.supportMultiLanguage)
 				{
 					Localize component4 = this.m_GetMoneyText.GetComponent<Localize>();
 					component4.TermArgs = new Localize.ArgsPair[]
@@ -298,7 +298,7 @@ public class UIStates : MonoBehaviour
 			BjVoiceMgr.Instance.PlayVoice("負け", null, 0f);
 			this.SetResultImage(Translations.Instance.YOU_LOSE);
 			this.m_GetMoneyText.text = "コインを" + (BjPlayer.Instance.CurrentBet + BjPlayer.Instance.SplitBet).ToString() + "枚失いました...";
-			if (Product.AEWDA)
+			if (Product.supportMultiLanguage)
 			{
 				Localize component5 = this.m_GetMoneyText.GetComponent<Localize>();
 				component5.TermArgs = new Localize.ArgsPair[]

+ 2 - 2
Assembly-CSharp/UIWFConditionList.cs

@@ -72,7 +72,7 @@ public class UIWFConditionList : MonoBehaviour
 				this.condition_label_list_[i].transform.parent.gameObject.SetActive(true);
 				if (texts[i].Key.Length == 1)
 				{
-					if (!Product.AEWDA || this.condition_label_localize_list_[i] == null)
+					if (!Product.supportMultiLanguage || this.condition_label_localize_list_[i] == null)
 					{
 						this.condition_label_list_[i].text = Utility.GetTermLastWord(texts[i].Key[0]);
 					}
@@ -83,7 +83,7 @@ public class UIWFConditionList : MonoBehaviour
 						this.condition_label_localize_list_[i].SetTerm(texts[i].Key[0]);
 					}
 				}
-				else if (!Product.AEWDA || this.condition_label_localize_list_[i] == null)
+				else if (!Product.supportMultiLanguage || this.condition_label_localize_list_[i] == null)
 				{
 					string[] array = new string[texts[i].Key.Length - 1];
 					for (int j = 1; j < texts[i].Key.Length; j++)

+ 1 - 1
Assembly-CSharp/UndressDance_Mgr.cs

@@ -106,7 +106,7 @@ public class UndressDance_Mgr : PartsMgrBase
 		case 4:
 		{
 			bool flag = csv.GetCellAsString(cx, cy) == "○";
-			if (Product.FDAWBW && !flag)
+			if (Product.isPublic && !flag)
 			{
 				return;
 			}

+ 6 - 0
Assembly-CSharp/UndressingWindow.cs

@@ -9,6 +9,12 @@ public class UndressingWindow : BaseMaidPhotoWindow
 	public override void Awake()
 	{
 		base.Awake();
+		if (Product.isPublic)
+		{
+			this.MekureFront.transform.parent.gameObject.SetActive(false);
+			this.WindowSize = new Vector2(this.WindowSize.x, 280f);
+			base.ResizeWindow();
+		}
 		this.noCharaActive = base.GetComponentInChildren<PhotoNoCharaActive>();
 		this.scroll_view_ = NGUITools.FindInParents<UIScrollView>(this.Grid.transform);
 		using (AFileBase afileBase = GameUty.FileSystem.FileOpen("phot_undressing_list.nei"))

+ 1 - 1
Assembly-CSharp/WindowPartsFingerPreset.cs

@@ -182,7 +182,7 @@ public class WindowPartsFingerPreset : MonoBehaviour
 	{
 		WindowPartsFingerBlend.Type blendType = tareget_blend.BlendType;
 		FingerBlend.BaseFinger baseFingerClass = tareget_blend.GetBaseFingerClass(tareget_blend.mgr.select_maid, blendType);
-		XElement xelement = new XElement("GameVersion", 1280);
+		XElement xelement = new XElement("GameVersion", 1290);
 		XElement xelement2 = new XElement("RightData", blendType == WindowPartsFingerBlend.Type.RightArm || blendType == WindowPartsFingerBlend.Type.RightLeg);
 		XElement xelement3 = new XElement("BinaryData", Convert.ToBase64String(baseFingerClass.GetBinary()));
 		XNode[] contents = new XNode[]

+ 5 - 1
Assembly-CSharp/WindowPartsMekureCheckBox.cs

@@ -53,7 +53,7 @@ public class WindowPartsMekureCheckBox : WFCheckBox
 				this.maid_.ResetProp(category_array[i], false);
 			}
 		}
-		else
+		else if (!Product.isPublic)
 		{
 			string[] category_array2 = this.category_array;
 			for (int j = 0; j < category_array2.Length; j++)
@@ -69,6 +69,10 @@ public class WindowPartsMekureCheckBox : WFCheckBox
 	private bool IsItemChangeEnabled(Maid maid)
 	{
 		bool result = false;
+		if (Product.isPublic)
+		{
+			return false;
+		}
 		string[] category_array = this.category_array;
 		for (int i = 0; i < category_array.Length; i++)
 		{

+ 2 - 2
Assembly-CSharp/YotogiClassListManager.cs

@@ -149,7 +149,7 @@ public class YotogiClassListManager : MonoBehaviour
 					{
 						if (maid.status.personal.id == num2)
 						{
-							string text = Product.AEWDA ? maid.status.personal.termName : maid.status.personal.drawName;
+							string text = Product.supportMultiLanguage ? maid.status.personal.termName : maid.status.personal.drawName;
 							list5.Add(new KeyValuePair<string[], Color>(new string[]
 							{
 								"MaidStatus/条件文/ヒロインタイプ {0}",
@@ -195,7 +195,7 @@ public class YotogiClassListManager : MonoBehaviour
 		{
 			YotogiClassListManager.Data data = this.instansToDatas[instanceId];
 			this.conditionTitleLabel.text = data.classData.drawName + " 取得条件";
-			if (Product.AEWDA)
+			if (Product.supportMultiLanguage)
 			{
 				Localize component = this.conditionTitleLabel.GetComponent<Localize>();
 				if (component != null)

+ 3 - 3
Assembly-CSharp/YotogiCommandFactory.cs

@@ -327,7 +327,7 @@ public class YotogiCommandFactory : MonoBehaviour
 		GameObject gameObject = Utility.CreatePrefab(this.HiddenTree, "SceneYotogi/Yotogi/Prefab/Command", true);
 		UILabel component = UTY.GetChildObject(gameObject, "Name", false).GetComponent<UILabel>();
 		component.text = name;
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			component.text = string.Empty;
 			Localize component2 = component.GetComponent<Localize>();
@@ -375,12 +375,12 @@ public class YotogiCommandFactory : MonoBehaviour
 
 	private string GetGroupName(Skill.Data.Command.Data.Basic commandDataBasic)
 	{
-		return (!Product.AEWDA) ? commandDataBasic.group_name : commandDataBasic.termGroupName;
+		return (!Product.supportMultiLanguage) ? commandDataBasic.group_name : commandDataBasic.termGroupName;
 	}
 
 	private string GetCommandName(Skill.Data.Command.Data.Basic commandDataBasic)
 	{
-		return (!Product.AEWDA) ? commandDataBasic.name : commandDataBasic.termName;
+		return (!Product.supportMultiLanguage) ? commandDataBasic.name : commandDataBasic.termName;
 	}
 
 	public GameObject HiddenTree;

+ 7 - 4
Assembly-CSharp/YotogiParamScroll.cs

@@ -12,7 +12,7 @@ public class YotogiParamScroll : MonoBehaviour
 		this.panel_ = UTY.GetChildObject(base.gameObject, "Mask", false).GetComponent<UIPanel>();
 		this.parent_obj_ = UTY.GetChildObject(base.gameObject, "Parent", false);
 		UIGrid component = this.parent_obj_.GetComponent<UIGrid>();
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			component.cellWidth = 150f;
 			Utility.ResetNGUI(component);
@@ -133,12 +133,15 @@ public class YotogiParamScroll : MonoBehaviour
 	private static void SetLabelText(YotogiParamScroll.LabelAndLocalize labelAndLocalize, string text, int num)
 	{
 		labelAndLocalize.label.text = text;
-		if (labelAndLocalize.localize != null)
+		UILabel label = labelAndLocalize.label;
+		label.text = label.text + "  " + num.ToString();
+		if (Product.supportMultiLanguage && labelAndLocalize.localize != null)
 		{
+			labelAndLocalize.localize.TermArgs = new Localize.ArgsPair[2];
+			labelAndLocalize.localize.TermArgs[0] = Localize.ArgsPair.Create("  {0}", false);
+			labelAndLocalize.localize.TermArgs[1] = Localize.ArgsPair.Create(num.ToString(), false);
 			labelAndLocalize.localize.SetTerm("MaidStatus/" + text);
 		}
-		UILabel label = labelAndLocalize.label;
-		label.text = label.text + "  " + num.ToString();
 	}
 
 	public int WaitTime = 2500;

+ 1 - 1
Assembly-CSharp/YotogiParameterViewer.cs

@@ -107,7 +107,7 @@ public class YotogiParameterViewer : MonoBehaviour
 	{
 		this.attributeViewer = obj;
 		this.attributeViewer.gameObject.SetActive(false);
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			this.attributeViewer.transform.localPosition = new Vector3(184f, 0f, 0f);
 		}

+ 15 - 18
Assembly-CSharp/YotogiPlayManager.cs

@@ -2,7 +2,6 @@
 using System.Collections;
 using System.Collections.Generic;
 using System.IO;
-using I2.Loc;
 using MaidStatus;
 using UnityEngine;
 using wf;
@@ -16,7 +15,7 @@ public class YotogiPlayManager : WfScreenChildren
 		this.yotogi_mgr_ = base.GetComponentInParent<YotogiManager>();
 		UTY.GetChildObject(base.root_obj, "ParameterViewer", false).SetActive(true);
 		UTY.GetChildObject(base.root_obj, "SkillSelectViewer", false).SetActive(true);
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			UIPanel component = UTY.GetChildObject(base.root_obj, "ParameterViewer/YotogiParameterViewer", false).GetComponent<UIPanel>();
 			Vector4 baseClipRegion = component.baseClipRegion;
@@ -162,7 +161,7 @@ public class YotogiPlayManager : WfScreenChildren
 			this.param_basic_bar_ = UTY.GetChildObject(childObject, "ParameterViewer/MaskGroup/ParameterParent", false).GetComponent<YotogiParamBasicBar>();
 			string path = "SceneYotogi/Common/Prefab/ParameterViewer";
 			Vector3 zero = Vector3.zero;
-			if (Product.AEWDA)
+			if (Product.supportMultiLanguage)
 			{
 				path = "SceneYotogi/Common/Prefab/ParameterViewerWidth";
 				zero = new Vector3(44f, 0f, 0f);
@@ -401,7 +400,7 @@ public class YotogiPlayManager : WfScreenChildren
 	public override void Update()
 	{
 		base.Update();
-		if (Product.AEWDA && GameMain.Instance.CMSystem.YotogiSubtitleVisible)
+		if (Product.supportMultiLanguage && GameMain.Instance.CMSystem.YotogiSubtitleVisible)
 		{
 			if (0f < this.message_display_time_)
 			{
@@ -828,7 +827,7 @@ public class YotogiPlayManager : WfScreenChildren
 
 	public void SetMessageText(string text)
 	{
-		if (Product.AEWDA && this.subtitlesManager != null)
+		if (Product.supportMultiLanguage && this.subtitlesManager != null)
 		{
 			this.subtitlesManager.SetTextFromScriptStyle(text);
 		}
@@ -836,7 +835,7 @@ public class YotogiPlayManager : WfScreenChildren
 
 	public void SetMessageTextDisplayTime(int time)
 	{
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			if (0 < time)
 			{
@@ -866,7 +865,7 @@ public class YotogiPlayManager : WfScreenChildren
 
 	public void AddRepeatVoiceText(string text)
 	{
-		if (Product.AEWDA && 0 < this.repeat_voice_data_list_.Count)
+		if (Product.supportMultiLanguage && 0 < this.repeat_voice_data_list_.Count)
 		{
 			YotogiPlayManager.RepeatVoiceData repeatVoiceData = this.repeat_voice_data_list_[this.repeat_voice_data_list_.Count - 1];
 			repeatVoiceData.text = text;
@@ -1828,7 +1827,7 @@ public class YotogiPlayManager : WfScreenChildren
 				"MaidStatus/条件文/性癖【{0}】",
 				data.drawName
 			};
-			if (Product.AEWDA)
+			if (Product.supportMultiLanguage)
 			{
 				key = new string[]
 				{
@@ -1964,6 +1963,7 @@ public class YotogiPlayManager : WfScreenChildren
 		while (num < this.yotogi_mgr_.play_skill_array.Length && num < transform.childCount)
 		{
 			YotogiManager.PlayingSkillData playingSkillData = this.yotogi_mgr_.play_skill_array[num];
+			Yotogi.SkillDataPair skill_pair = playingSkillData.skill_pair;
 			GameObject gameObject = transform.GetChild(num).gameObject;
 			GameObject childObject = UTY.GetChildObject(gameObject, "Icon", false);
 			UI2DSprite component = childObject.GetComponent<UI2DSprite>();
@@ -1972,26 +1972,23 @@ public class YotogiPlayManager : WfScreenChildren
 			UIButton component3 = childObject.GetComponent<UIButton>();
 			UISprite component4 = UTY.GetChildObject(gameObject, "SkillName", false).GetComponent<UISprite>();
 			UILabel componentInChildren = component4.GetComponentInChildren<UILabel>();
-			Localize component5 = componentInChildren.GetComponent<Localize>();
 			UIRect uirect = component4;
 			float alpha = 0f;
 			componentInChildren.alpha = alpha;
 			uirect.alpha = alpha;
 			childObject2.SetActive(false);
-			if (playingSkillData.skill_pair.base_data == null)
+			if (skill_pair.base_data == null)
 			{
 				childObject.SetActive(false);
 			}
 			else
 			{
-				componentInChildren.text = playingSkillData.skill_pair.base_data.name;
-				if (component5 != null)
+				YotogiSkillNameHoverPlate yotogiSkillNameHoverPlate = componentInChildren.GetComponent<YotogiSkillNameHoverPlate>();
+				if (yotogiSkillNameHoverPlate == null)
 				{
-					component5.SetTerm(playingSkillData.skill_pair.base_data.termName);
+					yotogiSkillNameHoverPlate = componentInChildren.gameObject.AddComponent<YotogiSkillNameHoverPlate>();
 				}
-				componentInChildren.width = 0;
-				componentInChildren.MakePixelPerfect();
-				component4.width = componentInChildren.width + 20;
+				yotogiSkillNameHoverPlate.SetName(skill_pair.base_data.name, skill_pair.base_data.termName, false);
 				childObject.SetActive(true);
 				childObject.GetComponent<UIWidget>().depth = childObject2.GetComponent<UIWidget>().depth;
 				if (playingSkillData.is_play || this.playing_skill_no_ == num)
@@ -2014,8 +2011,8 @@ public class YotogiPlayManager : WfScreenChildren
 					component3.enabled = true;
 					childObject.GetComponent<UIPlayAnimation>().enabled = true;
 				}
-				YotogiSkillIcon component6 = childObject.GetComponent<YotogiSkillIcon>();
-				component6.SetSkillData(this.yotogi_mgr_.play_skill_array[num].skill_pair.base_data);
+				YotogiSkillIcon component5 = childObject.GetComponent<YotogiSkillIcon>();
+				component5.SetSkillData(this.yotogi_mgr_.play_skill_array[num].skill_pair.base_data);
 			}
 			num++;
 		}

+ 1 - 1
Assembly-CSharp/YotogiResultManager.cs

@@ -14,7 +14,7 @@ public class YotogiResultManager : WfScreenChildren
 		this.common_buttons_ = UTY.GetChildObject(base.root_obj, "CommonPanel", false).GetComponent<YotogiCommonButtons>();
 		this.common_buttons_.viwe_reset_btn.gameObject.SetActive(false);
 		string path = "SceneYotogi/Common/Prefab/ParameterViewer";
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			path = "SceneYotogi/Common/Prefab/ParameterViewerWidth";
 		}

+ 7 - 22
Assembly-CSharp/YotogiSkillContainerViewer.cs

@@ -1,6 +1,5 @@
 using System;
 using System.Collections;
-using I2.Loc;
 using UnityEngine;
 using wf;
 using Yotogis;
@@ -359,33 +358,19 @@ public class YotogiSkillContainerViewer
 			{
 				this.star_obj[i].SetActive(i <= num - 1);
 			}
+			YotogiSkillNameHoverPlate yotogiSkillNameHoverPlate = this.skill_name_label_.GetComponent<YotogiSkillNameHoverPlate>();
+			if (yotogiSkillNameHoverPlate == null)
+			{
+				yotogiSkillNameHoverPlate = this.skill_name_label_.gameObject.AddComponent<YotogiSkillNameHoverPlate>();
+			}
 			if (this.skill_data_ == null)
 			{
-				this.skill_name_label_.text = string.Empty;
+				yotogiSkillNameHoverPlate.ClearName();
 				this.VisibleSkillName(false);
 			}
 			else
 			{
-				if (this.lock_skill_exp)
-				{
-					this.skill_name_label_.text = this.skill_data_.name + "(EXPロック)";
-				}
-				else
-				{
-					this.skill_name_label_.text = this.skill_data_.name;
-				}
-				if (Product.AEWDA)
-				{
-					string translation = LocalizationManager.GetTranslation(this.skill_data_.termName, true, 0, true, false, null, null);
-					if (!string.IsNullOrEmpty(translation))
-					{
-						string str = (!this.lock_skill_exp) ? string.Empty : LocalizationManager.GetTranslation("SceneYotogi/(EXPロック)", true, 0, true, false, null, null);
-						this.skill_name_label_.text = translation + str;
-					}
-				}
-				this.skill_name_label_.width = 0;
-				this.skill_name_label_.MakePixelPerfect();
-				this.skill_name_bg_.width = this.skill_name_label_.width + 20;
+				yotogiSkillNameHoverPlate.SetName(this.skill_data_.name, this.skill_data_.termName, this.lock_skill_exp);
 			}
 		}
 

+ 2 - 2
Assembly-CSharp/YotogiSkillListManager.cs

@@ -180,7 +180,7 @@ public class YotogiSkillListManager : MonoBehaviour
 					{
 						if (maid.status.personal.id == data2.id)
 						{
-							string text = Product.AEWDA ? maid.status.personal.termName : maid.status.personal.drawName;
+							string text = Product.supportMultiLanguage ? maid.status.personal.termName : maid.status.personal.drawName;
 							list4.Add(new KeyValuePair<string[], Color>(new string[]
 							{
 								"MaidStatus/条件文/ヒロインタイプ {0}",
@@ -226,7 +226,7 @@ public class YotogiSkillListManager : MonoBehaviour
 		{
 			KeyValuePair<Skill.Data, Skill.Old.Data> keyValuePair = this.instansToSkillDatas[instanceId];
 			this.conditionTitleLabel.text = ((keyValuePair.Key == null) ? keyValuePair.Value.name : keyValuePair.Key.name) + " 取得条件";
-			if (Product.AEWDA)
+			if (Product.supportMultiLanguage)
 			{
 				Localize component = this.conditionTitleLabel.GetComponent<Localize>();
 				if (component != null)

+ 74 - 0
Assembly-CSharp/YotogiSkillNameHoverPlate.cs

@@ -0,0 +1,74 @@
+using System;
+using I2.Loc;
+using UnityEngine;
+using UnityEngine.Events;
+using wf;
+
+public class YotogiSkillNameHoverPlate : MonoBehaviour
+{
+	private void Awake()
+	{
+		this.label = base.GetComponent<UILabel>();
+		this.bg = base.transform.parent.gameObject.GetComponent<UISprite>();
+	}
+
+	public void ClearName()
+	{
+		if (this.label == null)
+		{
+			return;
+		}
+		this.label.text = string.Empty;
+		Utility.SetLocalizeTerm(this.label, string.Empty, false);
+	}
+
+	public void SetName(string skillName, string skillNameTerm, bool isExpLock)
+	{
+		if (this.label == null)
+		{
+			return;
+		}
+		if (isExpLock)
+		{
+			this.label.text = skillName + "(EXPロック)";
+		}
+		else
+		{
+			this.label.text = skillName;
+		}
+		if (Product.supportMultiLanguage)
+		{
+			Localize localize = this.label.GetComponent<Localize>();
+			if (localize == null)
+			{
+				localize = this.label.gameObject.AddComponent<Localize>();
+				localize.LocalizeEventExecEnd.AddListener(new UnityAction(this.OnLocalizeEvent));
+			}
+			localize.TermArgs = new Localize.ArgsPair[2];
+			localize.TermArgs[0] = Localize.ArgsPair.Create(skillNameTerm, true);
+			localize.TermArgs[1] = ((!isExpLock) ? Localize.ArgsPair.Create(string.Empty, false) : Localize.ArgsPair.Create("SceneYotogi/(EXPロック)", true));
+			localize.SetTerm("SceneYotogi/スキル選択スキル名表記");
+		}
+		this.LabelPixelPerfect();
+	}
+
+	public void LabelPixelPerfect()
+	{
+		if (this.label == null)
+		{
+			return;
+		}
+		this.label.width = 0;
+		this.label.MakePixelPerfect();
+		this.bg.width = this.label.width + 20;
+	}
+
+	private void OnLocalizeEvent()
+	{
+		this.LabelPixelPerfect();
+	}
+
+	private UILabel label;
+
+	private UISprite bg;
+}

+ 1 - 1
Assembly-CSharp/YotogiSkillSelectManager.cs

@@ -15,7 +15,7 @@ public class YotogiSkillSelectManager : WfScreenChildren
 		this.yotogi_mgr_ = base.GetComponentInParent<YotogiManager>();
 		this.common_buttons_ = UTY.GetChildObject(base.root_obj, "CommonPanel", false).GetComponent<YotogiCommonButtons>();
 		string path = "SceneYotogi/Common/Prefab/ParameterViewer";
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			path = "SceneYotogi/Common/Prefab/ParameterViewerWidth";
 		}

+ 1 - 1
Assembly-CSharp/YotogiSkillUnit.cs

@@ -211,7 +211,7 @@ public class YotogiSkillUnit : MonoBehaviour
 			return;
 		}
 		this.conditionTitleLabel.text = this.skill_data_.name + " 習得条件";
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			Localize component = this.conditionTitleLabel.GetComponent<Localize>();
 			if (component != null)

+ 1 - 1
Assembly-CSharp/YotogiStageUnit.cs

@@ -15,7 +15,7 @@ public class YotogiStageUnit : MonoBehaviour
 		this.star_parent_ = new GameObject[2];
 		this.star_parent_[0] = UTY.GetChildObject(childObject, "StarGroup", false);
 		this.star_parent_[1] = UTY.GetChildObject(childObject, "StarMarkGroup", false);
-		if (Product.AEWDA)
+		if (Product.supportMultiLanguage)
 		{
 			foreach (GameObject gameObject in this.star_parent_)
 			{

+ 1 - 1
Assembly-CSharp/Yotogis/SkillAcquisitionCondition.cs

@@ -27,7 +27,7 @@ namespace Yotogis
 				{
 					value = true;
 				}
-				string text = Product.AEWDA ? this.yotogi_class.termName : this.yotogi_class.drawName;
+				string text = Product.supportMultiLanguage ? this.yotogi_class.termName : this.yotogi_class.drawName;
 				list.Add(new KeyValuePair<string[], bool>(new string[]
 				{
 					text

+ 2 - 2
Assembly-CSharp/wf/Utility.cs

@@ -114,12 +114,12 @@ namespace wf
 
 		public static bool SetLocalizeTerm(Component obj, string term, bool forceApply = false)
 		{
-			return (Product.AEWDA || forceApply) && !(obj == null) && !string.IsNullOrEmpty(term) && Utility.SetLocalizeTerm(obj.GetComponent<Localize>(), term, forceApply);
+			return (Product.supportMultiLanguage || forceApply) && !(obj == null) && !string.IsNullOrEmpty(term) && Utility.SetLocalizeTerm(obj.GetComponent<Localize>(), term, forceApply);
 		}
 
 		public static bool SetLocalizeTerm(Localize localize, string term, bool forceApply = false)
 		{
-			if ((!Product.AEWDA && !forceApply) || localize == null || string.IsNullOrEmpty(term))
+			if ((!Product.supportMultiLanguage && !forceApply) || localize == null || string.IsNullOrEmpty(term))
 			{
 				return false;
 			}