UNPKG

@firestone-hs/replay-parser

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.2.9.

38 lines 7.44 kB
import { ActionHelper } from '../../services/action/action-helper'; import { Action } from './action'; export class PowerTargetAction extends Action { constructor(allCards) { super(allCards); } static create(newAction, allCards) { return Object.assign(new PowerTargetAction(allCards), newAction); } update(entities) { return Object.assign(new PowerTargetAction(this.allCards), this, { entities }); } enrichWithText(allEntitiesSoFar) { const originCardId = ActionHelper.getCardId(this.entities, this.originId, allEntitiesSoFar); const targetCardIds = this.targetIds.map(entityId => ActionHelper.getCardId(this.entities, entityId, allEntitiesSoFar)); const originCardName = this.allCards.getCard(originCardId).name; const cardIds = targetCardIds.map(cardId => this.allCards.getCard(cardId)); const targetCardNames = cardIds.some(card => !card || !card.name) ? `${cardIds.length} cards` : cardIds.map(card => card.name).join(', '); let damageText = ''; if (this.damages) { damageText = this.damages .map((amount, entityId) => { const entityCardId = ActionHelper.getCardId(this.entities, entityId, allEntitiesSoFar); const entityCard = this.allCards.getCard(entityCardId); return `${entityCard.name} takes ${amount} damage`; }) .join(', '); } const textRaw = `\t${originCardName} targets ${targetCardNames}. ${damageText}`; return Object.assign(new PowerTargetAction(this.allCards), this, { textRaw }); } getInstance() { return new PowerTargetAction(this.allCards); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG93ZXItdGFyZ2V0LWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlcGxheS1wYXJzZXIvc3JjL2xpYi9tb2RlbHMvYWN0aW9uL3Bvd2VyLXRhcmdldC1hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBR25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHbEMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLE1BQU07SUFHNUMsWUFBWSxRQUF5QjtRQUNwQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLFFBQXlCO1FBQ3hELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBNkI7UUFDMUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVNLGNBQWMsQ0FBQyxnQkFBcUM7UUFDMUQsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM1RixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUNuRCxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQ2pFLENBQUM7UUFDRixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDaEUsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDM0UsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNoRSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxRQUFRO1lBQzNCLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTztpQkFDdkIsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFO2dCQUN6QixNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3ZGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN2RCxPQUFPLEdBQUcsVUFBVSxDQUFDLElBQUksVUFBVSxNQUFNLFNBQVMsQ0FBQztZQUNwRCxDQUFDLENBQUM7aUJBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2I7UUFDRCxNQUFNLE9BQU8sR0FBRyxLQUFLLGNBQWMsWUFBWSxlQUFlLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDaEYsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVTLFdBQVc7UUFDcEIsT0FBTyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXAgfSBmcm9tICdpbW11dGFibGUnO1xyXG5pbXBvcnQgeyBBY3Rpb25IZWxwZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hY3Rpb24vYWN0aW9uLWhlbHBlcic7XHJcbmltcG9ydCB7IEFsbENhcmRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsbC1jYXJkcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi4vZ2FtZS9lbnRpdHknO1xyXG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICcuL2FjdGlvbic7XHJcbmltcG9ydCB7IEhhc1RhcmdldHMgfSBmcm9tICcuL2hhcy10YXJnZXRzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBQb3dlclRhcmdldEFjdGlvbiBleHRlbmRzIEFjdGlvbiBpbXBsZW1lbnRzIEhhc1RhcmdldHMge1xyXG5cdHJlYWRvbmx5IG9yaWdpbklkOiBudW1iZXI7XHJcblxyXG5cdGNvbnN0cnVjdG9yKGFsbENhcmRzOiBBbGxDYXJkc1NlcnZpY2UpIHtcclxuXHRcdHN1cGVyKGFsbENhcmRzKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBzdGF0aWMgY3JlYXRlKG5ld0FjdGlvbiwgYWxsQ2FyZHM6IEFsbENhcmRzU2VydmljZSk6IFBvd2VyVGFyZ2V0QWN0aW9uIHtcclxuXHRcdHJldHVybiBPYmplY3QuYXNzaWduKG5ldyBQb3dlclRhcmdldEFjdGlvbihhbGxDYXJkcyksIG5ld0FjdGlvbik7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgdXBkYXRlKGVudGl0aWVzOiBNYXA8bnVtYmVyLCBFbnRpdHk+KTogUG93ZXJUYXJnZXRBY3Rpb24ge1xyXG5cdFx0cmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IFBvd2VyVGFyZ2V0QWN0aW9uKHRoaXMuYWxsQ2FyZHMpLCB0aGlzLCB7IGVudGl0aWVzIH0pO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGVucmljaFdpdGhUZXh0KGFsbEVudGl0aWVzU29GYXI6IE1hcDxudW1iZXIsIEVudGl0eT4pOiBQb3dlclRhcmdldEFjdGlvbiB7XHJcblx0XHRjb25zdCBvcmlnaW5DYXJkSWQgPSBBY3Rpb25IZWxwZXIuZ2V0Q2FyZElkKHRoaXMuZW50aXRpZXMsIHRoaXMub3JpZ2luSWQsIGFsbEVudGl0aWVzU29GYXIpO1xyXG5cdFx0Y29uc3QgdGFyZ2V0Q2FyZElkcyA9IHRoaXMudGFyZ2V0SWRzLm1hcChlbnRpdHlJZCA9PlxyXG5cdFx0XHRBY3Rpb25IZWxwZXIuZ2V0Q2FyZElkKHRoaXMuZW50aXRpZXMsIGVudGl0eUlkLCBhbGxFbnRpdGllc1NvRmFyKSxcclxuXHRcdCk7XHJcblx0XHRjb25zdCBvcmlnaW5DYXJkTmFtZSA9IHRoaXMuYWxsQ2FyZHMuZ2V0Q2FyZChvcmlnaW5DYXJkSWQpLm5hbWU7XHJcblx0XHRjb25zdCBjYXJkSWRzID0gdGFyZ2V0Q2FyZElkcy5tYXAoY2FyZElkID0+IHRoaXMuYWxsQ2FyZHMuZ2V0Q2FyZChjYXJkSWQpKTtcclxuXHRcdGNvbnN0IHRhcmdldENhcmROYW1lcyA9IGNhcmRJZHMuc29tZShjYXJkID0+ICFjYXJkIHx8ICFjYXJkLm5hbWUpXHJcblx0XHRcdD8gYCR7Y2FyZElkcy5sZW5ndGh9IGNhcmRzYFxyXG5cdFx0XHQ6IGNhcmRJZHMubWFwKGNhcmQgPT4gY2FyZC5uYW1lKS5qb2luKCcsICcpO1xyXG5cdFx0bGV0IGRhbWFnZVRleHQgPSAnJztcclxuXHRcdGlmICh0aGlzLmRhbWFnZXMpIHtcclxuXHRcdFx0ZGFtYWdlVGV4dCA9IHRoaXMuZGFtYWdlc1xyXG5cdFx0XHRcdC5tYXAoKGFtb3VudCwgZW50aXR5SWQpID0+IHtcclxuXHRcdFx0XHRcdGNvbnN0IGVudGl0eUNhcmRJZCA9IEFjdGlvbkhlbHBlci5nZXRDYXJkSWQodGhpcy5lbnRpdGllcywgZW50aXR5SWQsIGFsbEVudGl0aWVzU29GYXIpO1xyXG5cdFx0XHRcdFx0Y29uc3QgZW50aXR5Q2FyZCA9IHRoaXMuYWxsQ2FyZHMuZ2V0Q2FyZChlbnRpdHlDYXJkSWQpO1xyXG5cdFx0XHRcdFx0cmV0dXJuIGAke2VudGl0eUNhcmQubmFtZX0gdGFrZXMgJHthbW91bnR9IGRhbWFnZWA7XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHQuam9pbignLCAnKTtcclxuXHRcdH1cclxuXHRcdGNvbnN0IHRleHRSYXcgPSBgXFx0JHtvcmlnaW5DYXJkTmFtZX0gdGFyZ2V0cyAke3RhcmdldENhcmROYW1lc30uICR7ZGFtYWdlVGV4dH1gO1xyXG5cdFx0cmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IFBvd2VyVGFyZ2V0QWN0aW9uKHRoaXMuYWxsQ2FyZHMpLCB0aGlzLCB7IHRleHRSYXcgfSk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgZ2V0SW5zdGFuY2UoKTogQWN0aW9uIHtcclxuXHRcdHJldHVybiBuZXcgUG93ZXJUYXJnZXRBY3Rpb24odGhpcy5hbGxDYXJkcyk7XHJcblx0fVxyXG59XHJcbiJdfQ==