//Attempts to provide a complete framework for reading everything from a fortress needed for vizualization package AdventureControl; option optimize_for = LITE_RUNTIME; import "RemoteFortressReader.proto"; // Plugin: RemoteFortressReader enum AdvmodeMenu { Default = 0; Look = 1; ConversationAddress = 2; ConversationSelect = 3; ConversationSpeak = 4; Inventory = 5; Drop = 6; ThrowItem = 7; Wear = 8; Remove = 9; Interact = 10; Put = 11; PutContainer = 12; Eat = 13; ThrowAim = 14; Fire = 15; Get = 16; Unk17 = 17; CombatPrefs = 18; Companions = 19; MovementPrefs = 20; SpeedPrefs = 21; InteractAction = 22; MoveCarefully = 23; Announcements = 24; UseBuilding = 25; Travel = 26; Unk27 = 27; Unk28 = 28; SleepConfirm = 29; SelectInteractionTarget = 30; Unk31 = 31; Unk32 = 32; FallAction = 33; ViewTracks = 34; Jump = 35; Unk36 = 36; AttackConfirm = 37; AttackType = 38; AttackBodypart = 39; AttackStrike = 40; Unk41 = 41; Unk42 = 42; DodgeDirection = 43; Unk44 = 44; Unk45 = 45; Build = 46; } enum CarefulMovementType { DEFAULT_MOVEMENT = 0; RELEASE_ITEM_HOLD = 1; RELEASE_TILE_HOLD = 2; ATTACK_CREATURE = 3; HOLD_TILE = 4; MOVE = 5; CLIMB = 6; HOLD_ITEM = 7; BUILDING_INTERACT = 8; ITEM_INTERACT = 9; ITEM_INTERACT_GUIDE = 10; ITEM_INTERACT_RIDE = 11; ITEM_INTERACT_PUSH = 12; } enum MiscMoveType { SET_CLIMB = 0; SET_STAND = 1; SET_CANCEL = 2; } message MoveCommandParams { optional RemoteFortressReader.Coord direction = 1; } message MovementOption { optional RemoteFortressReader.Coord dest = 1; optional RemoteFortressReader.Coord source = 2; optional RemoteFortressReader.Coord grab = 3; optional CarefulMovementType movement_type = 4; } message MenuContents { optional AdvmodeMenu current_menu = 1; repeated MovementOption movements = 2; } message MiscMoveParams { optional MiscMoveType type = 1; }