TH1/Unity/Assets/Scripts/TH1_Logic/Skill/AllSkill/RemiliaAttackSkill.cs
2025-10-17 18:21:42 +08:00

48 lines
1.2 KiB
C#

/*
* @Author: 白哉
* @Description:
* @Date: 2025年10月12日 星期六 10:10:12
* @Modify:
*/
using System;
using MemoryPack;
using RuntimeData;
namespace Logic.Skill
{
public partial class RemiliaAttackSkill : SkillBase
{
public RemiliaAttackSkill()
{
IsPermanent = true;
TurnsLimit = 0;
Score = 2;
}
public override SkillType GetSkillType()
{
return SkillType.REMILIAATTACK;
}
public override float GetAttackAdditionParam(MapData mapData, UnitData self, UnitData target = null)
{
if (target == null) return 0;
if (target.GetSkill(SkillType.REMILIAHUNTER, out _)) return 2;
return 0;
}
public override void OnDamageOther(MapData mapData, SettlementInfo info)
{
if(info.DamageType != DamageType.ActiveAttack || info.DamageOrigin.Health <= 0 || info.DamageTarget.Health <= 0) return;
if (info.DamageTarget.GetSkill(SkillType.REMILIAHUNTER, out _))
{
info.DamageTarget.RemoveSkill(SkillType.REMILIAHUNTER);
}
else info.DamageTarget.AddSkill(SkillType.REMILIAHUNTER);
}
}
}