TH1/Unity/Assets/Scripts/TH1_Logic/Skill/AllSkill/LaevatainPreySkill.cs
2025-09-03 20:57:12 +08:00

49 lines
1.2 KiB
C#

/*
* @Author: 白哉
* @Description:
* @Date: 2025年04月23日 星期三 21:04:18
* @Modify:
*/
using RuntimeData;
using System;
using TH1_Logic.Core;
using UnityEngine;
using MemoryPack;
namespace Logic.Skill
{
[Serializable]
[MemoryPackable]
public partial class LaevatainPreySkill : SkillBase
{
public LaevatainPreySkill()
{
IsPermanent = false;
TurnsLimit = 0;
}
public override SkillType GetSkillType()
{
return SkillType.LAEVATAINPREY;
}
public void AddLevel()
{
Level += 1;
Level = Mathf.Min(Level, 4);
}
public override void OnDamaged(MapData mapData, SettlementInfo info)
{
if (info.DamageOrigin == null || info.DamageTarget == null) return;
if (info.DamageType != DamageType.ActiveAttack) return;
if (info.IsKill) return;
if (!info.DamageOrigin.GetSkill(SkillType.LAEVATAIN, out _)) return;
Main.UnitLogic.DamageSettlement(mapData,info.DamageOrigin, info.DamageTarget,2 * Level, DamageType.FollowAttack);
}
}
}