Skip to content

Commit

Permalink
抽卡模拟器更新
Browse files Browse the repository at this point in the history
  • Loading branch information
ZengXiaoPi committed Feb 7, 2024
1 parent 4a8ac53 commit fb8dffd
Show file tree
Hide file tree
Showing 3 changed files with 166 additions and 23 deletions.
25 changes: 21 additions & 4 deletions src/MainPage.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

134 changes: 130 additions & 4 deletions src/MainPage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ 5. 垃圾性能
using SimpleJSON;
using Sunny.UI;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Net;
Expand All @@ -28,14 +29,16 @@ 5. 垃圾性能
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Net.Mime.MediaTypeNames;

namespace LLC_MOD_Toolbox
{

public partial class MainPage : UIForm
{
public const string VERSION = "0.6.2";
public const string VERSION = "0.6.3";
private string tipTexts;
private string personalTexts;
private readonly string TipsPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Tips.txt");
// 注册日志系统
private static readonly ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
Expand Down Expand Up @@ -136,9 +139,14 @@ private void Init_Toolbox()
}
}
tipTexts = File.ReadAllText(TipsPath);
Application.DoEvents();
System.Windows.Forms.Application.DoEvents();
TipTimer.Enabled = true;
VERY_SECRET_APRIL_FOOL_METHOD();
personalTexts = GetWikiPersonalText();
if (personalTexts == null)
{
PersonalButton.Visible = false;
}
}

/// <summary>
Expand Down Expand Up @@ -544,6 +552,7 @@ private void ControlButton(bool CanUse)
uiTabControl.Enabled = true;
installButton.Enabled = true;
deleteButton.Enabled = true;
PersonalButton.Enabled = true;
logger.Info("开启完成。");
}
else
Expand All @@ -552,6 +561,7 @@ private void ControlButton(bool CanUse)
uiTabControl.Enabled = false;
installButton.Enabled = false;
deleteButton.Enabled = false;
PersonalButton.Enabled = false;
logger.Info("关闭完成。");
}
}
Expand Down Expand Up @@ -1599,9 +1609,126 @@ private void VERY_SECRET_APRIL_FOOL_METHOD()
if (currentDate.Month == 4 && currentDate.Day == 1)
{
logger.Info("您猜怎么着?今儿四月一!");
AprilFoolMode = true;
MessageBox.Show("抽卡模拟器的概率发生了一些微妙的变化……", "提示...?", MessageBoxButtons.OK, MessageBoxIcon.Question);
}
}

#endregion

