syntax = "proto3"; package models.proto.cofd; //TODO do we want a single "morality" value, or keep it separate //inside the system-specific fields? //Information and values specific to the core game. message CoreFields { int32 integrity = 1; } //Information and values specific to Mage 2E. message MageFields { int32 widsom = 1; } //Information and values specific to Changeling 2E. message ChangelingFields { int32 clarity = 1; } //Base sheet for Chronicles of Darkness systems. message CofdSheet { message Merit { int32 dots = 1; string name = 2; } message Condition { string name = 1; } ///Entry for a skill message Skill { int32 dots = 1; string name = 2; sint32 untrained_penalty = 3; repeated string specializations = 4; } //A generic item with a name, physical description, and rules text. message Item { string name = 1; string description = 2; string rules = 3; } //An entry for an attack. Usually a weapon. message Attack { string name = 1; int32 dice_pool = 2; int32 damage = 3; int32 range = 4; sint32 initiative_modifier = 5; int32 size = 6; } string name = 1; string player = 2; string campaign = 3; string description = 4; int32 strength = 6; int32 dexterity = 7; int32 stamina = 8; int32 intelligence = 9; int32 wits = 10; int32 resolve = 11; int32 presence = 12; int32 manipulation = 13; int32 composure = 14; map physical_skills = 16; map mental_skills = 17; map social_skills = 18; repeated Merit merits = 15; repeated Condition conditions = 19; int32 size = 20; int32 health = 21; int32 willpower = 22; int32 experience_points = 23; int32 beats = 24; repeated Item items = 25; repeated Attack attacks = 26; map other_data = 27; oneof system_fields { CoreFields core = 28; MageFields mage = 29; ChangelingFields changeling = 30; } }