diff --git a/logic/GameClass/GameObj/Areas/Construction.cs b/logic/GameClass/GameObj/Areas/Construction.cs index 1161c235..2c1c407d 100755 --- a/logic/GameClass/GameObj/Areas/Construction.cs +++ b/logic/GameClass/GameObj/Areas/Construction.cs @@ -72,6 +72,7 @@ public bool BeAttacked(Bullet bullet) { lock (lockOfConstructionType) constructionType = ConstructionType.Null; + IsActivated.Set(false); } return HP.IsBelowMaxTimes(0.5); } diff --git a/logic/Gaming/AttackManager.cs b/logic/Gaming/AttackManager.cs index b6b79d62..29f2dd21 100755 --- a/logic/Gaming/AttackManager.cs +++ b/logic/Gaming/AttackManager.cs @@ -89,12 +89,20 @@ private void BombObj(Bullet bullet, GameObj objBeingShot) case GameObjType.Construction: var constructionType = ((Construction)objBeingShot).ConstructionType; var flag = ((Construction)objBeingShot).BeAttacked(bullet); - if (constructionType == ConstructionType.Community && flag) - game.RemoveBirthPoint( - ((Construction)objBeingShot).TeamID, - ((Construction)objBeingShot).Position); - else if (constructionType == ConstructionType.Factory && flag) - game.RemoveFactory(((Construction)objBeingShot).TeamID); + if (flag) + { + ((Construction)objBeingShot).IsActivated.SetROri(false); + if (constructionType == ConstructionType.Community) + { + game.RemoveBirthPoint( + ((Construction)objBeingShot).TeamID, + ((Construction)objBeingShot).Position); + } + else if (constructionType == ConstructionType.Factory) + { + game.RemoveFactory(((Construction)objBeingShot).TeamID); + } + } break; case GameObjType.Wormhole: ((WormholeCell)objBeingShot).Wormhole.BeAttacked(bullet);