TH1/Unity/Assets/Scripts/TH1_Logic/Skill/AllSkill/AssaultFortressSkill.cs
daixiawu 491503a06d bug修复
1.修复了部分会导致船只出现在陆地的bug
2.修复了部分会导致已经死亡的单位图像错误残留的bug
3.修复了[车]职阶英雄在敌方城市中心能获得要塞防御加成的bug
4.修复了[车]职阶英雄在被动移动时也会产生溅射伤害的bug
5.修复了移动溅射在被动移动(如被挤开)也会生效的bug,完善了描述
6.修复了勇仪推人致死结果贴图错误
7.修复了洩矢诹访子创造御射宫司大人时会重置和平奇观计数的bug
8.优化了顶部信息栏金币显示排版问题
9.优化了多个窗口重叠时,快捷键“右键”及"Esc"关闭窗口的顺序
10.修复了间谍攻击隐身单位占据的城市中心时出错(反复播放攻击动画)的bug
11.修复了城墙建造后城市中心的单位没有立刻刷新状态的bug
2026-06-07 00:15:12 +08:00

55 lines
1.6 KiB
C#

/*
* @Author: Codex
* @Description:
* @Date: 2026年06月04日
* @Modify:
*/
using RuntimeData;
namespace Logic.Skill
{
public partial class AssaultFortressSkill : SkillBase
{
public AssaultFortressSkill()
{
IsPermanent = true;
TurnsLimit = 0;
Score = 4;
}
public override SkillType GetSkillType()
{
return SkillType.AssaultFortress;
}
public override float GetDefenseMultiplicationParam(MapData mapData, UnitData self, UnitData target = null)
{
if (!mapData.GetGridDataByUnitId(self.Id, out var grid))
return 1f;
if (mapData.GetCityDataByGid(grid.Id, out var city))
{
if (!city.CityWall) return 1.5f;
if (!mapData.GetPlayerDataByCityId(city.Id, out var cityPlayer) ||
!mapData.GetPlayerDataByUnitId(self.Id, out var unitPlayer))
return 1.5f;
return mapData.SameUnion(cityPlayer.Id, unitPlayer.Id) ? 4f : 1.5f;
}
if (grid.Resource == ResourceType.NavalBase || grid.Resource == ResourceType.Military ||
grid.Resource == ResourceType.RemiliaMilitary)
return 1.5f;
return 1f;
}
public override bool IgnorePositiveTargetDefenseBonus(MapData mapData, UnitData self, UnitData target)
{
return true;
}
public override int GetHeroUpgradeRecoverAddition(MapData mapData, UnitData self)
{
return 5;
}
}
}