秘境测试

This commit is contained in:
milimoe 2025-07-18 00:02:08 +08:00
parent e715b3ce43
commit 884fc63ad6
Signed by: milimoe
GPG Key ID: 9554D37E4B8991D0

View File

@ -2,6 +2,7 @@
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
using Milimoe.FunGame.Core.Model;
using Oshima.Core.Constant;
using Oshima.FunGame.OshimaModules.Characters;
using Oshima.FunGame.OshimaModules.Effects.PassiveEffects;
using Oshima.FunGame.OshimaModules.Regions;
@ -70,6 +71,9 @@ namespace Milimoe.FunGame.Testing.Tests
public static async Task CharacterTest2()
{
int times = 0;
int approval = 0;
InstanceType instanceType = InstanceType.Explore;
Character character1 = new CustomCharacter(1, "测试1-Carry", primaryAttribute: PrimaryAttribute.AGI)
{
Id = 2,
@ -152,12 +156,22 @@ namespace Milimoe.FunGame.Testing.Tests
user.Inventory.Characters.Add(character2);
user.Inventory.Characters.Add(character3);
user.Inventory.Characters.Add(character4);
user.Inventory.Squad = [character1.Id, character2.Id, character3.Id, character4.Id];
Character[] squad = [character1, character2, character3, character4];
while (true)
{
character1.Recovery();
character2.Recovery();
character3.Recovery();
character4.Recovery();
character1.Effects.Clear();
character2.Effects.Clear();
character3.Effects.Clear();
character4.Effects.Clear();
times++;
Console.WriteLine($"账户金币:{user.Inventory.Credits},材料:{user.Inventory.Materials}.");
if (instanceType == InstanceType.Explore)
{
OshimaRegion region = FunGameConstant.Regions.OrderBy(o => Random.Shared.Next()).First();
ExploreModel model = new()
{
@ -165,6 +179,8 @@ namespace Milimoe.FunGame.Testing.Tests
CharacterIds = [1, 2, 3, 4],
StartTime = DateTime.Now
};
approval += ((int)region.Difficulty + 1) * 4;
Console.WriteLine($"第 {times} 次探索,难度:{CharacterSet.GetRarityTypeName(region.Difficulty)},消耗 {((int)region.Difficulty + 1) * 4} 探索许可,累计已消耗 {approval} 探索许可。");
await FunGameService.GenerateExploreModel(model, region, [1, 2, 3, 4], user);
Console.WriteLine(model.GetExploreInfo(user.Inventory.Characters, FunGameConstant.Regions));
Console.WriteLine(model.String);
@ -172,6 +188,50 @@ namespace Milimoe.FunGame.Testing.Tests
pc2.LoadConfig();
FunGameService.SettleExploreAll(pc2, user, true);
pc2.SaveConfig();
}
else if (instanceType == InstanceType.Currency)
{
int difficulty = Random.Shared.Next(1, 6);
approval += difficulty * 4;
Console.WriteLine($"第 {times} 次探索,秘境:金币秘境,难度:{CharacterSet.GetRarityTypeName((RarityType)(difficulty - 1))},消耗 {difficulty * 4} 探索许可,累计已使用 {approval} 探索许可。");
Console.WriteLine(await FunGameService.FightInstance(instanceType, difficulty, user, squad));
}
else if (instanceType == InstanceType.Material)
{
int difficulty = Random.Shared.Next(1, 6);
approval += difficulty * 4;
Console.WriteLine($"第 {times} 次探索,秘境:材料秘境,难度:{CharacterSet.GetRarityTypeName((RarityType)(difficulty - 1))},消耗 {difficulty * 4} 探索许可,累计已使用 {approval} 探索许可。");
Console.WriteLine(await FunGameService.FightInstance(instanceType, difficulty, user, squad));
}
else if (instanceType == InstanceType.EXP)
{
int difficulty = Random.Shared.Next(1, 6);
approval += difficulty * 4;
Console.WriteLine($"第 {times} 次探索,秘境:经验秘境,难度:{CharacterSet.GetRarityTypeName((RarityType)(difficulty - 1))},消耗 {difficulty * 4} 探索许可,累计已使用 {approval} 探索许可。");
Console.WriteLine(await FunGameService.FightInstance(instanceType, difficulty, user, squad));
}
else if (instanceType == InstanceType.RegionItem)
{
int difficulty = Random.Shared.Next(1, 6);
approval += difficulty * 4;
Console.WriteLine($"第 {times} 次探索,秘境:地区锻造材料秘境,难度:{CharacterSet.GetRarityTypeName((RarityType)(difficulty - 1))},消耗 {difficulty * 4} 探索许可,累计已使用 {approval} 探索许可。");
Console.WriteLine(await FunGameService.FightInstance(instanceType, difficulty, user, squad));
}
else if (instanceType == InstanceType.CharacterLevelBreak)
{
int difficulty = Random.Shared.Next(1, 6);
approval += difficulty * 4;
Console.WriteLine($"第 {times} 次探索,秘境:角色突破材料秘境,难度:{CharacterSet.GetRarityTypeName((RarityType)(difficulty - 1))},消耗 {difficulty * 4} 探索许可,累计已使用 {approval} 探索许可。");
Console.WriteLine(await FunGameService.FightInstance(instanceType, difficulty, user, squad));
}
else if (instanceType == InstanceType.SkillLevelUp)
{
int difficulty = Random.Shared.Next(1, 6);
approval += difficulty * 4;
Console.WriteLine($"第 {times} 次探索,秘境:技能升级材料秘境,难度:{CharacterSet.GetRarityTypeName((RarityType)(difficulty - 1))},消耗 {difficulty * 4} 探索许可,累计已使用 {approval} 探索许可。");
Console.WriteLine(await FunGameService.FightInstance(instanceType, difficulty, user, squad));
}
Console.WriteLine($"账户金币:{user.Inventory.Credits},材料:{user.Inventory.Materials}.");
ConsoleKey key = Console.ReadKey().Key;
if (key == ConsoleKey.Escape)
{
@ -220,6 +280,41 @@ namespace Milimoe.FunGame.Testing.Tests
if (character4.EquipSlot.Accessory1 != null) user.Inventory.Items.Add(character4.EquipSlot.Accessory1);
if (character4.EquipSlot.Accessory2 != null) user.Inventory.Items.Add(character4.EquipSlot.Accessory2);
}
else if (key == ConsoleKey.Z)
{
instanceType = InstanceType.Explore;
Console.WriteLine("已切换至探索模式。");
}
else if (key == ConsoleKey.X)
{
instanceType = InstanceType.Currency;
Console.WriteLine("已切换至金币秘境模式。");
}
else if (key == ConsoleKey.C)
{
instanceType = InstanceType.Material;
Console.WriteLine("已切换至材料秘境模式。");
}
else if (key == ConsoleKey.A)
{
instanceType = InstanceType.EXP;
Console.WriteLine("已切换至经验秘境模式。");
}
else if (key == ConsoleKey.S)
{
instanceType = InstanceType.RegionItem;
Console.WriteLine("已切换至地区锻造材料秘境模式。");
}
else if (key == ConsoleKey.D)
{
instanceType = InstanceType.CharacterLevelBreak;
Console.WriteLine("已切换至角色突破材料秘境模式。");
}
else if (key == ConsoleKey.F)
{
instanceType = InstanceType.SkillLevelUp;
Console.WriteLine("已切换至技能升级材料秘境模式。");
}
}
}
@ -232,9 +327,9 @@ namespace Milimoe.FunGame.Testing.Tests
{
case RoleType.Core:
// 核心
magicIds = [1031, 1037, 1036];
magicIds = [1031, 1002, 1003];
values = [(0, 39, 0), (0, 40, 0), (0, 41, 0)];
m = FunGameService.GenerateMagicCardPack(3, QualityType.Red, magicIds, values);
m = FunGameService.GenerateMagicCardPack(3, QualityType.Gold, magicIds, values);
if (m != null) character.Equip(m);
w = FunGameConstant.Equipment.FirstOrDefault(i => i.Id == 11573);
if (w != null) character.Equip(w);
@ -251,7 +346,7 @@ namespace Milimoe.FunGame.Testing.Tests
// 近卫
magicIds = [1004, 1038, 1010];
values = [(39, 0, 0), (40, 0, 0), (41, 0, 0)];
m = FunGameService.GenerateMagicCardPack(3, QualityType.Red, magicIds, values);
m = FunGameService.GenerateMagicCardPack(3, QualityType.Gold, magicIds, values);
if (m != null) character.Equip(m);
w = FunGameConstant.Equipment.FirstOrDefault(i => i.Id == 11579);
if (w != null) character.Equip(w);
@ -268,7 +363,7 @@ namespace Milimoe.FunGame.Testing.Tests
// 辅助
magicIds = [1049, 1020, 1031];
values = [(37, 0, 2), (0, 10, 30), (0, 10, 31)];
m = FunGameService.GenerateMagicCardPack(3, QualityType.Red, magicIds, values);
m = FunGameService.GenerateMagicCardPack(3, QualityType.Gold, magicIds, values);
if (m != null) character.Equip(m);
w = FunGameConstant.Equipment.FirstOrDefault(i => i.Id == 11578);
if (w != null) character.Equip(w);
@ -285,7 +380,7 @@ namespace Milimoe.FunGame.Testing.Tests
// 治疗
magicIds = [1012, 1044, 1045];
values = [(0, 0, 39), (0, 0, 40), (0, 0, 41)];
m = FunGameService.GenerateMagicCardPack(3, QualityType.Red, magicIds, values);
m = FunGameService.GenerateMagicCardPack(3, QualityType.Gold, magicIds, values);
if (m != null) character.Equip(m);
w = FunGameConstant.Equipment.FirstOrDefault(i => i.Id == 11578);
if (w != null) character.Equip(w);