mirror of
https://github.com/jie65535/GrasscutterCommandGenerator.git
synced 2025-06-08 23:19:14 +08:00
Update version to v1.7.3 Update CommandVersion to v1.4.3
This commit is contained in:
parent
cd25afe0c7
commit
42e5c94601
956
Source/GrasscutterTools/Forms/FormMain.Designer.cs
generated
956
Source/GrasscutterTools/Forms/FormMain.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@ -714,7 +714,7 @@ namespace GrasscutterTools.Forms
|
|||||||
id = id / 1000 * 1000 + (int)NUDArtifactStars.Value * 100 + id % 100;
|
id = id / 1000 * 1000 + (int)NUDArtifactStars.Value * 100 + id % 100;
|
||||||
if (CmbMainAttribution.SelectedIndex < 0)
|
if (CmbMainAttribution.SelectedIndex < 0)
|
||||||
{
|
{
|
||||||
if (Check(CommandVersion.V1_2_2))
|
if (CommandVersion.Check(CommandVersion.V1_2_2))
|
||||||
SetCommand("/give", $"{id} lv{NUDArtifactLevel.Value}");
|
SetCommand("/give", $"{id} lv{NUDArtifactLevel.Value}");
|
||||||
else
|
else
|
||||||
SetCommand("/giveart", $"{id} {NUDArtifactLevel.Value}");
|
SetCommand("/giveart", $"{id} {NUDArtifactLevel.Value}");
|
||||||
@ -746,7 +746,7 @@ namespace GrasscutterTools.Forms
|
|||||||
subAttrs += $"{kv.Key} ";
|
subAttrs += $"{kv.Key} ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (Check(CommandVersion.V1_2_2))
|
if (CommandVersion.Check(CommandVersion.V1_2_2))
|
||||||
SetCommand("/give", $"{id} lv{NUDArtifactLevel.Value} {mainAttr} {subAttrs}");
|
SetCommand("/give", $"{id} lv{NUDArtifactLevel.Value} {mainAttr} {subAttrs}");
|
||||||
else
|
else
|
||||||
SetCommand("/giveart", $"{id} {mainAttr} {subAttrs}{NUDArtifactLevel.Value}");
|
SetCommand("/giveart", $"{id} {mainAttr} {subAttrs}{NUDArtifactLevel.Value}");
|
||||||
@ -783,7 +783,7 @@ namespace GrasscutterTools.Forms
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void ChangeTPArtifact()
|
private void ChangeTPArtifact()
|
||||||
{
|
{
|
||||||
if (Check(CommandVersion.V1_2_2))
|
if (CommandVersion.Check(CommandVersion.V1_2_2))
|
||||||
{
|
{
|
||||||
NUDArtifactLevel.Minimum = 0;
|
NUDArtifactLevel.Minimum = 0;
|
||||||
NUDArtifactLevel.Maximum = 20;
|
NUDArtifactLevel.Maximum = 20;
|
||||||
@ -826,7 +826,7 @@ namespace GrasscutterTools.Forms
|
|||||||
if (!string.IsNullOrEmpty(name))
|
if (!string.IsNullOrEmpty(name))
|
||||||
{
|
{
|
||||||
var id = ItemMap.ToId(name);
|
var id = ItemMap.ToId(name);
|
||||||
if (Check(CommandVersion.V1_2_2))
|
if (CommandVersion.Check(CommandVersion.V1_2_2))
|
||||||
SetCommand("/give", $"{id} x{NUDWeaponAmout.Value} lv{NUDWeaponLevel.Value} r{NUDWeaponRefinement.Value}");
|
SetCommand("/give", $"{id} x{NUDWeaponAmout.Value} lv{NUDWeaponLevel.Value} r{NUDWeaponRefinement.Value}");
|
||||||
else
|
else
|
||||||
SetCommand("/give", $"{id} {NUDWeaponAmout.Value} {NUDWeaponLevel.Value} {NUDWeaponRefinement.Value}");
|
SetCommand("/give", $"{id} {NUDWeaponAmout.Value} {NUDWeaponLevel.Value} {NUDWeaponRefinement.Value}");
|
||||||
@ -881,7 +881,7 @@ namespace GrasscutterTools.Forms
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
NUDGameItemLevel.Enabled = true;
|
NUDGameItemLevel.Enabled = true;
|
||||||
if (Check(CommandVersion.V1_2_2))
|
if (CommandVersion.Check(CommandVersion.V1_2_2))
|
||||||
SetCommand("/give", $"{id} x{NUDGameItemAmout.Value} lv{NUDGameItemLevel.Value}");
|
SetCommand("/give", $"{id} x{NUDGameItemAmout.Value} lv{NUDGameItemLevel.Value}");
|
||||||
else
|
else
|
||||||
SetCommand("/give", $"{id} {NUDGameItemAmout.Value} {NUDGameItemLevel.Value}");
|
SetCommand("/give", $"{id} {NUDGameItemAmout.Value} {NUDGameItemLevel.Value}");
|
||||||
@ -1048,12 +1048,12 @@ namespace GrasscutterTools.Forms
|
|||||||
/// <param name="level">等级</param>
|
/// <param name="level">等级</param>
|
||||||
private void GenAvatar(int level, int constellation, int skillLevel)
|
private void GenAvatar(int level, int constellation, int skillLevel)
|
||||||
{
|
{
|
||||||
if (Check(CommandVersion.V1_4_1))
|
if (CommandVersion.Check(CommandVersion.V1_4_1))
|
||||||
{
|
{
|
||||||
int avatarId = GameData.Avatars.Ids[CmbAvatar.SelectedIndex];
|
int avatarId = GameData.Avatars.Ids[CmbAvatar.SelectedIndex];
|
||||||
SetCommand("/give", $"{avatarId} lv{level} c{constellation} sl{skillLevel}");
|
SetCommand("/give", $"{avatarId} lv{level} c{constellation} sl{skillLevel}");
|
||||||
}
|
}
|
||||||
else if (Check(CommandVersion.V1_2_2))
|
else if (CommandVersion.Check(CommandVersion.V1_2_2))
|
||||||
{
|
{
|
||||||
int avatarId = GameData.Avatars.Ids[CmbAvatar.SelectedIndex];
|
int avatarId = GameData.Avatars.Ids[CmbAvatar.SelectedIndex];
|
||||||
SetCommand("/give", $"{avatarId} lv{level} c{constellation}");
|
SetCommand("/give", $"{avatarId} lv{level} c{constellation}");
|
||||||
@ -1075,7 +1075,7 @@ namespace GrasscutterTools.Forms
|
|||||||
var level = NUDAvatarLevel.Value;
|
var level = NUDAvatarLevel.Value;
|
||||||
var constellation = NUDAvatarConstellation.Value;
|
var constellation = NUDAvatarConstellation.Value;
|
||||||
var skillLevel = NUDAvatarSkillLevel.Value;
|
var skillLevel = NUDAvatarSkillLevel.Value;
|
||||||
if (Check(CommandVersion.V1_4_1))
|
if (CommandVersion.Check(CommandVersion.V1_4_1))
|
||||||
SetCommand("/give avatars", $"lv{level} c{constellation} sl{skillLevel}");
|
SetCommand("/give avatars", $"lv{level} c{constellation} sl{skillLevel}");
|
||||||
else
|
else
|
||||||
SetCommand("/give avatars", $"lv{level} c{constellation}");
|
SetCommand("/give avatars", $"lv{level} c{constellation}");
|
||||||
@ -1150,27 +1150,54 @@ namespace GrasscutterTools.Forms
|
|||||||
|
|
||||||
#region - 生成 Spawns -
|
#region - 生成 Spawns -
|
||||||
|
|
||||||
|
#region -- 实体列表 --
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 初始化实体列表
|
/// 初始化实体列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitEntityList()
|
private void InitEntityList()
|
||||||
{
|
{
|
||||||
FLPEntityType.SuspendLayout();
|
// 初始化列表类型过滤器
|
||||||
FLPEntityType.Controls.Clear();
|
MenuSpawnEntityFilter.SuspendLayout();
|
||||||
foreach (var m in GameData.Monsters.Concat(GameData.Gatgets))
|
MenuSpawnEntityFilter.Items.Clear();
|
||||||
|
void AddTypes(ItemMapGroup group)
|
||||||
{
|
{
|
||||||
var rb = new RadioButton
|
foreach (var kv in group)
|
||||||
{
|
{
|
||||||
AutoSize = true,
|
var item = new ToolStripMenuItem
|
||||||
Text = m.Key,
|
{
|
||||||
Tag = m.Value.Lines
|
Text = kv.Key,
|
||||||
|
Tag = kv.Value.Lines,
|
||||||
};
|
};
|
||||||
rb.CheckedChanged += RbEntity_CheckedChanged;
|
item.Click += OnEntityTypeFilterClick;
|
||||||
FLPEntityType.Controls.Add(rb);
|
MenuSpawnEntityFilter.Items.Add(item);
|
||||||
}
|
}
|
||||||
FLPEntityType.ResumeLayout();
|
}
|
||||||
if (FLPEntityType.Controls.Count > 0)
|
//MenuSpawnEntityFilter.Items.Add(new ToolStripLabel("Monsters"));
|
||||||
(FLPEntityType.Controls[0] as RadioButton).Checked = true;
|
AddTypes(GameData.Monsters);
|
||||||
|
MenuSpawnEntityFilter.Items.Add(new ToolStripSeparator());
|
||||||
|
//MenuSpawnEntityFilter.Items.Add(new ToolStripLabel("Gadgets"));
|
||||||
|
AddTypes(GameData.Gadgets);
|
||||||
|
MenuSpawnEntityFilter.ResumeLayout();
|
||||||
|
|
||||||
|
// 默认显示所有怪物
|
||||||
|
SelectedEntityTypeLines = GameData.Monsters.AllLines.ToArray();
|
||||||
|
LoadEntityList();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 当前选中的实体类型行
|
||||||
|
/// </summary>
|
||||||
|
private string[] SelectedEntityTypeLines;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 实体类型过滤器类型选中时触发
|
||||||
|
/// </summary>
|
||||||
|
private void OnEntityTypeFilterClick(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var btn = sender as ToolStripMenuItem;
|
||||||
|
SelectedEntityTypeLines = btn.Tag as string[];
|
||||||
|
LoadEntityList();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -1178,14 +1205,7 @@ namespace GrasscutterTools.Forms
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void LoadEntityList()
|
private void LoadEntityList()
|
||||||
{
|
{
|
||||||
foreach (RadioButton rb in FLPEntityType.Controls)
|
UIUtil.ListBoxFilter(ListEntity, SelectedEntityTypeLines, TxtEntityFilter.Text);
|
||||||
{
|
|
||||||
if (rb.Checked)
|
|
||||||
{
|
|
||||||
UIUtil.ListBoxFilter(ListEntity, rb.Tag as string[], TxtEntityFilter.Text);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -1197,45 +1217,39 @@ namespace GrasscutterTools.Forms
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 生成召唤实体命令
|
/// 实体列表类型过滤按钮点击时触发
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>是否生成成功</returns>
|
private void BtnFilterEntity_Click(object sender, EventArgs e)
|
||||||
private bool GenSpawnEntityCommand()
|
|
||||||
{
|
{
|
||||||
var selectedItem = ListEntity.SelectedItem as string;
|
MenuSpawnEntityFilter.Show(BtnFilterEntity, 0, BtnFilterEntity.Height);
|
||||||
if (!string.IsNullOrEmpty(selectedItem))
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 实体列表选中项改变时触发
|
||||||
|
/// </summary>
|
||||||
|
private void ListEntity_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var id = ItemMap.ToId(selectedItem);
|
// 根据当前所在页面确定要做的事情
|
||||||
|
|
||||||
//// 自定义攻击Gadget特供版
|
// 攻击修改界面
|
||||||
//SetCommand("/at", $"set n {id}");
|
if (TCSpawnSettings.SelectedTab == TPAttackModArgs)
|
||||||
//return true;
|
{
|
||||||
|
OnAttackModifierInputChanged(sender, e);
|
||||||
if (Check(CommandVersion.V1_3_1))
|
}
|
||||||
SetCommand("/spawn", $"{id} x{NUDEntityAmout.Value} lv{NUDEntityLevel.Value}" + (ChkInfiniteHP.Checked ? " hp0" : ""));
|
// 攻击注入界面
|
||||||
|
else if (TCSpawnSettings.SelectedTab == TPAttackInfusedArgs)
|
||||||
|
{
|
||||||
|
// 无事发生,因为要页面上点击按钮才会生成命令
|
||||||
|
}
|
||||||
|
// 生成参数界面 或其它
|
||||||
else
|
else
|
||||||
SetCommand("/spawn", $"{id} {NUDEntityAmout.Value} {NUDEntityLevel.Value}");
|
{
|
||||||
return true;
|
// 触发输入改变事件
|
||||||
|
SpawnEntityInputChanged(sender, e);
|
||||||
}
|
}
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
#endregion
|
||||||
/// 生成页面输入改变时触发
|
|
||||||
/// </summary>
|
|
||||||
private void SpawnEntityInputChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
GenSpawnEntityCommand();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 列表过滤选项切换时触发
|
|
||||||
/// </summary>
|
|
||||||
private void RbEntity_CheckedChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
if ((sender as RadioButton).Checked)
|
|
||||||
LoadEntityList();
|
|
||||||
}
|
|
||||||
|
|
||||||
#region -- 生成记录 --
|
#region -- 生成记录 --
|
||||||
|
|
||||||
@ -1294,9 +1308,10 @@ namespace GrasscutterTools.Forms
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void BtnSaveSpawnLog_Click(object sender, EventArgs e)
|
private void BtnSaveSpawnLog_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (GenSpawnEntityCommand())
|
// 不再重新生成,直接记录当前命令行的内容
|
||||||
|
//if (GenSpawnEntityCommand())
|
||||||
{
|
{
|
||||||
var cmd = new GameCommand($"{ListEntity.SelectedItem} Lv{NUDEntityLevel.Value} x{NUDEntityAmout.Value}", TxtCommand.Text);
|
var cmd = new GameCommand($"{ListEntity.SelectedItem} | {TxtCommand.Text}", TxtCommand.Text);
|
||||||
SpawnCommands.Add(cmd);
|
SpawnCommands.Add(cmd);
|
||||||
ListSpawnLogs.Items.Add(cmd.Name);
|
ListSpawnLogs.Items.Add(cmd.Name);
|
||||||
SaveSpawnRecord();
|
SaveSpawnRecord();
|
||||||
@ -1331,6 +1346,140 @@ namespace GrasscutterTools.Forms
|
|||||||
|
|
||||||
#endregion -- 生成记录 --
|
#endregion -- 生成记录 --
|
||||||
|
|
||||||
|
#region -- 生成参数 --
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 生成页面输入改变时触发
|
||||||
|
/// </summary>
|
||||||
|
private void SpawnEntityInputChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (ListEntity.SelectedIndex == -1) return;
|
||||||
|
var selectedItem = ListEntity.SelectedItem as string;
|
||||||
|
var id = ItemMap.ToId(selectedItem);
|
||||||
|
|
||||||
|
if (CommandVersion.Check(CommandVersion.V1_3_1))
|
||||||
|
{
|
||||||
|
var args = id.ToString();
|
||||||
|
void CheckAndConnect(NumericUpDown input, int value, string prefix)
|
||||||
|
{
|
||||||
|
if (input.Value > value)
|
||||||
|
args += prefix + input.Value;
|
||||||
|
}
|
||||||
|
CheckAndConnect(NUDEntityAmout, 1, " x");
|
||||||
|
CheckAndConnect(NUDEntityLevel, 1, " lv");
|
||||||
|
CheckAndConnect(NUDEntityHp, -1, " hp");
|
||||||
|
CheckAndConnect(NUDEntityMaxHp, 0, " maxhp");
|
||||||
|
CheckAndConnect(NUDEntityAtk, -1, " atk");
|
||||||
|
CheckAndConnect(NUDEntityDef, -1, " def");
|
||||||
|
if (NUDEntityPosX.Value != 0 || NUDEntityPosY.Value != 0 || NUDEntityPosZ.Value != 0)
|
||||||
|
args += $" {NUDEntityPosX.Value} {NUDEntityPosY.Value} {NUDEntityPosZ.Value}";
|
||||||
|
SetCommand("/spawn", args);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetCommand("/spawn", $"{id} {NUDEntityAmout.Value} {NUDEntityLevel.Value}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region -- 攻击修改参数 --
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 攻击修改插件链接标签点击时触发
|
||||||
|
/// </summary>
|
||||||
|
private void LnkAttackModifierPlugin_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||||
|
{
|
||||||
|
OpenURL("https://github.com/NotThorny/AttackModifier");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 攻击修改输入改变事件
|
||||||
|
/// </summary>
|
||||||
|
private void OnAttackModifierInputChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (ListEntity.SelectedIndex == -1) return;
|
||||||
|
var selectedItem = ListEntity.SelectedItem as string;
|
||||||
|
var id = ItemMap.ToId(selectedItem);
|
||||||
|
char skill;
|
||||||
|
if (RbAtE.Checked)
|
||||||
|
{
|
||||||
|
skill = 'e';
|
||||||
|
TxtAtEntityE.Text = selectedItem;
|
||||||
|
}
|
||||||
|
else if (RbAtQ.Checked)
|
||||||
|
{
|
||||||
|
skill = 'q';
|
||||||
|
TxtAtEntityQ.Text = selectedItem;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
skill = 'n';
|
||||||
|
TxtAtEntityN.Text = selectedItem;
|
||||||
|
}
|
||||||
|
SetCommand("/at", $"set {skill} {id}");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 攻击修改页面命令事件
|
||||||
|
/// </summary>
|
||||||
|
private void OnAttackModifierCommand(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
SetCommand("/at", (sender as Control).Tag as string);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region -- 攻击注入参数 --
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 攻击注入插件链接标签点击时触发
|
||||||
|
/// </summary>
|
||||||
|
private void LnkAttackInfusedWithItem_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||||
|
{
|
||||||
|
OpenURL("https://github.com/snoobi-seggs/AttackInfusedWithItem");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 攻击注入页面命令事件
|
||||||
|
/// </summary>
|
||||||
|
private void OnAttackInfusedCommand(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
SetCommand("/at", (sender as Control).Tag as string);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 点击攻击注入按钮时触发
|
||||||
|
/// </summary>
|
||||||
|
private void BtnAttackInfuse_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (ListEntity.SelectedIndex == -1) return;
|
||||||
|
var selectedItem = ListEntity.SelectedItem as string;
|
||||||
|
var id = ItemMap.ToId(selectedItem);
|
||||||
|
|
||||||
|
var args = string.Empty;
|
||||||
|
var flag = false;
|
||||||
|
void ConnectArg(NumericUpDown input)
|
||||||
|
{
|
||||||
|
if (flag || input.Value != 0)
|
||||||
|
{
|
||||||
|
flag = true;
|
||||||
|
args = " " + input.Value + args;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ConnectArg(NUDAiwiRotateZ);
|
||||||
|
ConnectArg(NUDAiwiRotateY);
|
||||||
|
ConnectArg(NUDAiwiRotateX);
|
||||||
|
ConnectArg(NUDAiwiSpread);
|
||||||
|
ConnectArg(NUDAiwiCount);
|
||||||
|
ConnectArg(NUDAiwiHeight);
|
||||||
|
ConnectArg(NUDAiwiRadius);
|
||||||
|
SetCommand("/at", id.ToString() + args);
|
||||||
|
//SetCommand("/at", $"{id} {NUDAiwiRadius.Value} {NUDAiwiHeight.Value} {NUDAiwiCount.Value} {NUDAiwiSpread.Value} {NUDAiwiRotateX.Value} {NUDAiwiRotateY.Value} {NUDAiwiRotateZ.Value}");
|
||||||
|
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
#endregion - 生成 Spawns -
|
#endregion - 生成 Spawns -
|
||||||
|
|
||||||
#region - 场景 Scenes -
|
#region - 场景 Scenes -
|
||||||
@ -1370,7 +1519,7 @@ namespace GrasscutterTools.Forms
|
|||||||
// 可以直接弃用 scene 命令
|
// 可以直接弃用 scene 命令
|
||||||
var name = ListScenes.SelectedItem as string;
|
var name = ListScenes.SelectedItem as string;
|
||||||
var id = ItemMap.ToId(name);
|
var id = ItemMap.ToId(name);
|
||||||
if (Check(CommandVersion.V1_2_2))
|
if (CommandVersion.Check(CommandVersion.V1_2_2))
|
||||||
{
|
{
|
||||||
SetCommand("/scene", id.ToString());
|
SetCommand("/scene", id.ToString());
|
||||||
}
|
}
|
||||||
@ -1392,7 +1541,7 @@ namespace GrasscutterTools.Forms
|
|||||||
{
|
{
|
||||||
if (CmbClimateType.SelectedIndex < 0)
|
if (CmbClimateType.SelectedIndex < 0)
|
||||||
return;
|
return;
|
||||||
if (Check(CommandVersion.V1_2_2))
|
if (CommandVersion.Check(CommandVersion.V1_2_2))
|
||||||
SetCommand("/weather", CmbClimateType.SelectedIndex < climateTypes.Length ? climateTypes[CmbClimateType.SelectedIndex] : "none");
|
SetCommand("/weather", CmbClimateType.SelectedIndex < climateTypes.Length ? climateTypes[CmbClimateType.SelectedIndex] : "none");
|
||||||
else
|
else
|
||||||
SetCommand("/weather", $"0 {CmbClimateType.SelectedIndex}");
|
SetCommand("/weather", $"0 {CmbClimateType.SelectedIndex}");
|
||||||
@ -1957,13 +2106,6 @@ namespace GrasscutterTools.Forms
|
|||||||
TTip.Show(message, control, 0, control.Size.Height, 3000);
|
TTip.Show(message, control, 0, control.Size.Height, 3000);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 检查命令版本
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="version">最低要求版本</param>
|
|
||||||
/// <returns>当前版本是否满足</returns>
|
|
||||||
private bool Check(Version version) => CommandVersion.Current >= version;
|
|
||||||
|
|
||||||
#endregion - 通用 General -
|
#endregion - 通用 General -
|
||||||
|
|
||||||
#region - 命令记录 Command Logs -
|
#region - 命令记录 Command Logs -
|
||||||
@ -2313,7 +2455,7 @@ namespace GrasscutterTools.Forms
|
|||||||
{
|
{
|
||||||
if (GOODData.Avatars.TryGetValue(character.Name, out var character_id))
|
if (GOODData.Avatars.TryGetValue(character.Name, out var character_id))
|
||||||
{
|
{
|
||||||
if (Check(CommandVersion.V1_4_1))
|
if (CommandVersion.Check(CommandVersion.V1_4_1))
|
||||||
{
|
{
|
||||||
// 取最低的技能等级
|
// 取最低的技能等级
|
||||||
var skillLevel = Math.Min(Math.Min(character.Talents.Auto, character.Talents.Skill), character.Talents.Burst);
|
var skillLevel = Math.Min(Math.Min(character.Talents.Auto, character.Talents.Skill), character.Talents.Burst);
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -71,6 +71,12 @@ namespace GrasscutterTools.Game
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static CommandVersion Latest() => new CommandVersion(List[List.Length - 1]);
|
public static CommandVersion Latest() => new CommandVersion(List[List.Length - 1]);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 检查命令版本
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="version">最低要求版本</param>
|
||||||
|
/// <returns>当前版本是否满足</returns>
|
||||||
|
public bool Check(Version version) => Current >= version;
|
||||||
|
|
||||||
#region - 版本列表 Version List -
|
#region - 版本列表 Version List -
|
||||||
|
|
||||||
@ -120,11 +126,16 @@ namespace GrasscutterTools.Game
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static readonly Version V1_4_2 = new Version(1, 4, 2);
|
public static readonly Version V1_4_2 = new Version(1, 4, 2);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 2022/11/15
|
||||||
|
/// </summary>
|
||||||
|
public static readonly Version V1_4_3 = new Version(1, 4, 3);
|
||||||
|
|
||||||
// More...
|
// More...
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 2022/10/18
|
/// Date
|
||||||
/// </summary>
|
/// </summary>
|
||||||
//public static readonly Version V1_4_3 = new Version(1, 4, 2);
|
//public static readonly Version V1_4_4 = new Version(1, 4, 4);
|
||||||
|
|
||||||
public static Version[] List { get; } = new Version[] {
|
public static Version[] List { get; } = new Version[] {
|
||||||
V1_2_1,
|
V1_2_1,
|
||||||
@ -135,7 +146,8 @@ namespace GrasscutterTools.Game
|
|||||||
V1_4_0,
|
V1_4_0,
|
||||||
V1_4_1,
|
V1_4_1,
|
||||||
V1_4_2,
|
V1_4_2,
|
||||||
//V1_4_3,
|
V1_4_3,
|
||||||
|
//V1_4_4,
|
||||||
};
|
};
|
||||||
|
|
||||||
#endregion - 版本列表 Version List -
|
#endregion - 版本列表 Version List -
|
||||||
|
@ -32,7 +32,7 @@ namespace GrasscutterTools.Game
|
|||||||
AvatarColors = new ItemMap(Resources.AvatarColor);
|
AvatarColors = new ItemMap(Resources.AvatarColor);
|
||||||
Items = new ItemMap(Resources.Item);
|
Items = new ItemMap(Resources.Item);
|
||||||
Monsters = new ItemMapGroup(Resources.Monsters);
|
Monsters = new ItemMapGroup(Resources.Monsters);
|
||||||
Gatgets = new ItemMapGroup(Resources.Gadget);
|
Gadgets = new ItemMapGroup(Resources.Gadget);
|
||||||
Scenes = new ItemMap(Resources.Scene);
|
Scenes = new ItemMap(Resources.Scene);
|
||||||
Weapons = new ItemMap(Resources.Weapon);
|
Weapons = new ItemMap(Resources.Weapon);
|
||||||
WeaponColors = new ItemMap(Resources.WeaponColor);
|
WeaponColors = new ItemMap(Resources.WeaponColor);
|
||||||
@ -58,7 +58,7 @@ namespace GrasscutterTools.Game
|
|||||||
|
|
||||||
public static ItemMapGroup Monsters { get; private set; }
|
public static ItemMapGroup Monsters { get; private set; }
|
||||||
|
|
||||||
public static ItemMapGroup Gatgets { get; private set; }
|
public static ItemMapGroup Gadgets { get; private set; }
|
||||||
|
|
||||||
public static ItemMap Scenes { get; private set; }
|
public static ItemMap Scenes { get; private set; }
|
||||||
|
|
||||||
|
@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||||||
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
||||||
//通过使用 "*",如下所示:
|
//通过使用 "*",如下所示:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.7.2")]
|
[assembly: AssemblyVersion("1.7.3")]
|
||||||
[assembly: AssemblyFileVersion("1.7.0")]
|
[assembly: AssemblyFileVersion("1.7.0")]
|
@ -32,10 +32,13 @@ namespace GrasscutterTools.Utils
|
|||||||
filter = filter.Trim();
|
filter = filter.Trim();
|
||||||
listBox.BeginUpdate();
|
listBox.BeginUpdate();
|
||||||
listBox.Items.Clear();
|
listBox.Items.Clear();
|
||||||
|
if (source != null && source.Length > 0)
|
||||||
|
{
|
||||||
if (string.IsNullOrEmpty(filter))
|
if (string.IsNullOrEmpty(filter))
|
||||||
listBox.Items.AddRange(source);
|
listBox.Items.AddRange(source);
|
||||||
else
|
else
|
||||||
listBox.Items.AddRange(source.Where(n => n.Contains(filter)).ToArray());
|
listBox.Items.AddRange(source.Where(n => n.Contains(filter)).ToArray());
|
||||||
|
}
|
||||||
listBox.EndUpdate();
|
listBox.EndUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user