+
+ // global actions (always possible, even if not playing)
+ switch (key) {
+ case KT_redraw:
+ clear();
+ InitFields();
+// ScheduleFullRedraw();
+ refresh();
+ return;
+ case KT_say:
+ chatMode = 1;
+ Messagetype(key, strlen(chatText) - 1, chatText);
+ return;
+ case KT_quit:
+ ShowPause(me);
+ refresh();
+ gameStatus = 0;
+ return;
+ }
+
+ if (Players[me].alive <= 0) return;
+ // actions available while in game
+ switch (key) {
+ case KT_pause:
+ Players[me].flags ^= SCF_paused;
+ if (Game.started > 1)
+ Message(Players[me].flags & SCF_paused
+ ? "You paused the game" : "You unpaused the game");
+ else
+ Message(Players[me].flags & SCF_paused
+ ? "You are not ready" : "You are ready");
+ checkPaused();
+ if (game == GT_classicTwo)
+ SendPacket(me, NP_pause, 0, NULL);
+ ShowPause(me);
+ changed = 1;
+ return;
+ }
+
+ if (paused) return;
+ // actions only available while actually playing