townSiege.json 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. {
  2. "type" : "object",
  3. "additionalProperties" : false,
  4. "$schema" : "http://json-schema.org/draft-04/schema",
  5. "title" : "VCMI siege screen format",
  6. "description" : "Format used to define town siege screen in VCMI",
  7. "required" : [
  8. "shooter", "towerIconLarge", "towerIconSmall", "imagePrefix",
  9. "static", "towers", "walls", "gate", "moat"
  10. ],
  11. "definitions" :
  12. {
  13. "point" : {
  14. "type" : "object",
  15. "additionalProperties" : false,
  16. "required" : [ "x", "y" ],
  17. "properties" : {
  18. "x" : { "type" : "number" },
  19. "y" : { "type" : "number" }
  20. }
  21. },
  22. "tower" : {
  23. "type" : "object",
  24. "additionalProperties" : false,
  25. "required" : [ "battlement", "creature", "tower" ],
  26. "properties" : {
  27. "tower" : {
  28. "description" : "Location of main segment of tower",
  29. "$ref" : "#/definitions/point"
  30. },
  31. "battlement" : {
  32. "description" : "Location of battlement, part of tower that covers shooter",
  33. "$ref" : "#/definitions/point"
  34. },
  35. "creature" : {
  36. "description" : "Location of shooter in tower",
  37. "$ref" : "#/definitions/point"
  38. }
  39. }
  40. }
  41. },
  42. "properties" : {
  43. "shooter" : {
  44. "type" : "string",
  45. "description" : "Identifier of creature that will be used as tower shooter"
  46. },
  47. "towerIconSmall" : {
  48. "type" : "string",
  49. "description" : "Small icon for tower, used in battle queue",
  50. "format" : "imageFile"
  51. },
  52. "towerIconLarge" : {
  53. "type" : "string",
  54. "description" : "Large icon for tower, used in battle queue",
  55. "format" : "imageFile"
  56. },
  57. "imagePrefix" : {
  58. "type" : "string",
  59. "description" : "Prefix to all images related to siege screen"
  60. },
  61. "static" : {
  62. "type" : "object",
  63. "additionalProperties" : false,
  64. "description" : "Static sections of walls",
  65. "properties" : {
  66. "background" : {
  67. "description" : "Very top section of the wall located above hero",
  68. "$ref" : "#/definitions/point"
  69. },
  70. "top" : {
  71. "description" : "Top section located between destructible sections",
  72. "$ref" : "#/definitions/point"
  73. },
  74. "bottom" : {
  75. "description" : "Bottom section located between destructible sections",
  76. "$ref" : "#/definitions/point"
  77. }
  78. }
  79. },
  80. "towers" : {
  81. "type" : "object",
  82. "additionalProperties" : false,
  83. "description" : "Decription of towers",
  84. "properties" : {
  85. "top" : { "$ref" : "#/definitions/tower", "description" : "Top tower" },
  86. "keep" : { "$ref" : "#/definitions/tower", "description" : "Central keep" },
  87. "bottom" : { "$ref" : "#/definitions/tower", "description" : "Bottom tower" }
  88. }
  89. },
  90. "walls" : {
  91. "type" : "object",
  92. "additionalProperties" : false,
  93. "description" : "Destructible sections of the walls",
  94. "properties" : {
  95. "upper" : {
  96. "description" : "Topmost section located near top tower",
  97. "$ref" : "#/definitions/point"
  98. },
  99. "upperMid" : {
  100. "description" : "Second from top section located near gates",
  101. "$ref" : "#/definitions/point"
  102. },
  103. "bottomMid" : {
  104. "description" : "Second from bottom section located near gates",
  105. "$ref" : "#/definitions/point"
  106. },
  107. "bottom" : {
  108. "description" : "Bottommost section located near bottom tower",
  109. "$ref" : "#/definitions/point"
  110. }
  111. }
  112. },
  113. "gate" : {
  114. "type" : "object",
  115. "additionalProperties" : false,
  116. "description" : "Town gates",
  117. "properties" : {
  118. "arch" : {
  119. "description" : "Static, top part of gates",
  120. "$ref" : "#/definitions/point"
  121. },
  122. "gate" : {
  123. "description" : "Main section of gates",
  124. "$ref" : "#/definitions/point"
  125. }
  126. }
  127. },
  128. "moat" : {
  129. "type" : "object",
  130. "additionalProperties" : false,
  131. "description" : "Castle moat description",
  132. "properties" : {
  133. "bank" : {
  134. "description" : "Small section with bank of the moat",
  135. "$ref" : "#/definitions/point"
  136. },
  137. "moat" : {
  138. "description" : "Main section of the moat",
  139. "$ref" : "#/definitions/point"
  140. }
  141. }
  142. }
  143. }
  144. }