diff --git a/Unity/Assets/Scripts/TH1_Logic/Skill/AllSkill/KomeijiKnightKillSkill.cs b/Unity/Assets/Scripts/TH1_Logic/Skill/AllSkill/KomeijiKnightKillSkill.cs index 3ec93025d..6e7450a8f 100644 --- a/Unity/Assets/Scripts/TH1_Logic/Skill/AllSkill/KomeijiKnightKillSkill.cs +++ b/Unity/Assets/Scripts/TH1_Logic/Skill/AllSkill/KomeijiKnightKillSkill.cs @@ -40,7 +40,7 @@ namespace Logic.Skill if (!info.DamageOriginGrid.RealUnit(mapData,out var _) && mapData.CheckLandTypeForGrid(fullType, info.DamageOriginGrid)) { if (mapData.AddUnitData(info.DamageOriginGrid.Id, capitalCity.Id, fullType, out var newUnit)) - newUnit.SetFullActionPoint(); + OnKomeijiRiderCreated(mapData, player, newUnit); } else { @@ -56,10 +56,21 @@ namespace Logic.Skill } ReturnAroundBuf(); if (randomList.Count == 0) return; - var index = mapData.Net.GetRandom(mapData).Next(0, randomList.Count - 1); + var index = mapData.Net.GetRandom(mapData).Next(0, randomList.Count); if (mapData.AddUnitData(randomList[index].Id, capitalCity.Id, fullType, out var newUnit)) - newUnit.SetFullActionPoint(); + OnKomeijiRiderCreated(mapData, player, newUnit); } } + + private static void OnKomeijiRiderCreated(MapData mapData, PlayerData player, UnitData newUnit) + { + newUnit.SetFullActionPoint(); + + var grid = newUnit.Grid(mapData); + if (grid == null) return; + + Main.PlayerLogic.UpdateSightByRadius_LogicView(mapData, player, grid, newUnit.GetSightRange(mapData, grid)); + newUnit.Renderer(mapData)?.InstantUpdateUnit(true); + } } }