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.


![targetable](https://github.com/user-attachments/assets/cc6769ff-95ab-4294-9a8e-10f909711f68)

## 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:
Vivacious Box
2025-06-15 08:23:13 +02:00
committed by GitHub
parent 4317285b17
commit 7fa11ed035
9 changed files with 107 additions and 16 deletions
+8
View File
@@ -535,6 +535,11 @@ export class UnitLayer implements Layer {
);
if (unit.isActive()) {
const targetable = unit.targetable();
if (!targetable) {
this.context.save();
this.context.globalAlpha = 0.4;
}
this.context.drawImage(
sprite,
Math.round(x - sprite.width / 2),
@@ -542,6 +547,9 @@ export class UnitLayer implements Layer {
sprite.width,
sprite.width,
);
if (!targetable) {
this.context.restore();
}
}
}
}