无需消耗

This commit is contained in:
milimoe 2026-01-18 04:19:12 +08:00
parent 91cb2eadf7
commit e8af2eb243
Signed by: milimoe
GPG Key ID: 9554D37E4B8991D0
3 changed files with 12 additions and 9 deletions

View File

@ -76,6 +76,8 @@ namespace Oshima.FunGame.OshimaModules.Effects.PassiveEffects
};
e.CopiedSkill.Values[nameof()] = 1;
e.CopiedSkill.CurrentCD = 0;
e.CopiedSkill.FreeCostEP = true;
e.CopiedSkill.FreeCostMP = true;
e.CopiedSkill.Enable = true;
e.CopiedSkill.IsInEffect = false;
e.OnEffectGained(Source);

View File

@ -1,4 +1,5 @@
using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Interface.Entity;
using Milimoe.FunGame.Core.Library.Constant;
namespace Oshima.FunGame.OshimaModules.Skills
@ -38,22 +39,20 @@ namespace Oshima.FunGame.OshimaModules.Skills
return 0;
}
public override void AlterSelectListBeforeAction(Character character, List<Character> enemys, List<Character> teammates, List<Skill> skills, Dictionary<Character, int> continuousKilling, Dictionary<Character, int> earnedMoney)
public override void AlterSelectListBeforeSelection(Character character, ISkill skill, List<Character> enemys, List<Character> teammates)
{
.Clear();
IEnumerable<Character> list = [.. enemys.Where(e => e.HP > 0).OrderBy(e => e.HP / e.MaxHP)];
if (list.Any())
AddHalfOfMe([.. enemys.Where(e => e.HP > 0).OrderBy(e => e.HP / e.MaxHP)]);
if (.Count > 0)
{
Character first = list.First();
WriteLine($"[ {character} ] 的弱者猎手标记了以下角色:[ {string.Join(" ] / [ ", 猎手标记)} ] ");
if (IsCharacterInAIControlling(character))
{
enemys.Clear();
enemys.Add(first);
int count = skill.RealCanSelectTargetCount(enemys, teammates);
enemys.AddRange(.Take(count));
WriteLine($"[ {character} ] 发动了弱者猎手![ {string.Join(" ] / [ ", enemys)} ] 被盯上了!");
}
.Add(first);
WriteLine($"[ {character} ] 发动了弱者猎手![ {first} ] 被盯上了!");
AddHalfOfMe(enemys);
if (.Count > 0) WriteLine($"[ {character} ] 的弱者猎手标记了以下角色:[ {string.Join(" ] / [ ", 猎手标记)} ] ");
}
}

View File

@ -52,6 +52,8 @@ namespace Oshima.FunGame.OshimaModules.Skills
};
e.CopiedSkill.Values[nameof()] = 1;
e.CopiedSkill.CurrentCD = 0;
e.CopiedSkill.FreeCostEP = true;
e.CopiedSkill.FreeCostMP = true;
e.CopiedSkill.Enable = true;
e.CopiedSkill.IsInEffect = false;
e.OnEffectGained(Skill.Character);