Compare commits

...

2 Commits

Author SHA1 Message Date
ThePendulum a45d00c105 1.26.8 2023-06-26 22:56:37 +02:00
ThePendulum 00b92f445e Using distance for duck times. 2023-06-26 22:56:35 +02:00
3 changed files with 14 additions and 6 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "schat2-clive",
"version": "1.26.7",
"version": "1.26.8",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "schat2-clive",
"version": "1.26.7",
"version": "1.26.8",
"license": "ISC",
"dependencies": {
"better-sqlite3": "^8.3.0",

View File

@ -1,6 +1,6 @@
{
"name": "schat2-clive",
"version": "1.26.7",
"version": "1.26.8",
"description": "Game host for SChat 2-powered chat sites",
"main": "src/app.js",
"scripts": {

View File

@ -1,6 +1,7 @@
'use strict';
const config = require('config');
const { intervalToDuration } = require('date-fns');
const style = require('../utils/style');
const pickRandom = require('../utils/pick-random');
@ -56,11 +57,18 @@ function onCommand(args, context) {
}
const hit = Math.random() > config.duck.missRatio;
const time = ((new Date().getTime() - duck.getTime()) / 1000).toFixed(3);
const time = new Date().getTime() - duck.getTime();
const distance = time < 600 * 1000 // show exact time up to ten minutes
? `${(time / 1000).toFixed(3)} seconds`
: Object.entries(intervalToDuration({ start: duck, end: new Date() }))
.filter(([, value]) => value > 0)
.map(([key, value]) => `${value} ${key}`)
.join(', ');
if (['bang', 'shoot'].includes(context.command)) {
if (hit) {
context.sendMessage(`You shot a duck in ${style.bold(`${time} seconds`)}, ${context.user.prefixedUsername}`, context.room.id);
context.sendMessage(`${context.user.prefixedUsername}: You shot a duck in ${style.bold(style.red(distance))}`, context.room.id);
launchDuck(context);
context.setPoints(context.user, 1, { key: 'bang' });
@ -83,7 +91,7 @@ function onCommand(args, context) {
if (['bef', 'befriend'].includes(context.command)) {
if (hit) {
context.sendMessage(`You befriended a duck in ${style.bold(style.green(`${time} seconds`))}, ${context.user.prefixedUsername}`, context.room.id);
context.sendMessage(`${context.user.prefixedUsername}: You befriended a duck in ${style.bold(style.sky(distance))}`, context.room.id);
launchDuck(context);
context.setPoints(context.user, 1, { key: 'befriend' });