character.json 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. {
  2. "$schema": "http://json-schema.org/draft-06/schema#",
  3. "properties": {
  4. "name": {"type": "string"},
  5. "player": {"type": "string"},
  6. "classes": {
  7. "items": {
  8. "properties": {
  9. "level": {"type": "integer", "minimum": 1},
  10. "name": {"type": "string"},
  11. "spellBook": {"$ref": "file:spellbook.json#"}
  12. },
  13. "type": "object"
  14. },
  15. "type": "array"
  16. },
  17. "race": {"type": "string"},
  18. "alignment": {
  19. "type": "string",
  20. "enum": [
  21. "LG", "NG", "CG", "LN", "TN", "CN", "LE", "NE", "CE"
  22. ]
  23. },
  24. "deity": {"type": "string"},
  25. "size": {
  26. "type": "string",
  27. "enum": [
  28. "F", "D", "T", "S", "M", "L", "H", "G", "C"
  29. ]
  30. },
  31. "age": {"type": "string"},
  32. "gender": {"type": "string", "enum": ["M", "F", "N"]},
  33. "height": {"type": "string"},
  34. "weight": {"type": "number"},
  35. "eyes": {"type": "string"},
  36. "hair": {"type": "string"},
  37. "skin": {"type": "string"},
  38. "experience": {"type": "integer"},
  39. "health": {
  40. "properties": {
  41. "total": {"type": "integer", "minimum": 1},
  42. "rolled": {"type": "integer", "minimum": 1},
  43. "current": {"type": "integer", "minimum": -10},
  44. "temp": {"type": "integer", "minimum": 0},
  45. "nonlethal": {"type": "integer", "minimum": 0}
  46. },
  47. "type":"object"
  48. },
  49. "abilities": {
  50. },
  51. "skills": {
  52. "items": {
  53. "properties": {
  54. "name": {"type": "string"},
  55. "ranks": {"type": "integer"},
  56. "pointsSpent": {"type": "integer"}
  57. },
  58. "type": "object"
  59. },
  60. "type": "array"
  61. },
  62. "inventory": {"$ref": "file:inventory.json#"}
  63. },
  64. "type": "object"
  65. }