Skip to content

Commit

Permalink
Implementing D'Qar Cargo Frigate (#595)
Browse files Browse the repository at this point in the history
  • Loading branch information
supercodepoet and AMMayberry1 authored Feb 15, 2025
1 parent ad58d64 commit ba264ed
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 0 deletions.
20 changes: 20 additions & 0 deletions server/game/cards/04_JTL/units/DQarCargoFrigate.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import AbilityHelper from '../../../AbilityHelper';
import { NonLeaderUnitCard } from '../../../core/card/NonLeaderUnitCard';

export default class DQarCargoFrigate extends NonLeaderUnitCard {
protected override getImplementationId() {
return {
id: '5422802110',
internalName: 'dqar-cargo-frigate',
};
}

protected override setupCardAbilities() {
this.addConstantAbility({
title: 'This unit gets -1/-0 for each damage on it.',
ongoingEffect: AbilityHelper.ongoingEffects.modifyStats((target) => ({
power: -(target.damage), hp: 0
}))
});
}
}
28 changes: 28 additions & 0 deletions test/server/cards/04_JTL/units/DQarCargoFrigate.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
describe('D\'Qar Cargo Frigate', function () {
integration(function (contextRef) {
it('D\'Qar Cargo Frigate\'s ability should give this unit gets -1/-0 for each damage on it', function () {
contextRef.setupTest({
phase: 'action',
player1: {
spaceArena: ['dqar-cargo-frigate']
},
player2: {
spaceArena: ['fetts-firespray#pursuing-the-bounty']
}
});

const { context } = contextRef;

expect(context.dqarCargoFrigate.damage).toBe(0);
expect(context.dqarCargoFrigate.getPower()).toBe(6);

context.player1.clickCard(context.dqarCargoFrigate);
context.player1.clickCard(context.fettsFirespray);

expect(context.player2).toBeActivePlayer();
expect(context.fettsFirespray).toBeInZone('discard');
expect(context.dqarCargoFrigate.damage).toBe(5);
expect(context.dqarCargoFrigate.getPower()).toBe(1);
});
});
});

0 comments on commit ba264ed

Please sign in to comment.