2025-09-08 11:15:37 +08:00

46 lines
1.2 KiB
C#

/*
* @Author: 白哉
* @Description:
* @Date: 2025年04月23日 星期三 21:04:18
* @Modify:
*/
using RuntimeData;
using System;
using UnityEngine;
using MemoryPack;
namespace Logic.Skill
{
public partial class LaevatainSkill : SkillBase
{
public LaevatainSkill()
{
IsPermanent = true;
TurnsLimit = 0;
}
public override SkillType GetSkillType()
{
return SkillType.LAEVATAIN;
}
public override void OnDamageOther(MapData mapData, SettlementInfo info)
{
if (info.DamageOrigin == null || info.DamageTarget == null) return;
if (info.DamageType != DamageType.ActiveAttack) return;
if (info.IsKill) return;
if (!info.DamageTarget.GetSkill(SkillType.LAEVATAINPREY, out var skill))
{
info.DamageTarget.AddSkill(SkillType.LAEVATAINPREY);
}
var targetSkill = skill as LaevatainPreySkill;
if (targetSkill == null) return;
if (targetSkill.Level >= 4) return;
targetSkill.AddLevel(mapData, info.DamageOrigin, 1);
}
}
}