100 lines
2.0 KiB
Protocol Buffer
100 lines
2.0 KiB
Protocol Buffer
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<string, Skill> physical_skills = 16;
|
|
map<string, Skill> mental_skills = 17;
|
|
map<string, Skill> 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<string, string> other_data = 27;
|
|
|
|
oneof system_fields {
|
|
CoreFields core = 28;
|
|
MageFields mage = 29;
|
|
ChangelingFields changeling = 30;
|
|
}
|
|
}
|