mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-07-16 03:20:11 +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:
@@ -69,4 +69,27 @@ describe("NukeExecution", () => {
|
||||
expect(sam.touch).toHaveBeenCalled();
|
||||
expect(defensePost.touch).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
test("nuke should only be targetable near src and dst", async () => {
|
||||
const nukeExec = new NukeExecution(
|
||||
UnitType.AtomBomb,
|
||||
player,
|
||||
game.ref(199, 199),
|
||||
game.ref(1, 1),
|
||||
);
|
||||
game.addExecution(nukeExec);
|
||||
// targetable distance is 14400
|
||||
|
||||
//near launch should be targetable (distance src < 14400)
|
||||
executeTicks(game, 2);
|
||||
expect(nukeExec.getNuke()!.isTargetable()).toBeTruthy();
|
||||
|
||||
//mid air should not be targetable (distance src > 14400, distance target > 14400)
|
||||
executeTicks(game, 38);
|
||||
expect(nukeExec.getNuke()!.isTargetable()).toBeFalsy();
|
||||
|
||||
//near target should be targetable (distance target < 14400)
|
||||
executeTicks(game, 10);
|
||||
expect(nukeExec.getNuke()!.isTargetable()).toBeTruthy();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user