// MessageType syntax = "proto3"; package protobuf; enum BulletType { NULL_BULLET_TYPE = 0; LINE_BULLET = 1; COMMON_BULLET = 2; FAST_BULLET = 3; ORDINARY_BULLET = 4; ATOM_BOMB = 5; } enum PlaceType // 地图中的所有物件类型 { NULL_PLACE_TYPE = 0; // 地图情况,其中Gate是总体的大门,HiddenGate是地窖 LAND = 1; WALL = 2; GRASS = 3; CLASSROOM = 4; GATE = 5; HIDDEN_GATE = 6; WINDOW = 7; DOOR = 8; // 待补充有特殊效果的地形 } enum ShapeType // 形状类型 { NULL_SHAPE_TYPE = 0; CIRCLE = 1; // 人类、屠夫、可拾取道具等为圆形 SQUARE = 2; // 地形均为方形 } enum PropType // 地图中的可拾取道具类型 { NULL_PROP_TYPE = 0; PTYPE1 = 1; PTYPE2 = 2; PTYPE3 = 3; PTYPE4 = 4; } enum StudentBuffType // 人类可用的增益效果类型 { NULL_SBUFF_TYPE = 0; SBUFFTYPE1 = 1; SBUFFTYPE2 = 2; SBUFFTYPE3 = 3; SBUFFTYPE4 = 4; } enum StudentState { NULL_STATUS = 0; IDLE = 1; // 正常状态 LEARNING = 2; // 学习状态,相当于在修机器 ADDICTED = 3; // 血条归零后原地沉迷游戏 QUIT = 4; // 退学状态,相当于寄了 GRADUATED = 5; // 毕业状态,相当于逃脱了 TREATED = 6; RESCUED = 7; STUNNED = 8; TREATING = 9; RESCUING = 10; } enum TrickerBuffType // 屠夫可用的增益效果类型 { NULL_TBUFF_TYPE = 0; TBUFFTYPE1 = 1; TBUFFTYPE2 = 2; TBUFFTYPE3 = 3; TBUFFTYPE4 = 4; } // 特别说明:由于Student阵营和Tricker阵营有显著的隔离,且暂定职业、主动技能和被动效果相互绑定,故不按照THUAI5的方式区分ActiveSkillType和CharacterType,而是选择了按照阵营来给不同阵营赋予不同的职业(及技能)。 enum PlayerType { NULL_PLAYER_TYPE = 0; STUDENT_PLAYER = 1; TRICKER_PLAYER = 2; } enum StudentType { NULL_STUDENT_TYPE = 0; STUDENTTYPE1 = 1; STUDENTTYPE2 = 2; STUDENTTYPE3 = 3; STUDENTTYPE4 = 4; } enum TrickerType { NULL_TRICKER_TYPE = 0; TRICKERTYPE1 = 1; TRICKERTYPE2 = 2; TRICKERTYPE3 = 3; TRICKERTYPE4 = 4; } // 游戏进行状态 enum GameState { NULL_GAME_STATE = 0; GAME_START = 1; STAGE_1 = 2; // 第一阶段:大门没有开 STAGE_2 = 3; // 第二阶段:大门已经开了 GAME_END = 4; }