# Copyright (c) 2010, Takaya Kakizaki(kacky)
# All rights reserved.
#
#  ソースコード形式かバイナリ形式か、変更するかしないかを問わず、以下の条件を満たす場合に限り、再頒布および使用が許可されます。 
#
#  ・ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、および下記免責条項を含めること。 
#
#  ・バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の資料に、上記の著作権表示、本条件一覧、および下記免責条項を含めること。 
#
#  ・書面による特別の許可なしに、本ソフトウェアから派生した製品の宣伝または販売促進に、オープン麻雀の名前またはコントリビューターの名前を使用してはならない。
#
#
#  本ソフトウェアは、著作権者およびコントリビューターによって「現状のまま」提供されており、明示黙示を問わず、
#  商業的な使用可能性、および特定の目的に対する適合性に関する暗黙の保証も含め、またそれに限定されない、いかなる保証もありません。
#  著作権者もコントリビューターも、事由のいかんを問わず、 損害発生の原因いかんを問わず、かつ責任の根拠が契約であるか厳格責任であるか
#  （過失その他の）不法行為であるかを問わず、仮にそのような損害が発生する可能性を知らされていたとしても、本ソフトウェアの使用によって発生した
#  （代替品または代用サービスの調達、使用の喪失、データの喪失、利益の喪失、業務の中断も含め、またそれに限定されない）
#  直接損害、間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害について、一切責任を負わないものとします。 

# 定数群

MAX_SESSION = 256; # 最大セッション数
MAX_PLAYERID = 65536; # プレーヤーIDの数

TEHAI_LIMIT = 14;
DORAHAI_LIMIT = 8;
MENTSU_LIMIT = 7;
YAKU_LIMIT = 256;

UKIHAI = 1;
ATAMA = 2;
KOUTSU = 3;
SYUNTSU_START = 4;
SYUNTSU_MIDDLE = 5;
SYUNTSU_END = 6;

PAI_MANZU = 1;
PAI_PINZU = 2;
PAI_SOUZU = 3;
PAI_ZIHAI = 4;
PAINO_LIMIT = 12;
PAI_CATEGORYLIMIT = 5;
PAINO_2_8 = 10;
PAINO_1_9 = 11;

MACHI_KANCHAN = 1;
MACHI_PENCHAN = 2;
MACHI_RYANMEN = 3;
MACHI_SHANPON = 4;
MACHI_TANKI = 5;

MENTSU_SYUNTSU = 1;
MENTSU_KOUTSU = 2;
MENTSU_TOITSU = 3;
MENTSU_MINKAN = 4;
MENTSU_ANKAN = 5;

MANGAN_MANGAN = 1;
MANGAN_HANEMAN = 2;
MANGAN_BAIMAN = 3;
MANGAN_SANBAIMAN = 4;
MANGAN_YAKUMAN = 5;

TYPE_DAHAI = 100;
TYPE_TII = 101;
TYPE_PON = 102;
TYPE_DAIMINKAN = 103;
TYPE_ANKAN = 104;
TYPE_KUWAEKAN = 105;
TYPE_RON = 106;
TYPE_TSUMO = 107;
TYPE_RIICHI = 108;
TYPE_PASS = 109;
TYPE_TOUHAI = 110; # 九種九牌倒牌
TYPE_RENDA = 111; # 四風子連打
TYPE_YONRIICHI = 112; # 四人リーチ
TYPE_KOUHAI = 113; # 荒牌平局
TYPE_YONKANTSU = 114; # 四カンツ流れ
TYPE_SANCHAHO = 115; # 三家和
TYPE_END = 116; # 半チャン終了
TYPE_START = 117; # 局開始

ID_DAHAI = 100;
ID_PASS = 120;
ID_TII = 121;
ID_PON = 170;
ID_DAIMINKAN = 173;
ID_RON = 174;
ID_TSUMO = 175;
ID_TOUHAI = 176;
ID_KAN = 180;
ID_RIICHI = 200;
ID_STATUS = 300;
ID_UPDATE = 301;
ID_START = 400;
ID_AGARIYAME = 401;
ID_CREATE = 500;
ID_CONNECT = 501;
ID_RECONNECT = 503;
ID_DEBUG = 600;
ID_REPEAT = 601;


