import {Kill, PlayerState} from "../Data/Parser"; import {killAlias} from "./killAlias"; export interface KillFeedProps { kills: Kill[], tick: number; players: PlayerState[]; } export function KillFeed(props: KillFeedProps) { const {kills} = props; const relevantKills = () => kills.filter(kill => kill.tick <= props.tick && kill.tick >= (props.tick - 30 * 10)); return
{(kill) => }
} const teamMap = { 0: 'unknown', 2: 'red', 3: 'blue' }; export function KillFeedItem({kill, players}: { kill: Kill, players: PlayerState[] }) { const alias = killAlias[kill.weapon] ? killAlias[kill.weapon] : kill.weapon; const attacker = getPlayer(players, kill.attacker); const assister = getPlayer(players, kill.assister); let victim = getPlayer(players, kill.victim); let killIcon; try { killIcon = `/images/kill_icons/${alias}.png`; } catch (e) { console.log(alias); killIcon = `/images/kill_icons/skull.png`; } if (!victim) { victim = { team: 0, info: { name: 'Missing player' } }; } return
{(attacker && kill.attacker !== kill.victim) ? {attacker.info.name} : ''} {(assister && kill.assister !== kill.victim) ? : ''} {(assister && kill.assister !== kill.victim) ? ( {assister.info.name} ) : ''} {victim.info.name}
} function getPlayer(players: PlayerState[], entityId: number): PlayerState { return players.find(player => player.info.userId == entityId); }