@battle-racing/br-common-lib
Version:
Common library for all Battle Racing Repositorios
51 lines (46 loc) • 1.44 kB
text/typescript
import type {
BallSensorDiskThrowerModuleCommands,
DiskSensorBallShooterModuleCommands,
FlagModuleCommands,
LeftStarBackLaserModuleCommands,
RGBModuleCommands,
RightStarFrontLaserModuleCommands,
SoundModuleCommands,
SpeedModuleCommands,
SteeringWheelModuleCommands,
} from '../command';
import type { Damage } from '../damage';
import type { PowerUpName } from './PowerUpName';
import type { PowerUpShield } from './PowerUpShield';
export type PowerUpLevel = 1 | 2 | 3 | 4 | 5;
/**
* The Power-up command exclude the ScreenModuleCommands because
* the system needs to know to know in which kind of game is the kart.
*/
export type PowerUpCommand =
| BallSensorDiskThrowerModuleCommands
| DiskSensorBallShooterModuleCommands
| FlagModuleCommands
| RGBModuleCommands
| SpeedModuleCommands
| LeftStarBackLaserModuleCommands
| RightStarFrontLaserModuleCommands
| SteeringWheelModuleCommands
| SoundModuleCommands;
export interface PowerUp {
id: string;
name: PowerUpName;
imageName: string;
description: string;
level: PowerUpLevel;
/** Commands to be executed when the power-up is assigned */
assignationCommands: PowerUpCommand[];
/** Whenever the user activates the assigned power-up */
activationCommands: PowerUpCommand[];
shield?: PowerUpShield;
/**
* Represents damage that needs the backend to be propagated
* to other(s) kart(s)
*/
networkDamage?: Damage;
}