tenebrous-sheets/proto/cofd_api.proto

75 lines
1.8 KiB
Protocol Buffer

syntax = "proto3";
import "cofd.proto";
package models.proto.cofd.api;
message CharacterIdentifier {
string owner = 1;
int32 character_id = 2;
}
//Update basic information about a Chronicles of Darkness (or
//derivative system) character sheet. This is a straight overwrite of
//all basic information on the sheet.
message UpdateBasicInfoRequest {
CharacterIdentifier id = 1;
reserved 2;
// string owner = 1;
// int32 character_id = 2;
string name = 3;
string gender = 4;
string concept = 5;
string chronicle = 6;
int32 age = 7;
}
//Generic "did something succeed or not" response.
message ApiResult {
bool success = 1;
string error = 2;
}
//Update an attribute's dot amount. TODO rename to AttributesUpdate.
message UpdateAttributeRequest {
string character_username = 1;
int32 character_id = 2;
string attribute_name = 3;
int32 attribute_value = 4;
}
//Full update of a single skill
message UpdateSkillRequest {
string character_username = 1;
int32 character_id = 2;
CofdSheet.Skill skill = 3;
}
//Partial update of a single skill dot amount.
message UpdateSkillValueRequest {
string character_username = 1;
int32 character_id = 2;
string skill_name = 3;
int32 skill_value = 4;
}
//Partial update of only a skill's specializations. The
//specializations will be overwritten with the new values.
message UpdateSkillSpecializationsRequest {
string name = 1;
repeated string specializations = 2;
}
//Add a Condition to a Chronicles of Darkness character sheet.
message AddConditionRequest {
string character_username = 1;
int32 character_id = 2;
string condition_name = 3;
}
//Remove a Condition from a Chronicles of Darkness character sheet.
message RemoveConditionRequest {
string character_username = 1;
int32 character_id = 2;
string condition_name = 3;
}