CODE_NONCREATED = 100
CODE_WAITMEMBER = 101
CODE_WAITCOMMAND = 102
CODE_BUSY = 103
CODE_WAITSYNC = 104
CODE_PROGRESSED = 105

RESPONCE_OK = 200
RESPONCE_TIMEOUT = 300
RESPONCE_COMMANDID = 301
RESPONCE_PLAYERID = 302
RESPONCE_STATUS = 303
RESPONCE_SESSION = 304
RESPONCE_OTHER = 305

MSTATE_SYNC = 100
MSTATE_NOSYNC = 101
MSTATE_DORMANT = 102

LIBID_AGARIHAI = 100
LIBID_AGARITEN = 101

RETRY = 0

STATE_MODE_NORMAL = 0
STATE_MODE_DEBUG = 1
STATE_MODE_WAITSYNC = 2
STATE_MODE_UPDATE = 3

TAG_OPENMAHJONGSERVER = "os"
TAG_OPENMAHJONGCLIENT = "oc"
TAG_RESPONCE = "rsp"
TAG_CODE = "cd"
TAG_STATE = "st"
TAG_NAME = "nm"
TAG_ARG = "arg"
TAG_TAKU = "tk"
TAG_LIBRARY = "lib"
TAG_AGARIHAI = "ah"
TAG_COMMAND = "c"
TAG_TYPE = "tp"
TAG_PLAYER = "pl"
TAG_PRIVATEID = "pid"
TAG_PAI = "p"
TAG_NO = "no"
TAG_TSUMOGIRI = "tg"
TAG_EVENT = "ev"
TAG_TURN = "tn"
TAG_SEED = "seed"
TAG_DORA = "d"
TAG_URADORA = "ud"
TAG_BAKAZE = "bk"
TAG_KYOKUCOUNT = "kc"
TAG_RIICHIBOU = "rb"
TAG_TSUMIBOU = "tb"
TAG_WANPAI = "wp"
TAG_YAMA = "y"
TAG_COUNT = "cnt"
TAG_MESSAGE = "mes"
TAG_TO = "to"
TAG_FROM = "from"
TAG_TEXT = "text"
TAG_ID = "id"
TAG_MENTSU = "mu"
TAG_NAKIMENTSU = "nm"
TAG_CATEGORY = "cat"
TAG_NAKIHAI = "nh"
TAG_AITE = "aite"
TAG_RESULT = "res"
TAG_YAKU = "yk"
TAG_HAN = "h"
TAG_FU = "fu"
TAG_MANGAN = "mg"
TAG_SCORE = "sc"
TAG_OYASCORE = "os"
TAG_KOSCORE = "ks"
TAG_MACHI = "mc"
TAG_TSUMO = "tm"
TAG_DORAKAZU = "dk"
TAG_MACHIHAI = "mh"
TAG_MEMBER = "m"
TAG_POINT = "pt"
TAG_MSTATE = "ms"
TAG_TEHAI = "th"
TAG_DAHAI = "dh"
TAG_TSUMOHAI = "tmh"
TAG_COMMANDLIST = "cl"
TAG_GAMESTATE = "gs"
TAG_ZIKAZE = "z"
TAG_OYA = "oya"
TAG_IPPATSU = "ip"
TAG_ENDPAI = "ep"
TAG_KAN = "kan"
TAG_NAKI = "nk"
TAG_MEMBERNAKI = "mn"
TAG_NAKILIST = "nl"
TAG_RIICHI = "rc"
TAG_RESULTLIST = "rl"
TAG_ERROR = "err"


TAG_RULE = "ru"
TAG_SEQ = "seq"
TAG_GLASSHAI = "glh"
TAG_KUITAN = "kt"
TAG_AKA = "aka"
TAG_AOTENJO = "atj"
TAG_HAIPAI = "hp"
TAG_RIICHIANKAN = "ra"
