home · contact · privacy
In ASCII art drawing mode, pad short lines with whitespace to tolerate them.
[plomrogue2] / rogue_chat.py
1 #!/usr/bin/env python3
2 from plomrogue.game import Game
3 from plomrogue.commands import (cmd_ALL, cmd_LOGIN, cmd_NICK, cmd_PING, cmd_THING,
4                                 cmd_MAP, cmd_TURN, cmd_MAP_LINE, cmd_THING_INSTALLED,
5                                 cmd_ANNOTATE, cmd_PORTAL, cmd_GET_GAMESTATE,
6                                 cmd_TASKS, cmd_MAP_CONTROL_LINE, cmd_MAP_CONTROL_PW,
7                                 cmd_GOD_ANNOTATE, cmd_GOD_PORTAL, cmd_THING_TYPES,
8                                 cmd_THING_NAME, cmd_TERRAINS, cmd_ADMIN_PASSWORD,
9                                 cmd_BECOME_ADMIN, cmd_SET_TILE_CONTROL,
10                                 cmd_GOD_THING_NAME, cmd_THING_DOOR_CLOSED,
11                                 cmd_GOD_THING_PROTECTION, cmd_THING_PROTECTION,
12                                 cmd_SET_MAP_CONTROL_PASSWORD, cmd_SPAWN_POINT,
13                                 cmd_THING_MUSICPLAYER_SETTINGS, cmd_THING_HAT_DESIGN,
14                                 cmd_THING_MUSICPLAYER_PLAYLIST_ITEM, cmd_TERRAIN,
15                                 cmd_THING_BOTTLE_EMPTY, cmd_PLAYER_FACE,
16                                 cmd_GOD_PLAYER_FACE, cmd_GOD_PLAYER_HAT,
17                                 cmd_GOD_PLAYERS_HAT_CHARS, cmd_PLAYER_HAT,
18                                 cmd_TERRAIN_TAG, cmd_THING_DOOR_KEY,
19                                 cmd_THING_CRATE_ITEM, cmd_MAP_CONTROL_PRESETS,
20                                 cmd_THING_SPAWNPOINT_CREATED)
21 from plomrogue.tasks import (Task_WAIT, Task_MOVE, Task_WRITE, Task_PICK_UP,
22                              Task_DROP, Task_FLATTEN_SURROUNDINGS, Task_DOOR,
23                              Task_INTOXICATE, Task_COMMAND, Task_INSTALL,
24                              Task_WEAR, Task_SPIN, Task_DANCE)
25 from plomrogue.things import (Thing_Player, Thing_Item, Thing_ItemSpawner,
26                               Thing_SpawnPoint, Thing_SpawnPointSpawner,
27                               Thing_Door, Thing_DoorSpawner, Thing_Bottle,
28                               Thing_BottleSpawner, Thing_BottleDeposit,
29                               Thing_MusicPlayer, Thing_Hat, Thing_HatRemixer,
30                               Thing_Cookie, Thing_CookieSpawner, Thing_Psychedelic,
31                               Thing_PsychedelicSpawner, Thing_DoorKey,
32                               Thing_Crate, Thing_CrateSpawner, Thing_Stimulant,
33                               Thing_StimulantSpawner)
34
35 from plomrogue.config import config
36 game = Game(config['savefile'])
37 game.register_command(cmd_PING)
38 game.register_command(cmd_ALL)
39 game.register_command(cmd_LOGIN)
40 game.register_command(cmd_NICK)
41 game.register_command(cmd_TURN)
42 game.register_command(cmd_MAP)
43 game.register_command(cmd_TERRAIN)
44 game.register_command(cmd_TERRAIN_TAG)
45 game.register_command(cmd_MAP_LINE)
46 game.register_command(cmd_MAP_CONTROL_LINE)
47 game.register_command(cmd_MAP_CONTROL_PW)
48 game.register_command(cmd_ANNOTATE)
49 game.register_command(cmd_PORTAL)
50 game.register_command(cmd_GOD_ANNOTATE)
51 game.register_command(cmd_GOD_PORTAL)
52 game.register_command(cmd_GET_GAMESTATE)
53 game.register_command(cmd_TASKS)
54 game.register_command(cmd_THING_TYPES)
55 game.register_command(cmd_TERRAINS)
56 game.register_command(cmd_THING)
57 game.register_command(cmd_THING_PROTECTION)
58 game.register_command(cmd_GOD_THING_PROTECTION)
59 game.register_command(cmd_THING_NAME)
60 game.register_command(cmd_THING_DOOR_CLOSED)
61 game.register_command(cmd_THING_INSTALLED)
62 game.register_command(cmd_GOD_THING_NAME)
63 game.register_command(cmd_ADMIN_PASSWORD)
64 game.register_command(cmd_SET_TILE_CONTROL)
65 game.register_command(cmd_SET_MAP_CONTROL_PASSWORD)
66 game.register_command(cmd_BECOME_ADMIN)
67 game.register_command(cmd_SPAWN_POINT)
68 game.register_command(cmd_THING_MUSICPLAYER_SETTINGS)
69 game.register_command(cmd_THING_MUSICPLAYER_PLAYLIST_ITEM)
70 game.register_command(cmd_THING_BOTTLE_EMPTY)
71 game.register_command(cmd_PLAYER_FACE)
72 game.register_command(cmd_GOD_PLAYER_FACE)
73 game.register_command(cmd_GOD_PLAYER_HAT)
74 game.register_command(cmd_GOD_PLAYERS_HAT_CHARS)
75 game.register_command(cmd_PLAYER_HAT)
76 game.register_command(cmd_THING_HAT_DESIGN)
77 game.register_command(cmd_THING_DOOR_KEY)
78 game.register_command(cmd_THING_CRATE_ITEM)
79 game.register_command(cmd_MAP_CONTROL_PRESETS)
80 game.register_command(cmd_THING_SPAWNPOINT_CREATED)
81 game.register_task(Task_WAIT)
82 game.register_task(Task_MOVE)
83 game.register_task(Task_WRITE)
84 game.register_task(Task_FLATTEN_SURROUNDINGS)
85 game.register_task(Task_PICK_UP)
86 game.register_task(Task_DROP)
87 game.register_task(Task_DOOR)
88 game.register_task(Task_INTOXICATE)
89 game.register_task(Task_COMMAND)
90 game.register_task(Task_INSTALL)
91 game.register_task(Task_WEAR)
92 game.register_task(Task_SPIN)
93 game.register_task(Task_DANCE)
94 game.register_thing_type(Thing_Player)
95 game.register_thing_type(Thing_Item)
96 game.register_thing_type(Thing_ItemSpawner)
97 game.register_thing_type(Thing_SpawnPoint)
98 game.register_thing_type(Thing_SpawnPointSpawner)
99 game.register_thing_type(Thing_Door)
100 game.register_thing_type(Thing_DoorKey)
101 game.register_thing_type(Thing_DoorSpawner)
102 game.register_thing_type(Thing_Bottle)
103 game.register_thing_type(Thing_BottleSpawner)
104 game.register_thing_type(Thing_BottleDeposit)
105 game.register_thing_type(Thing_MusicPlayer)
106 game.register_thing_type(Thing_Hat)
107 game.register_thing_type(Thing_HatRemixer)
108 game.register_thing_type(Thing_Cookie)
109 game.register_thing_type(Thing_CookieSpawner)
110 game.register_thing_type(Thing_Psychedelic)
111 game.register_thing_type(Thing_PsychedelicSpawner)
112 game.register_thing_type(Thing_Crate)
113 game.register_thing_type(Thing_CrateSpawner)
114 game.register_thing_type(Thing_Stimulant)
115 game.register_thing_type(Thing_StimulantSpawner)
116 game.read_savefile()
117 game.io.start_loop()
118 for port in config['servers']:
119     game.io.start_server(port, config['servers'][port],
120                          config['certfile'], config['keyfile'])