ttc-ai-client
Version:
TypeScript client sdk for TTC AI services with decorators and schema validation.
93 lines • 3.8 kB
JavaScript
"use strict";
/**
* Sad Bot Animations
* Collection of melancholic animations for the TTC chat bot
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSadAnimation = exports.getRandomSadAnimation = exports.sadAnimations = exports.slowSinking = exports.antennaDrooping = exports.eyesLookingDown = exports.smallHeadShake = exports.slowHeadDroop = void 0;
// Sad Animation 1: Slow Head Droop
exports.slowHeadDroop = {
name: 'slow-head-droop',
loop: true,
speed: 400,
frames: [
{ tilt: 0, eyeX: 0, eyeY: 0, antennaRotation: 0, duration: 400 },
{ tilt: 5, eyeX: 0, eyeY: 1, antennaRotation: 5, duration: 400 },
{ tilt: 10, eyeX: 0, eyeY: 2, antennaRotation: 10, duration: 400 },
{ tilt: 5, eyeX: 0, eyeY: 1, antennaRotation: 5, duration: 400 },
{ tilt: 0, eyeX: 0, eyeY: 0, antennaRotation: 0, duration: 400 },
]
};
// Sad Animation 2: Small Side-to-Side Head Shake
exports.smallHeadShake = {
name: 'small-head-shake',
loop: true,
speed: 300,
frames: [
{ tilt: 0, eyeX: 0, eyeY: 0, antennaRotation: 0, duration: 300 },
{ tilt: -3, eyeX: -1, eyeY: 0, antennaRotation: -5, duration: 300 },
{ tilt: 0, eyeX: 0, eyeY: 0, antennaRotation: 0, duration: 300 },
{ tilt: 3, eyeX: 1, eyeY: 0, antennaRotation: 5, duration: 300 },
{ tilt: 0, eyeX: 0, eyeY: 0, antennaRotation: 0, duration: 300 },
]
};
// Sad Animation 3: Eyes Looking Down
exports.eyesLookingDown = {
name: 'eyes-looking-down',
loop: true,
speed: 600,
frames: [
{ tilt: 0, eyeX: 0, eyeY: 0, antennaRotation: 0, duration: 600 },
{ tilt: 0, eyeX: 0, eyeY: 3, antennaRotation: 0, duration: 600 },
{ tilt: 0, eyeX: 0, eyeY: 0, antennaRotation: 0, duration: 600 },
{ tilt: 0, eyeX: 0, eyeY: 3, antennaRotation: 0, duration: 600 },
]
};
// Sad Animation 4: Antenna Drooping
exports.antennaDrooping = {
name: 'antenna-drooping',
loop: true,
speed: 500,
frames: [
{ tilt: 0, eyeX: 0, eyeY: 0, antennaRotation: 0, duration: 500 },
{ tilt: 0, eyeX: 0, eyeY: 0, antennaRotation: 15, duration: 500 },
{ tilt: 0, eyeX: 0, eyeY: 0, antennaRotation: 30, duration: 500 },
{ tilt: 0, eyeX: 0, eyeY: 0, antennaRotation: 15, duration: 500 },
{ tilt: 0, eyeX: 0, eyeY: 0, antennaRotation: 0, duration: 500 },
]
};
// Sad Animation 5: Slow Sinking Motion
exports.slowSinking = {
name: 'slow-sinking',
loop: true,
speed: 360,
frames: [
{ tilt: 0, eyeX: 0, eyeY: 0, antennaRotation: 0, duration: 360 },
{ tilt: 2, eyeX: 0, eyeY: 1, antennaRotation: 3, duration: 360 },
{ tilt: 4, eyeX: 0, eyeY: 2, antennaRotation: 6, duration: 360 },
{ tilt: 2, eyeX: 0, eyeY: 1, antennaRotation: 3, duration: 360 },
{ tilt: 0, eyeX: 0, eyeY: 0, antennaRotation: 0, duration: 360 },
{ tilt: -2, eyeX: 0, eyeY: -1, antennaRotation: -3, duration: 360 },
{ tilt: -4, eyeX: 0, eyeY: -2, antennaRotation: -6, duration: 360 },
{ tilt: -2, eyeX: 0, eyeY: -1, antennaRotation: -3, duration: 360 },
]
};
// Collection of all sad animations
exports.sadAnimations = [
exports.slowHeadDroop,
exports.smallHeadShake,
exports.eyesLookingDown,
exports.antennaDrooping,
exports.slowSinking
];
// Get random sad animation
function getRandomSadAnimation() {
return exports.sadAnimations[Math.floor(Math.random() * exports.sadAnimations.length)];
}
exports.getRandomSadAnimation = getRandomSadAnimation;
// Get specific sad animation by name
function getSadAnimation(name) {
return exports.sadAnimations.find(animation => animation.name === name);
}
exports.getSadAnimation = getSadAnimation;
//# sourceMappingURL=sadAnimations.js.map