syntax = "proto3"; import "cofd.proto"; package models.proto.cofd.api; //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 BasicInfo { string name = 1; string gender = 2; string concept = 3; string chronicle = 4; int32 age = 5; } //Update all attributes in a Chronicles of Darkness character (or //derivative system) character sheet. This is a straight overwrite of //all basic information on the sheet. message Attributes { int32 strength = 1; int32 dexterity = 2; int32 stamina = 3; int32 intelligence = 4; int32 wits = 5; int32 resolve = 6; int32 presence = 7; int32 manipulation = 8; int32 composure = 9; } //Update an attribute's dot amount. TODO rename to AttributesUpdate. message Attribute { string name = 1; int32 value = 2; } //Update skill entries in a Chronicles of Darkness character sheet. //This is a straight overwrite of all skills in the sheet. message Skills { repeated CofdSheet.Skill physical_skills = 1; repeated CofdSheet.Skill mental_skills = 2; repeated CofdSheet.Skill social_skills = 3; } //Full update of a single skill message SkillUpdate { string name = 1; CofdSheet.Skill skill = 2; } //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 SkillSpecializationsUpdate { string name = 1; repeated string specializations = 2; } //Add a Condition to a Chronicles of Darkness character sheet. message Condition { string name = 1; } service CofdApi { rpc UpdateSkillValue(UpdateSkillValueRequest) returns (CofdSheet.Skill); }