1 import { Server } from 'socket.io';
2 import { maxHp, maxVigor, Player } from '../shared/player';
3 import { createMonsters } from '../../seeds/monsters';
4 import { createAllCitiesAndLocations } from '../../seeds/cities';
5 import { createShopItems, createShopEquipment } from '../../seeds/shop_items';
6 import { broadcastMessage, Message } from '../shared/message';
7 import { updatePlayer } from './player';
9 export async function handleChatCommands(msg: string, player: Player, io: Server): Promise<Message> {
11 if(msg === '/server refresh-monsters') {
12 await createMonsters();
13 message = broadcastMessage('server', 'Monster refresh!');
15 else if(msg === '/server refresh-cities') {
16 await createAllCitiesAndLocations();
17 message = broadcastMessage('server', 'Cities, Locations, and Paths refreshed!');
19 else if(msg === '/server refresh-shops') {
20 await createShopItems();
21 await createShopEquipment();
22 message = broadcastMessage('server', 'Refresh shop items');
24 else if(msg.startsWith('/server set-level')) {
25 const level = parseInt(msg.split(' ').pop());
27 message = broadcastMessage('server', 'Needs to be at least level 1');
30 message = broadcastMessage('server', `Set player level: ${level}`);
34 player.constitution = 4;
36 player.intelligence = 4;
37 player.hp = maxHp(player.constitution, player.level);
38 player.vigor = maxVigor(player.constitution, player.level);
39 player.stat_points = level-1;
41 await updatePlayer(player);
45 const str = msg.split('/server ')[1];
47 message = broadcastMessage('server', str);