mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-06-30 22:42:05 +00:00
Set a targetable status for nukes (#1174)
## Description: Set a targetable status for units (specifically atom bomb and hydro) A nuke is targetable near launch and target but is untargetable mid air. An untargetable unit is half transparent to show that it cannot be destroyed.  ## Please complete the following: - [x] I have added screenshots for all UI updates - [x] I process any text displayed to the user through translateText() and I've added it to the en.json file - [x] I have added relevant tests to the test directory - [x] I confirm I have thoroughly tested these changes and take full responsibility for any bugs introduced - [x] I understand that submitting code with bugs that could have been caught through manual testing blocks releases and new features for all contributors ## Please put your Discord username so you can be contacted if a bug or regression is found: Vivacious Box
This commit is contained in:
@@ -37,18 +37,6 @@ export class SAMLauncherExecution implements Execution {
|
||||
this.mg = mg;
|
||||
}
|
||||
|
||||
private nukeTargetInRange(nuke: Unit) {
|
||||
const targetTile = nuke.targetTile();
|
||||
if (this.sam === null || targetTile === undefined) {
|
||||
return false;
|
||||
}
|
||||
const targetRangeSquared = this.targetRangeRadius * this.targetRangeRadius;
|
||||
return (
|
||||
this.mg.euclideanDistSquared(this.sam.tile(), targetTile) <
|
||||
targetRangeSquared
|
||||
);
|
||||
}
|
||||
|
||||
private getSingleTarget(): Unit | null {
|
||||
if (this.sam === null) return null;
|
||||
const nukes = this.mg
|
||||
@@ -60,7 +48,7 @@ export class SAMLauncherExecution implements Execution {
|
||||
({ unit }) =>
|
||||
unit.owner() !== this.player &&
|
||||
!this.player.isFriendly(unit.owner()) &&
|
||||
this.nukeTargetInRange(unit),
|
||||
unit.isTargetable(),
|
||||
);
|
||||
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user