doc/protocol.txt
author Wuzzy <Wuzzy2@mail.ru>
Fri, 09 Mar 2018 19:05:59 +0100
changeset 13145 5083fb0a2992
parent 10342 16122539d2ea
child 15908 014f4edd0421
permissions -rw-r--r--
A Classic Fairytale: Harden all missions against missing campaign variables in team file and assume default values This assumes the worst case in which the team file is missing all campaign variables except Progress. This has been successfully tested with all 10 missions and still generates a logical storyline. By default, the game assumes: - The cyborg's offer in mission 2 was refused - The traitor in mission 5 was killed As a consequence, missions 8 and 10 use the princessScene cut scene.

    '?'             ping?
    '!'             pong!
    'l','L'         срабатывание команд     -left, +left
    'r','R'                                 -right, +right
    'u','U'                                 -up, +up
    'd','D'                                 -down, +down
    'z', 'Z'                                -precise, +precise
    'N'             срабатывание команды /nextturn
    'S'                                  /switch
    's' + <текст>   /say
    '+'             пустой пакет для постоянности лага
    '1'..'5'        /timer 1..5
    chr(128+№)     /slot №
    'w'             /setweap
    'p'             /put
    'j'             /ljump
    'J'             /hjump
    'E' + <текст>   сообщение об ошибке
    ','             /skip
    't' + №         /taunt №
    'f' + <team>    'team' is uncontrolled
    'g' + <team>    'team' is controlled again (synced msg)

фронтенд клиенту:
    'e' + <команда> выполнить "/<команда>"
    'T' + {L,N,D}   тип игры (локальная, сетевая, просмотр демо)
    'W' + <текст>   сообщение о нефатальной ошибке
    'F' + <team>    команда team вылетела в сетевой игре
    'G' + <team>    'team' is back (unsynced msg)
    'o'             stop syncing, game over!

Клиент фронтенду:
    'C'             запрос текущего конфига игры
    'q'             выход по причине окончания демки
    'i'             статистика
    'K'             вывести сообщение из KB
    'Q'             выход через команду /quit
    'q'             выход по причине окончания игры