wicked-waifus-rs/shorekeeper-protocol/proto/data.proto
xavo95 c6b66eacb4
[PATCH] feat: implement formation and switch roles functionality
- Add support for multi-character formations and role switching
- Refactor entity management system to handle multiple entities per map
- Update attribute component to use a map-based approach for properties
- Implement formation-related handlers and notifications
- Add world entity management per map instance
- Update player save/load logic to handle formations
- Add visibility controls for active character display
2024-10-24 13:15:50 +02:00

85 lines
1.7 KiB
Protocol Buffer

syntax = "proto3";
package data;
message VectorData {
float x = 1;
float y = 2;
float z = 3;
}
message TransformData {
VectorData position = 1;
VectorData rotation = 2;
}
message PlayerBasicData {
int32 id = 1;
string name = 2;
int32 sex = 3;
int32 level = 4;
int32 exp = 5;
int32 head_photo = 6;
int32 head_frame = 7;
int32 cur_map_id = 8;
repeated int32 role_show_list = 9;
}
message RoleSkillNodeData {
int32 node_id = 1;
bool is_active = 2;
int32 skill_id = 3;
}
message RoleData {
int32 role_id = 1;
string name = 2;
int32 level = 3;
int32 exp = 4;
int32 breakthrough = 5;
map<int32, int32> skill_map = 6;
map<int32, int32> phantom_map = 7;
int32 star = 8;
int32 favor = 9;
uint32 create_time = 10;
int32 cur_model = 11;
repeated int32 models = 12;
repeated RoleSkillNodeData skill_node_state = 13;
int32 resonant_chain_group_index = 14;
int32 equip_weapon = 15;
}
message RoleFormationData {
int32 formation_id = 1;
int32 cur_role = 2;
repeated int32 role_id_list = 3;
bool is_current = 4;
}
message PlayerRoleData {
repeated RoleData role_list = 1;
map<int32, RoleFormationData> role_formation_list = 2;
int32 cur_formation_id = 3;
}
message PlayerLocationData {
int32 instance_id = 1;
TransformData position = 2;
}
message PlayerFuncData {
map<int32, int32> func_map = 1;
}
message PlayerExploreToolsData {
repeated int32 unlocked_skill_list = 1;
int32 active_skill_id = 2;
repeated int32 roulette = 3;
}
message PlayerSaveData {
PlayerBasicData basic_data = 1;
PlayerRoleData role_data = 2;
PlayerLocationData location_data = 3;
PlayerFuncData func_data = 4;
PlayerExploreToolsData explore_tools_data = 5;
}