#region 抽卡模拟器
/// <summary>
/// 从Wiki获得人格数据库Json
/// </summary>
/// <returns>页面原始数据</returns>
public static string GetWikiPersonalText()
{
logger.Info("获取Wiki人格数据。");
try
{
using WebClient client = new();
client.Headers.Add("User-Agent", "request");
string raw = string.Empty;
logger.Info("从Wiki获取原始文本");
raw = new StreamReader(client.OpenRead(new Uri("https://limbuscompany.huijiwiki.com/w/api.php?action=query&format=json&prop=revisions&rvprop=content&titles=Data:Identitychoose.tabx")), Encoding.UTF8).ReadToEnd();
var wikitext = JSONNode.Parse(raw).AsObject;
string originText = wikitext["query"]["pages"]["4338"]["revisions"][0]["*"].Value;
string resultText = originText.Replace("\\", "");
return resultText;
}
catch (Exception ex)
{
logger.Error("出现了问题。\n" + ex.ToString());
return null;
}
}
/// <summary>
/// 点击抽卡模拟器逻辑
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void PersonalButton_Click(object sender, EventArgs e)
{
int[] PersonalData = PersonalDataGen(AprilFoolMode);
var PersonalObject = JSONNode.Parse(personalTexts).AsObject;
int PersonalCount = PersonalObject["data"].Count;
string[] PersonalList = new string[10];
int CachePersonal;
Random rand = new Random();
// 高危代码。如果有问题先看看这里。
try
{
for (int i = 0; i < PersonalData.Length; i++)
{
while (true)
{
CachePersonal = rand.Next(0, PersonalCount - 1);
if (PersonalObject["data"][CachePersonal][6] == PersonalData[i])
{
PersonalList[i] = PersonalObject["data"][CachePersonal][6] + "★ | " + PersonalObject["data"][CachePersonal][0];
break;
}
}
}
string message = "抽卡结果:\n";
for (int i = 0; i < PersonalData.Length; i++)
{
message += PersonalList[i] + "\n";
}
message += "下次还抽吗?";
MessageBox.Show(message, "结果");
}
catch(Exception ex)
{
logger.Error("出现了问题。\n" + ex.ToString());
MessageBox.Show("出现了问题\n" + ex.ToString());
}
}
/// <summary>
/// 生成人格品质
/// </summary>
/// <param name="AprilMode">是否为愚人节,若为愚人节,只会生成1。</param>
/// <returns>一个int[],内含有10个1,2,3,代表人格品质</returns>
public static int[] PersonalDataGen(bool AprilMode)
{
Random random = new Random();
int[] numbers = new int[10];

for (int i = 0; i < numbers.Length; i++)
{
int randomNumber = random.Next(1, 101);
if (!AprilMode)
{
if (i == 9)
{
if (randomNumber <= 3)
{
numbers[i] = 3;
}
else
{
numbers[i] = 2;
}
}
else
{
if (randomNumber <= 13)
{
numbers[i] = 2;
}
else
{
numbers[i] = 1;
}
}
}
else
{
numbers[i] = 1;
}
}
return numbers;
}
#endregion
private void downloadFile_Click(object sender, EventArgs e)
{
Expand Down Expand Up @@ -1640,8 +1767,6 @@ private void uiButton1_Click(object sender, EventArgs e)
MessageBox.Show("开关失败。是否还未安装模组?", "错误");
}
}
private bool isWindows10;

private string node = string.Empty;

private string limbusCompanyDir;
Expand All @@ -1657,5 +1782,6 @@ private void uiButton1_Click(object sender, EventArgs e)

private bool mirrorGithub = false;
private bool useGithub;
private bool AprilFoolMode = false;
}
}
30 changes: 15 additions & 15 deletions src/MainPage.resx
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,21 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="uiLabel8.Text" xml:space="preserve">
<value>汉化:零协会全体成员
首席外交官(划掉)LLTT系长:N071(北岚)
LLC部长:Bright1192(奈芙)
汉化补丁作者:Bright1192(奈芙)
BepInEx作者:BepInEx团队
BepInEx For LLC分支作者:Bright1192(奈芙)
字体贡献者:茜
安装器原作者&amp;技术支持:Bright1192(奈芙)
工具箱重制:曾小皮-ZengXiaoPi
镜像节点:曾小皮-ZengXiaoPi

使用 SunnyUI https://gitee.com/yhuse/SunnyUI
最棒的WinForm美化!</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
Expand Down Expand Up @@ -1883,21 +1898,6 @@
/////////4AAAAAAAAAAAAH/////////////gAAAAAAAAAAAAf/////////////AAAAAAAAAAAAD////
//8=
</value>
</data>
<data name="uiLabel8.Text" xml:space="preserve">
<value>汉化:零协会全体成员
首席外交官(划掉)LLTT系长:N071(北岚)
LLC部长:Bright1192(奈芙)
汉化补丁作者:Bright1192(奈芙)
BepInEx作者:BepInEx团队
BepInEx For LLC分支作者:Bright1192(奈芙)
字体贡献者:茜
安装器原作者&amp;技术支持:Bright1192(奈芙)
工具箱重制:曾小皮-ZengXiaoPi
镜像节点:曾小皮-ZengXiaoPi

使用 SunnyUI https://gitee.com/yhuse/SunnyUI
最棒的WinForm美化!</value>
</data>
<metadata name="TipTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
Expand Down

0 comments on commit fb8dffd

Please sign in to comment.